我有一个小问题,我似乎无法使用MVC4在表单内可靠地呈现列表项。这是一小段代码,问题就出现了:
...
@{int count = Model.Details.Count;}
@for (int i = 0; i < count; i++)
{
<tr class="added-item">
<td>
@Html.EditorFor(x => Model.Details[i].WidthFeet)
@Html.EditorFor(x => Model.Details[i].WidthInches)
</td>
...
基本上我正在循环,并在我去的时候添加行。我已经手动完成了这个过程,并且我已经确认正在使用正确的索引/数据,并且我已经确认HTML是正确的,就名称而言(正确索引等)尽管有这些事实,问题我所拥有的是所有输入框中的值在逐行的基础上变得相同。基本上,如果我在一个字段中更改字段,那么当表单再次呈现时,该值将显示在所有其他行中。
有谁能告诉我发生了什么,或者我如何解决这个问题?
答案 0 :(得分:0)
我认为你应该使用foreach:
@foreach (var Item in Model.Details)
{
@Html.EditorFor(x => Item.WidthFeet)
@Html.EditorFor(x => Item.WidthInches)
}
答案 1 :(得分:0)
**@for (int count = 0; count < Model.Details.Count; count++)
{
<tr class="added-item">
<td>
@Html.EditorFor(m => m.Details[count].WidthFeet)
@Html.EditorFor(m => m.Details[count].WidthInches)
</td>
</tr>
}**