2

我有一个小问题,我似乎无法使用 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 就名称而言是正确的(正确索引等)尽管有这些事实,但问题我所拥有的是所有输入框中的值在逐行的基础上都是相同的。基本上,如果我将一个字段更改为一个字段,则当表单再次呈现时,该值将显示在所有其他行中。

谁能告诉我发生了什么,或者我该如何解决这个问题?

4

2 回答 2

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>
            }**
于 2013-10-25T11:43:17.147 回答
0

我认为你应该使用 foreach:

@foreach (var Item in Model.Details)
{
    @Html.EditorFor(x => Item.WidthFeet)
    @Html.EditorFor(x => Item.WidthInches)
}
于 2013-10-24T06:46:12.960 回答