【问题标题】:asp.net mvc nested view model form sumissionasp.net mvc 嵌套视图模型表单提交
【发布时间】:2012-08-22 00:02:17
【问题描述】:

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

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

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

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-3


    【解决方案1】:

    您可以指定绑定前缀:

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

    【讨论】:

    • 谢谢,绑定前缀正是我想要的。
    猜你喜欢
    • 1970-01-01
    • 2013-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-07
    • 2013-02-19
    相关资源
    最近更新 更多