質問

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は&quot;&quot;に解決されます。 「アクティブ」の代わりにまたは「無効にする」 他のすべてのブラウザーでは、これは正しく解決されます!

何が起こっているのでしょうか? IE-8 RC1を使用しています。

以下はSetStatus Controlメソッドです

<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