Asp.net mvc 4 MVC4在模型中循环时可以使用唯一ID而不是基于0的计数';什么是收藏品?

Asp.net mvc 4 MVC4在模型中循环时可以使用唯一ID而不是基于0的计数';什么是收藏品?,asp.net-mvc-4,Asp.net Mvc 4,我们有一个vert复杂模型,有大约3或4个嵌套集合。 我们从使用编辑器模板时基于ID的部分调用中提取的大量数据,因此名称和ID在我们的视图中重复。我想我们可以使用jQuery来改变这一点,但我们正在使用for-each循环构建我们自己的ID和名称。显然,这将破坏模型绑定器 我做了一些研究,似乎可以使用for循环和基于0的id和表单字段名()。但是让客户机和服务器记住最后使用的号码可能是不可靠的。所以我的问题是,名称和ID必须是基于0的还是唯一的?我宁愿使用项目的唯一ID,而不是迭代的索引。例如,

我们有一个vert复杂模型,有大约3或4个嵌套集合。 我们从使用编辑器模板时基于ID的部分调用中提取的大量数据,因此名称和ID在我们的视图中重复。我想我们可以使用jQuery来改变这一点,但我们正在使用for-each循环构建我们自己的ID和名称。显然,这将破坏模型绑定器

我做了一些研究,似乎可以使用for循环和基于0的id和表单字段名()。但是让客户机和服务器记住最后使用的号码可能是不可靠的。所以我的问题是,名称和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>
}
for(var i=0;i @Html.TextBoxFor(m.UsersOfList[i].LoginName,新的{@class=“textbox\u LoginInfoAndPermission”}) @Html.ValidationMessageFor(m=>m.UsersOfList[i].LoginName) @Html.TextBoxFor(m.UsersOfList[i].UserName,new{@class=“textbox\u logininfo和permission”}) @Html.ValidationMessageFor(m=>m.UsersOfList[i].UserName) }
我相信您指的是,它允许使用任意ID来代替基于零的顺序整数

示例(来自链接文章):

<form method="post" action="/Home/Create">

    <input type="hidden" name="products.Index" value="cold" />
    <input type="text" name="products[cold].Name" value="Beer" />
    <input type="text" name="products[cold].Price" value="7.32" />

    <input type="hidden" name="products.Index" value="123" />
    <input type="text" name="products[123].Name" value="Chips" />
    <input type="text" name="products[123].Price" value="2.23" />

    <input type="hidden" name="products.Index" value="caliente" />
    <input type="text" name="products[caliente].Name" value="Salsa" />
    <input type="text" name="products[caliente].Price" value="1.23" />

    <input type="submit" />
</form>

这允许您随意添加/删除项目,而无需维护索引。它还允许您在请求中使用非整数值。它确实需要为每个项目添加一个额外的隐藏字段;这允许模型绑定器“查看”它,并且模型将从发布到控制器的数据中正确实例化。

当然可以:)只需使用foreach循环即可!