ascxページに次のコードがあるWebサイトで作業しています。
<%Using (Html.BeginForm("MakeABooking", "User", FormMethod.Post))%>
<button type="submit" class="searchCarButton JQryStyleButton" name="btnSubmit" value="1; <%:DataBinder.Eval(c.DataItem, "currentAsset.AssetID").ToString %>; <%:DataBinder.Eval(c.DataItem, "SearchForDate").ToString %>">Make Booking</button>
<%End Using%>
このフォームは、ViewControllerのMakeABooking関数を呼び出します。
<HttpPost()> _
<ValidateInput(False)> _
Public Function MakeABooking(btnSubmit As String) As ActionResult
Dim sMan As String = btnSubmit
Dim sSegmentBooked As String = sMan.Substring(0, sMan.IndexOf(";"))
sMan = sMan.Substring(sMan.IndexOf(";") + 1)
Dim sAsseID As String = sMan.Substring(0, sMan.IndexOf(";"))
Dim sDateBook As String = sMan.Substring(sMan.IndexOf(";") + 1)
Dim BookingModel As New BookingViewModel(CInt(sAsseID), CInt(sSegmentBooked), CDate(sDateBook))
Return View("MakeABooking", BookingModel)
End Function
互換表示をオンにしてInternetExplorer8を使用すると、次のエラーが発生します。長さをゼロ未満にすることはできません。パラメータ名:長さ。
ただし、互換表示をオフにすると正常に機能しますが、これにより、作業中のWebサイトでui-selectorコントロールが正しく機能しないという別の問題が発生します(jQueryコントロール)。
このWebサイトを作成したクライアントは、WindowsXPとInternetExplorer 8を使用しているため、Internet Explorer 8の問題を修正する必要があります。これは、Webサイトが正常に動作するGoogleChromeやFirefoxなどの別のブラウザーを使用する意思がないためです。
互換モードをオンにしたWindows7IE 9を使用して問題を再現できました。また、MakeABooking関数に渡される文字列値(btnSubmit)は " <SPAN class=ui-button-text>Make Booking</SPAN>
"ですが、渡される文字列は "1; 8463;12/のようになります。 09/2012 12:00:00 AM "、関数MakeABookingがセミコロンを探しているため、エラーが発生します。前に述べたように、私が期待するものの代わりに文字列" <SPAN class=ui-button-text>Make Booking</SPAN>
"を取得する理由を誰かが知っていますか?
ご不明な点がございましたら、よろしくお願いいたします。