2

我想在表单中有一个带有更新按钮的表格。理想情况下,每一行都是一个表单,但这不符合 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">

这显然是无效的 - 我应该怎么做。谢谢

4

2 回答 2

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

于 2013-06-06T06:50:59.030 回答
2

使用for循环,而不是 a foreach,您将拥有不同的 id。

于 2013-06-06T06:37:02.880 回答