解释这如何打印出两个不同的值:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IList<Models.AModel>>" %>
<%
int i = -1;
foreach (var m in AModel){
i++;
%>
<td><%= Html.TextBox(string.Format("[{0}].TheName", i), m.TheName) %> <%= m.TheName %></td>
<% } %>
例如,如果List包含三个元素{TheName:“A”}和{TheName:“B”}和{TheName:“C”},它将打印:
<td><input name="[0].TheName" type="text" value="A">B</td>
<td><input name="[1].TheName" type="text" value="B">C</td>
<td><input name="[2].TheName" type="text" value="C">A</td>
完全莫名其妙。
即使不是答案,我也会猜测猜测并回答最佳猜测。首先:
-TheName在getter中没有任何特殊代码。
编辑:用更好的例子澄清问题(正如我发现的那样),完善了代码以匹配建议。还是有问题。正如您所看到的,似乎两个列表在某种程度上是无序的。
答案 0 :(得分:2)
这是代码的部分转储吗?有许多奇怪之处:</ p>
<%:
与Html.TextBox
一起使用,这是没有意义的。 <%:
HTML编码输出,因此您无法使用它来打印TextBox
。</td>
标记,但没有开放<td>
标记。<强>更新强>:
编辑之后,它只是看起来像你的列表/枚举必须做一些奇怪的事情(或你发布的输出不是实际的输出)你应该告诉我们你是如何填充模型的。
答案 1 :(得分:0)
此代码根本不正确。 雅各布提到了一些人。
即使您确定此代码有效,我认为它与List项目绑定查看有关,并且会发生显示下一个值的内容......