Mvc列表模型绑定

时间:2011-02-18 09:47:06

标签: asp.net-mvc asp.net-mvc-2

我有一个在人员列表中呈现的视图和一个如下所示的复选框:

<% 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。

有没有人能够解决这个问题并找到解决方案?

1 个答案:

答案 0 :(得分:0)

我们从未遇到过这样的事情。但是,始终建议在两种环境下保持相同的版本设置。尝试将生产IIS服务器更改为7.5