2013-06-06 50 views
2

我想在表格中有一个表,并带有更新按钮。理想情况下,每行都是一个表单,但不符合html规范。MVC与TextBoxFor在循环内具有相同的ID

我的看法是这样的

@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

可以明确设置使用'TextBoxFor <>()'重载之一的ID(假设一切其他就是你想要的方式)。您可能还需要考虑一个编辑器模板,该模板考虑了一层嵌套对象(它看起来不像名称元素将与默认模型联编程序所期望的内容匹配)。 –

回答

1

使用for循环,而不是foreach,你会有不同的id。