我有一个在人员列表中呈现的视图和一个如下所示的复选框:
<% for (int i = 0; i < Model.ElevSelectedList.Count; i++) {%>
<tr>
<td>
<%=Html.CheckBoxFor(x => x.ElevSelectedList[i].Valgt, new { @class="elevSelect" }) %>
<%=Html.HiddenFor(x => x.ElevSelectedList[i].ElevId) %>
<%=Html.DisplayTextFor(x => x.ElevSelectedList[i].ElevCpr) %>
<%=Html.HiddenFor(x => x.ElevSelectedList[i].ElevCpr) %>
</td>
<td>
<%=Html.DisplayTextFor(x => x.ElevSelectedList[i].ElevKuvertNavn)%>
<%=Html.HiddenFor(x => x.ElevSelectedList[i].ElevKuvertNavn)%>
</td>
</tr>
<% } %>
这会在输出中生成正确的输入字段,如下所示:
<tr>
<td>
<input checked="checked" class="elevSelect" id="ElevSelectedList_0__Valgt" name="ElevSelectedList[0].Valgt" type="checkbox" value="true" /><input name="ElevSelectedList[0].Valgt" type="hidden" value="false" />
<input id="ElevSelectedList_0__ElevId" name="ElevSelectedList[0].ElevId" type="hidden" value="112849" />
1003950000
<input id="ElevSelectedList_0__ElevCpr" name="ElevSelectedList[0].ElevCpr" type="hidden" value="1003950000" />
</td>
<td>
Anders Lind Kirkely
<input id="ElevSelectedList_0__ElevKuvertNavn" name="ElevSelectedList[0].ElevKuvertNavn" type="hidden" value="Anders Lind Kirkely" />
</td>
</tr>
所有这些都在开发中,当我将其部署到本地IIS时,但是当它部署到生产时,html输出如下所示:
<tr>
<td>
<input checked="checked" class="elevSelect" id="Valgt" name="Valgt" type="checkbox" value="true" /><input name="Valgt" type="hidden" value="false" />
<input id="ElevId" name="ElevId" type="hidden" value="112849" />
1003950000
<input id="ElevCpr" name="ElevCpr" type="hidden" value="1003950000" />
</td>
<td>
Anders Lind Kirkely
<input id="ElevKuvertNavn" name="ElevKuvertNavn" type="hidden" value="Anders Lind Kirkely" />
</td>
</tr>
这里html输出的名称是不同的,这使得模型绑定失败而没有任何错误,在开发和本地IIS中我们运行IIS 7.5但生产是IIS 7,该网站是在集成应用程序池中运行的MVC2。
有没有人能够解决这个问题并找到解决方案?
答案 0 :(得分:0)
我们从未遇到过这样的事情。但是,始终建议在两种环境下保持相同的版本设置。尝试将生产IIS服务器更改为7.5