如何通过使用for循环将PGId的值传递给控制器。我想在我的情况下只使用for循环
当我使用for循环它不能正常工作:
for (int i = 0; i < Model.Count; i++)
{
<tr>
<td>
@Html.DisplayFor(m => m[i].PGId)
@Html.HiddenFor(m => m[i].PGId)
</td>
<td>
@Html.ActionLink("Edit", "Edit", // pass PGId from here ???)
</td>
</tr>
}
当我使用foreach循环时,我的代码工作正常
foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.PGId)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id = item.PGId})
</td>
</tr>
}
答案 0 :(得分:4)
使用Model[i]
:
for (int i = 0; i < Model.Count; i++)
{
<tr>
...
<td>
@Html.ActionLink("Edit", "Edit", new { id = Model[i].PGId })
</td>
</tr>
}
答案 1 :(得分:0)
你正在进行中,这只是你不知道如何完成的编辑部分。
您正在处理项目列表,在您的方案中,您将需要访问每个项目,例如访问数组,即使用索引字段。
for (int i = 0; i < Model.Count; i++)
{
<tr>
<td>
@Html.DisplayFor(m => m[i].PGId)
@Html.HiddenFor(m => m[i].PGId)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id = Model[i].PGId })
</td>
</tr>
}
结果HTML代码如下所示:
<tr>
<td>
10001
<input name="[0].PGId" type="hidden" value="10001" />
</td>
<td>
<a href="/Home/Edit/10001">Edit</a>
</td>
</tr>
<tr>
<td>
10002
<input name="[0].PGId" type="hidden" value="10002" />
</td>
<td>
<a href="/Home/Edit/10002">Edit</a>
</td>
</tr>