您的位置:首页 > 其它

在IE10中点击updatepanel里面的imagebutton时出现的错误:输入字符串的格式不正确( 在 System.Number.StringToNumber)

2013-07-03 16:43 525 查看
问题描述:在IE10中点击updatepanel里面的imagebutton时出现“输入字符串的格式不正确”的错误,在其它浏览器以及IE7/8/9无此问题

异常消息:

输入字符串的格式不正确。

在 System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) 在 System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) 在 System.Web.UI.WebControls.ImageButton.LoadPostData(String postDataKey, NameValueCollection postCollection) 在 System.Web.UI.Page.ProcessPostData(NameValueCollection postData, Boolean fBeforeLoad) 在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)


在vs中调试时会出现javascript运行时错误:

Sys.WebForms.PageRequestManagerServerErrorException: Input string was not in a correct format.

updatepanel中包含一个grid控件和一个分页控件,在点击分页按钮时出现此问题,代码如下:

<asp:UpdatePanel runat="server" ID="up" UpdateMode="Conditional">
<ContentTemplate>
<asp:DexGrid ID="myGrid" runat="server">
</asp:DexGrid>
<asp:DexPagerBar ID="myPager" runat="server" OwnerControlID="myGrid">
</asp:DexPagerBar>
</ContentTemplate>
<Triggers>
</Triggers>
</asp:UpdatePanel>


解决方法:在所属页面或所在模板页中加入如下脚本即可解决

<script type="text/javascript">
//为解决在IE10中点击updatepanel里面的imagebutton时出现的错误
Sys.WebForms.PageRequestManager.getInstance()._origOnFormActiveElement = Sys.WebForms.PageRequestManager.getInstance()._onFormElementActive;
Sys.WebForms.PageRequestManager.getInstance()._onFormElementActive = function(element, offsetX, offsetY) {
if (element.tagName.toUpperCase() === 'INPUT' && element.type === 'image') {
offsetX = Math.floor(offsetX);
offsetY = Math.floor(offsetY);
}
this._origOnFormActiveElement(element, offsetX, offsetY);
};
</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐