Asp.net IE10脚本5009:&x27__doPostBack';是未定义的
我在IE10上遇到了一个ASP.NET控件的问题,该控件需要JavaScript回发[like,link button] 它可以在IE9版本和IE10兼容模式下正常工作。但在IE10标准模式下,它给出了以下错误。 SCRIPT5009:“\uuuDoPostBack”未定义 [我创建了一个演示项目,其中包含一个简单的asp:link按钮,可重定向到另一个页面。]Asp.net IE10脚本5009:&x27__doPostBack';是未定义的,asp.net,postback,internet-explorer-10,Asp.net,Postback,Internet Explorer 10,我在IE10上遇到了一个ASP.NET控件的问题,该控件需要JavaScript回发[like,link button] 它可以在IE9版本和IE10兼容模式下正常工作。但在IE10标准模式下,它给出了以下错误。 SCRIPT5009:“\uuuDoPostBack”未定义 [我创建了一个演示项目,其中包含一个简单的asp:link按钮,可重定向到另一个页面。] 有人能建议对此进行修复吗?在.NET 2.0和.NET 4附带的浏览器定义文件中显然有一个bug。定义文件不适合作为浏览器版本的I
有人能建议对此进行修复吗?在.NET 2.0和.NET 4附带的浏览器定义文件中显然有一个bug。定义文件不适合作为浏览器版本的IE10,因此默认为不支持JavaScript的默认定义 Scott Hanselman在这里有一篇关于这个问题的非常详细的文章: Scott提出了两种解决方案,第一种是推荐的解决方案: 1。机器范围的修复 在服务器上下载并安装修补程序:
- .Net 4()
- .Net 2(,)
App\u BrowsersUpdate
软件包安装到您的网站中,以导入新的ie和firefox浏览器定义
- .Net 4()
- .Net 2()
- IE 10存在以下问题:
它无法识别带有_doPostBack[基本上可以在ASP链接按钮的HTML输出中看到]的链接
有关修复程序,您可以参考以下链接:
如果您已经尝试了修复,但仍然在IE11中看到错误,那么将.net framework更新到4.5就可以了。基本上是因为缺少两个html隐藏元素“eventtarget” 和“eventargument”,以及缺少的函数“doPostBack” DOM中缺少这些 我尝试了列出的所有修复程序,但都没有成功。然而,使用jquery和javascript的组合有一个不引人注目的解决方案。将它添加到javascript on document ready中,您就可以开始竞赛了(这比在服务器上安装.net framework 4.5要快得多,不过如果您可以安装4.5,那就是最好的选择):
if($('#_EVENTTARGET')。安装包的长度(仅限站点修复)-在服务器端或编译代码的机器上?修补程序需要安装在为网站服务的web服务器上-即,用您的问题来说,“服务器端”而不是“编译代码的机器”。后者只是您的开发环境。IE11?(修补程序不起作用)。Microsoft花费了我们太多的时间。是时候开始避免使用另一款MS浏览器了吗?您好。关于框架更新解决方案,请澄清一下,是否有人可以确认只需要安装FW 4.5(一个特定版本,4.5.1可以吗?)在主机上,而不是将项目本身升级到4.5?谢谢大家,这还会发生在VS2017 jQuery ui、jQuery、MVCI中吗?我得到了一个“object”未定义错误。这是什么原因?我应该把它拿出来吗?当我拿出来时,整个页面也坏了。有什么建议吗?这些主题也值得一读,尤其是特别适用于“.browser”服务器端文件修复!和
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();
}
};
}