我遇到了一个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方法中设置断点时,表单集合列出了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
有帮助吗?

解决方案

尝试为选项

设置显式值
<option value="Active" selected="selected">Active</option>
<option value="Disable">Disable</option>
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top