0

我正在一个网站上工作,该网站在 ascx 页面中有以下代码:

 <%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

在打开兼容性视图的情况下使用 Internet Explorer 8 时,我收到以下错误长度不能小于零。参数名称:长度。

但是,当兼容性视图关闭时,它可以正常工作,但这会导致我正在处理的网站上出现另一个问题,即 ui-selector 控件无法正常工作(jQuery 控件)。

我们为其创建此网站的客户使用的是 Windows XP 和 Internet Explorer 8,因此需要解决 Internet Explorer 8 的问题,因为他们不愿意使用其他浏览器,例如 Google Chrome 或 Firefox,而我们的网站在这些浏览器上运行良好。

我已经设法使用打开兼容模式的 Windows 7 IE 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>而不是前面提到的我所期望的?

如果我能得到任何帮助,将不胜感激。

4

1 回答 1

0

感谢 hagensoft,在正确的 aspx 页面中添加以下额外代码解决了该问题。

<asp:Content ID="Meta" ContentPlaceHolderID="MetaContent" runat="server">
    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />
</asp:Content>

我还需要在标签的 Site.Master 页面中添加以下代码行。

<asp:ContentPlaceHolder ID="MetaContent" runat="server" />
于 2012-09-12T23:47:43.880 回答