IE8の選択リストで機能しないHTMLフォーム(IE7互換性)
-
03-07-2019 - |
質問
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>
所属していません StackOverflow