·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> ImageButton 在IE 10 下的异常

ImageButton 在IE 10 下的异常

作者:佚名      ASP.NET网站开发编辑:admin      更新时间:2022-07-23

ImageButton 在IE 10 下的异常

最近在项目中遇到一个棘手问题,在IE10中,一些图片按钮点了毫无反应,其他浏览器(包括IE9)都正常;查看后台,发现如下异常信息:

Input string was not in a correct format.

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

Google了一下,被证实是IE10 在.Net 4.0下的Bug,原因是IE10下,ToolKitScriptManager不能正确的识别UpdatePanel里的ImageButton的ID,解决方法有三个:

1) 用LinkButton+图片的方式替换ImageButton

2) 安装.Net 4.5框架

3)取消ImageButton的异步回传:

ToolkitScriptManager tkt =(ToolkitScriptManager)Master.FindControl("ToolkitScriptManager");

tkt.RegisterPostBackControl(ImageButton); 或者 设置UpdatePanel的 “PostbackTigger”