我有一個.net表單,它有一個自動發回的下拉列表。大多數時候,一切都很好,我得到這個:.net form有時會輸出javascript,但有時候不會。
<td class="frmLabel">Province:</td><td><select name="ctl00$ProvinceDropDown" onchange="javascript:setTimeout('__doPostBack(\'ctl00$ProvinceDropDown\',\'\')', 0)" id="ctl00_ProvinceDropDown">
但有時(我會得到的情況下,在第二),我得到這個:
<td class="frmLabel">Province:</td><td><select name="ctl00$ProvinceDropDown" id="ctl00_ProvinceDropDown">
注意缺少的javascript這是自動回發。
問題發生的唯一時間是在IE10上。其他瀏覽器都很好。即使在IE9瀏覽器模式或IE10兼容模式下的IE10也沒問題。
很明顯,這感覺像.Net沒有正確識別IE10。而且我知道這個修補程序:
http://support.microsoft.com/kb/2600100
但是:
一)我沒有得到確切的那些症狀,我沒有收到「_doPostBack未定義」。 .net代碼根本不會生成javascript調用。
b)我有另一個沙箱主機,當我移動代碼時,一切都很好,甚至IE10。此主機沒有此修補程序,並且與.net(2.0 SP2,3.0 SP2,3.5 SP1)具有相同版本。
此外,ie.browser文件在兩臺主機上都具有相同的內容,正則表達式行仍然是舊的,這是應該沒有正確檢測IE10的。
<capability name="majorversion" match="^[5-9]" />
任何想法?
我已經想盡X-UA兼容的標籤,我可以在互聯網上找到。然後意識到問題出在第一個頁面請求,.NET框架吐出代碼,而不是IE瀏覽器呈現html。 –