0
我呈現在人們列表視圖和一個複選框這樣的:的mvc列表modelbinding
<% 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。
有沒有人把這個問題困住了,並有一個解決方案?
我同意你的意見,但這不是當時的選項。 – Thomas 2011-02-18 09:58:08