我知道关于 ASP.NET MVC 中的复杂模型绑定也有人问过类似的问题,但我遇到了绑定问题,因为 POST 上没有足够的前缀,我想知道是否有简单的解决方案。
我有一个看起来像这样的视图模型:
public class ViewModel<Survey, Contact>
{
public Survey Model { get; set; }
public Contact Model2 { get; set; }
}
然后我有一个像这样的动作方法接受 POSTed
public ActionResult Survey(
string id, string id2, SurveyViewModel<Survey, Contact> model)
{
// code goes here...
}
在我的表单中,前两个 id 来自 URL 路由,然后我有表单代码(使用@Html.EditorFor(x => x.Model.SurveyName)
或类似),生成的名称如下:
<input class="text-box single-line" id="Model_Email"
name="Model.Email" type="text" value="" />
如果我将名称从 更改为 ,则帖子有效Model.Email
,model.Model.Email
但我试图避免创建自定义模型绑定器。
在那儿
- 我可以在视图中进行设置以更改使用
@Html.EditorFor
类型化视图助手在视图中呈现的所有字段的名称? - 我可以使用操作上的 Bind 属性进行更改,以使其默认绑定到该对象?
答案可能是“构建一个自定义活页夹”,但我只是想在解决这个问题之前提出这个问题。
谢谢您的帮助。此致,
哈尔