加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-3 – 你能在ASP.net MVC3中使用嵌套视图模型吗?

发布时间:2020-12-16 06:30:17 所属栏目:asp.Net 来源:网络整理
导读:这是我正在做的简化版本. 我创建了一个包含公司数据的视图模型.该公司有3个地址.因此,为了聪明,我创建了一个AddressViewModel和一个_address部分. 我遇到的问题是,虽然我可以将AddressViewModel传递给partial,但它呈现的地址我现在在HTML中有重复的ID …所以
这是我正在做的简化版本.

我创建了一个包含公司数据的视图模型.该公司有3个地址.因此,为了聪明,我创建了一个AddressViewModel和一个_address部分.

我遇到的问题是,虽然我可以将AddressViewModel传递给partial,但它呈现的地址我现在在HTML中有重复的ID …所以现在表单上有三个“Line1”输入字段,当然不会回复正确.

我该如何解决这个问题.是真正展平ViewModel的唯一方法,

MainAddressLine1
MailAddressLine1
BillAddressLine1

在公司视图模型?而且,如果我这样做,我还能以某种方式使用_address部分吗?

解决方法

使用编辑器模板而不是部分模板:

@model MainViewModel
@using (Html.BeginForm())
{
    @Html.EditorFor(x => x.MainAddress)
    @Html.EditorFor(x => x.MailAddress)
    @Html.EditorFor(x => x.BillAddress)

    <button type="submit">OK</button>
}

然后在?/ Views / Shared / EditorTemplates / AddressViewModel.cshtml里面:

@model AddressViewModel
@Html.EditorFor(x => x.Street)
@Html.EditorFor(x => x.ZipCode)
...

现在您不必担心输入字段的名称和ID.他们将得到正确处理.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读