5

是否可以只接受来自嵌套视图模型的回发值?

例如,我只想发布“地址”:

@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)

4

1 回答 1

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)
于 2012-08-21T16:02:17.963 回答