[ASP.Net]ASP.Net Gridview Button not working With IE Browser (IE Browser 相容性問題)
情況:
使用ASP.Net(Framework 4.0),在網頁中有Gridview元件,有設定使用元件內的編輯和刪除資料之功能,在本機測試時(IE瀏覽器)皆正常。但是在客戶端使用IE瀏覽器在點選編輯或其他功能按鈕時,完全沒有反應。(使用Chome和Firefox瀏覽器皆可以正常運作)
使用IE的F12按鈕進入開發者介面,選擇Debugger功能來執行,發現在點選功能按鈕時出現"_dopostback未定義"。
使用IE 10、11(in win7 os)皆不能正常運作
使用IE 8 (in XP os)可以正常運作
在不能運作的IE版本中選擇相容性檢視設定,並加入該網址後。網頁上Gridview的功能按鈕就可以正常運作。
在網路上找到不少篇都說這是微軟的Bug,需要安裝更新檔。但我下載了更新檔後發現無法安裝,且也不可能叫客戶一個一個都要安裝此更新檔。
在will保哥的部落格中有發現可以加入瀏覽器定義檔,以下引用保哥的文章內容
在此分享一個更簡易的解決方法,只要在網站目錄新增一個 瀏覽器定義檔 (browser definition file) 即可解決此問題,步驟如下:
1. 先在專案目錄或正式機網站跟目錄下新增一個 App_Browsers 資料夾
2. 新增一個副檔名為 *.browser 的檔案,例如:IE10Fix.browser,檔案內容如下:
參考資料:
http://stackoverflow.com/questions/16143555/link-button-not-working-with-ie-10/16272799#16272799
ps.我使用這個網址指定IE版本,但是還是沒作用。使用IE瀏覽器的F12 Debug功能還是會回傳"_doPostback未定義"。
http://rritw.com/a/bianchengyuyan/_NET/20130527/360080.html
ps.這一篇明確指示這個是微軟的Bug,但是下載修正檔後卻不能安裝
ps.還是無法使用
http://blog.miniasp.com/post/2012/11/17/IE10-unable-login-using-FormsAuthentication-in-ASPNET-40.aspx
ps.最終使用保哥的瀏覽器定義檔 (browser definition file),就搞定了。
留言
張貼留言