上禮拜在工作中有遇到一個 Asp.net 的靈異現象

既然是靈異現象當然是出現在IE,因為IE這個產品還能活到現在就是個靈異

   

這個問題是這樣發生的,你只要在一個頁面拉一個 Server Control 然後把他的 AutoPostback 設定成 true 

ex : 像下面一樣,下拉完"請選擇"後觸發 postback 來改變隔壁那位 Dropdownlist

Clipboard01   

然後我有加上

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8"/> 

強制使用IE8

 

然後再用你先進的 IE10 瀏覽

然後你就可能會發現一切 ASP.net 自己多事產生的 js 全部沒產生

包含像控制項的屬性  

ex : 

<asp:TextBox ID="EMail" runat="server" Width="300px" ToolTip="請填寫EMail"></asp:TextBox>

也都完全沒效,檢視html 原始檔根本沒 width 這個屬性,也沒任何 .net 產生的 js

 

今天早上問了隔壁MVP主管這問題後,據說是IE版本的問題造成 framework 4.0 無法分辨IE10

解決方法有三種

1. 改成模擬 IE9  (但是我沒試過,不過缺點是你有幾頁就要改幾頁)

2.在網站新增一個 "App_Browsers" 資料夾,然後裡面放入瀏覽器的定義檔

3..................我忘了  哈哈哈

 

然後我就 Google 了一下相關問題的解決方法

如果有遇到的人可以參考一下囉

 

第一種方法 : 

http://msdn.microsoft.com/en-us/library/ie/hh869299(v=vs.85).aspx

 

第二種方法 :

解決 IE10 瀏覽器無法使用 ASP.NET 表單驗證登入的問題

[C#][ASP.net] IE 10 Postback 沒有反應  (直接從NuGet下載來修正)

Bug and Fix: ASP.NET fails to detect IE10 causing _doPostBack is undefined JavaScript error or maintain FF5 scrollbar position

 

 

 

 

 

 

    全站熱搜

    小雕 發表在 痞客邦 留言(0) 人氣()