是否可以只接受来自嵌套视图模型的回发值?
例如,我只想发布'地址':
@Html.TextBoxFor(p => p.User.Account.Address.Street)
@Html.ValidationMessageFor(p => p.User.Account.Address.Street)
对此控制器操作:
[HttpPost]
public ActionResult SaveAddress(Address address) {
// save to db here
}
目前,如果我将地址传递给它自己的局部视图,那么这些值只会回发,以便属性如下所示:@Html.TextBoxFor(p => p.Street)
@Html.ValidationMessageFor(p => p.Street)
答案 0 :(得分:7)
您可以指定绑定前缀:
[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)