最近在項目中遇到一個棘手問題,在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”
|
新聞熱點
疑難解答