我们有一个 vert complex 模型,其中包含大约 3 或 4 个嵌套集合。我们从部分调用中提取的许多数据在使用编辑器模板时基于 ID 为 0,因此名称和 ID 在我们的视图中重复。我想我们可以使用 jQuery 来改变这一点,但我们正在为每个循环使用它们,同时构建我们自己的 ID 和名称。显然,这将破坏模型绑定器。
我做了一些研究,似乎我可以使用 for 循环和 0-base 我的 ID 和表单字段名称(如何在 mvc4 razor 中显示验证消息)。但是让客户端和服务器记住最后使用的数字可能是不可靠的。所以我的问题是,名称和 ID 是否必须基于 0,或者它们可以简单地是唯一的?我宁愿使用项目的唯一 ID 而不是迭代的索引。例如,我可以修改以下内容并在 Html 元素对象中添加自己的 ID 和名称吗?在这个列表中,我可以模仿使用 editorFor 生成的输出并维护验证和绑定吗?
@for (var i = 0; i < Model.UsersOfList.Count; i++)
{
<li>
@Html.TextBoxFor(m.UsersOfList[i].LoginName, new {@class="textbox_LoginInfoAndPermission"})
@Html.ValidationMessageFor(m => m.UsersOfList[i].LoginName)
@Html.TextBoxFor(m.UsersOfList[i].UserName, new {@class="textbox_LoginInfoAndPermission"})
@Html.ValidationMessageFor(m => m.UsersOfList[i].UserName)
</li>
}