我想在表单中有一个表,带有更新按钮。理想情况下,每一行都是一个表单,但这不符合html规范。
我的观点看起来像这样
@model IEnumerable<DabTrial.Models.ManageFilesModel>
@foreach(var item in Model) {
<tr>
<td>
@Html.TextBoxFor(modelItem=>item.Name)
....
当我查看标记时,同一属性的每一行内的输入具有相同的id
<input id="item_Name" type="text" value="ParentGuardianPMH.pdf" name="item.Name">
...
<input id="item_Name" type="text" value="ParentGuardianMMH.pdf" name="item.Name">
这显然是无效的 - 我该怎么做呢。谢谢
答案 0 :(得分:4)
你需要这样的东西
@for(int i=0; i< Model.Count(); i++)
{
@Html.TextBoxFor(item => item[i].Name)
}
阅读这篇关于模型绑定到列表的帖子 http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx
答案 1 :(得分:1)
使用for
循环,而不是foreach
,并且您将拥有不同的ID。