我在使用需要JavaScript回發的ASP.NET控件的IE10上面臨問題[如鏈接按鈕]。IE10 SCRIPT5009:'__doPostBack'未定義
它適用於IE9版本以及IE10兼容模式。但在IE10標準模式下,它給出了以下錯誤。 SCRIPT5009:「__doPostBack」是不確定的
[我已經創建了一個簡單的ASP演示項目:鏈接按鈕重定向到另一頁]
Tried the solution, but didn't work for me
任何人都可以提出此修訂?
我在使用需要JavaScript回發的ASP.NET控件的IE10上面臨問題[如鏈接按鈕]。IE10 SCRIPT5009:'__doPostBack'未定義
它適用於IE9版本以及IE10兼容模式。但在IE10標準模式下,它給出了以下錯誤。 SCRIPT5009:「__doPostBack」是不確定的
[我已經創建了一個簡單的ASP演示項目:鏈接按鈕重定向到另一頁]
Tried the solution, but didn't work for me
任何人都可以提出此修訂?
顯然,.NET 2.0和.NET 4附帶的瀏覽器定義文件中存在一個錯誤。定義文件不支持IE10作爲瀏覽器版本,因此默認爲不支持JavaScript的默認定義。
斯科特Hanselman有這個問題在這裏非常詳細的書面記錄:http://www.hanselman.com/blog/BugAndFixASPNETFailsToDetectIE10CausingDoPostBackIsUndefinedJavaScriptErrorOrMaintainFF5ScrollbarPosition.aspx
斯科特提出了兩種解決方案,與第一個被推薦的一個:
1.整機全修復 下載和在服務器上安裝一個修復程序:
2.現場,唯一的解決方法 從的NuGet的App_BrowsersUpdate
包安裝到您的網站導入新的IE和Firefox瀏覽器的定義。
在哪裏安裝軟件包(僅限站點修復) - 在服務器端或編譯代碼的機器上? – 2013-11-08 09:08:45
該修補程序需要安裝在爲該網站提供服務的Web服務器上 - 即以您的問題的術語,「服務器端」而不是「編譯代碼的機器」。後者只是你的開發環境。 – Hady 2013-11-10 08:13:16
.NET無法識別IE10?一位失敗嘿.. – 2013-11-13 00:40:50
IE 10具有的問題:
它不能識別與_doPostBack它們基本上出現在鏈接[ ASP鏈接按鈕的HTML輸出]
您可以參考以下鏈接進行修復:
如果您已經嘗試了此修補程序,並且您仍然在IE11中看到錯誤,請將.net框架更新爲4.5。
基本上發生了什麼是有2個缺少HTML隱藏元素「eventtarget」 和「eventargument」,以及缺少的函數「__doPostBack」。
這些從DOM中丟失。
我嘗試了所有列出的修復和沒有工作。然而,使用jQuery和JavaScript的組合是一個不顯眼的解決方案。將此文件添加到您的文檔準備就緒的JavaScript上,您就可以參加比賽了(這比在服務器上安裝.net framework 4.5更爲快捷,但如果您可以安裝4.5版即可):
if ($('#__EVENTTARGET').length <= 0 && $('#__EVENTARGUMENT').length <= 0) {
$('#YOUR_ASPNET_FORMID').prepend('<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" /><input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />');
}
if (typeof __doPostBack == 'undefined') {
__doPostBack = function (eventTarget, eventArgument) {
var theForm = document.forms['YOUR_ASPNET_FORMID'];
if (!theForm) {
theForm = document.YOUR_ASPNET_FORMID;
}
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
};
}
據我所知,有些說安裝4.5修復了這個。我肯定會推薦。但是,如果您像我一樣在面向企業的公共網站上開發一個以.net 4爲基礎的cms系統,這可能只是一個更簡單的解決方案,而不是可能引入更新平臺創建的新bug。
我得到一個'對象'未定義的錯誤。這會導致什麼?我應該把它拿出來嗎? – ClosDesign 2014-07-25 18:23:00
當我拿出來的時候,整個頁面都打破了。有什麼建議麼? – ClosDesign 2014-07-25 18:24:15
這些主題還值得一讀,尤其是「瀏覽器」服務器端文件修復! http://stackoverflow.com/questions/18485339/dopostback-failing-in-ie-11-windows-8-1和http://stackoverflow.com/questions/19915720/dopostback-is-undefined-in-ie11 – AFract 2015-03-17 10:56:54