是否可以只接受来自嵌套 View 模型的回发值?
例如,我只想发布“地址”:
@Html.TextBoxFor(p => p.User.Account.Address.Street)
@Html.ValidationMessageFor(p => p.User.Account.Address.Street)
对此 Controller 操作:
[HttpPost]
public ActionResult SaveAddress(Address address) {
// save to db here
}
目前,只有当我将地址传递给它自己的部分 View 时,这些值才会回发,以便属性看起来像:@Html.TextBoxFor(p => p.Street)
@Html.ValidationMessageFor(p => p.Street)
最佳答案
您可以指定绑定(bind)前缀:
[HttpPost]
public ActionResult SaveAddress([Bind(Prefix = "User.Account")] Address model)
{
...
}
另一种可能性是使用部分:
@Html.Partial("_Address", Model.User.Account.Address)
和里面
_Address.cshtml
:@model Address
@Html.TextBoxFor(p => p.Street)
@Html.ValidationMessageFor(p => p.Street)
关于asp.net-mvc - asp.net mvc 嵌套 View 模型表单提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12057838/