我遇到了一个ASP.net MVC项目的奇怪问题。
以下代码在Firefox,Chrome,Safari IE8中运行良好 - 但在IE7兼容模式下不是IE8
<% Using Ajax.BeginForm("SetStatus", "StatusControl", New AjaxOptions With {.Confirm = "Are you sure you wish to change the Status?", .OnBegin = "Show_Updating", .OnComplete = "Hide_Updating"})%>
<%=Html.Hidden("ItemID")%>
<select id="SelectStatus" name="SelectStatus">
<option selected="selected">Active</option>
<option>Disable</option>
</select>
<input type="submit" value="OK" title="Set Status" class="small_button" />
<% End Using%>
当我在SetStatus方法中设置断点时,Form Collection列出了SelectStatus和ItemID。 SelectStatus解析为“”而不是“活动”或“禁用” 在所有其他浏览器中,这可以正确解析!
任何想法是怎么回事?我正在使用IE-8 RC1。
以下是SetStatus控制方法
<AcceptVerbs(HttpVerbs.Post)> _
Function SetStatus(ByVal form As FormCollection)
Dim status = form("SelectStatus")
Select Case status
Case "Active"
Dim ItemID As Integer = form("ItemID")
Return Restore(ItemID)
Case "Disable"
Dim ItemID As Integer = form("ItemID")
Return Disable(ItemID)
End Select
Return Content("Errors")
End Function
答案 0 :(得分:2)
尝试为选项
设置显式值<option value="Active" selected="selected">Active</option>
<option value="Disable">Disable</option>