如何解决ASP.NET网站'__doPostBack' is undefined的脚本错误

news/2024/5/13 16:12:27/文章来源:https://blog.csdn.net/weixin_34381666/article/details/90095571

最近碰到一个很奇怪的问题!

  新发布一个ASP.NET的网站,基于.net 4.0 framework,基本没有用到什么特别新的技术,但是由于给客户预览用的服务器比较老,操作系统用的是Windows 2003,上面默认只支持IIS 6。将网站发布上去之后大部分功能都能正常运行,但是有一些操作会莫名其妙地报'__doPostBack' is undefined的脚本错误。在网上查找了一下错误产生的原因,这个是.net 4.0 framework中的一个bug,可以查看这篇文章http://www.hanselman.com/blog/BugAndFixASPNETFailsToDetectIE10CausingDoPostBackIsUndefinedJavaScriptErrorOrMaintainFF5ScrollbarPosition.aspx

  部分ASP.NET的控件在postback的时候会失效,并且抛出'__doPostBack' is undefined的脚本错误,如DropDownList的SelectedIndexChanged事件触发,RadioButtonList或CheckBoxList在postback的时候,还有LinkButton等控件。该问题只会出现在比较高版本的IE浏览器中(由于我本机只有IE11,所以不确定是否较低版本的IE上也会出现该问题),FireFox和Chrome上一切运行正常。另外,在IE中将User agent string改为IE10或以下也运行正常。

  尝试了以下方法均无效:

  1. 重新安装.net 4.0 framework。

  2. 在IIS中重新配置网站运行权限和.net设置项。

  3. 清除本机所有已安装的.net framework版本然后重新安装.net 4.0 framework。

  4. 排除网站代码本身产生的问题。因为除了IE,其它的浏览器均运行正常,说明代码本身没有问题,应该是服务器环境所产生的。

  解决办法:

  • 尝试通过App_BrowsersUpdate来修补本网站的影响。在Visual Studio中可通过Nuget搜索并下载App_BrowsersUpdate,它会在网站根目录创建App_BrowsersUpdate文件夹,并下载两个browser文件。该方法只对本网站有效,并不能解决服务器上其它网站遇到的问题。如果该方法并不奏效,可尝试打开本机的browsers文件并对其进行必要的修改,地址C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Browsers。

  • 通过安装hotfix来解决该问题(推荐)。安装hotfix会影响服务器上所有已发布的网站。注意,如果安装hotfix出错或者无法安装,可尝试重新安装对应版本的.net framework,然后再尝试安装hotfix。有的时候服务器上安装的.net framework版本可能不是最新的或者没有完全安装相应的补丁(通常服务器上的Windows更新被强制关闭了导致补丁无法自动完成安装)所以尝试重新安装.net framework然后再安装hotfix一般会奏效。
    • .Net 4 http://support.microsoft.com/kb/2600088
    • .Net 2 http://support.microsoft.com/kb/2608565, http://support.microsoft.com/kb/2608565

  如果上述方法均不奏效,可以考虑升级IIS 6到IIS 7或IIS 8.5,或者升级.net framework到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) { objectvar 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();}};
}
复制代码

 


本文转自Jaxu博客园博客,原文链接:http://www.cnblogs.com/jaxu/p/3679612.html,如需转载请自行联系原作者

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_762264.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【网站安全】网站被挂木马与777权限的奥妙

某天站长平台的微信群里的一位同学说网站被人挂马了&#xff0c;查了半天也查不到原因。艺龙SEO负责人刘明问了一句“是不是技术把linux系统里网站的核心目录设置777文件权限了”&#xff0c;同学查后发现果然如此。那么&#xff0c;777是什么&#xff1f;老虎机吗&#xff1f;…

分布式网站隔离术

隔离是将系统或资源分隔开&#xff0c;系统隔离是为了在系统发生故障时&#xff0c;能限定传播范围和影响范围&#xff0c;即发生故障后不会出现滚雪球效应&#xff0c;从而保证只有出问题的服务不可用&#xff0c;其他的服务还是可用的。在此介绍的隔离手段有&#xff0c;线程…

不用 PS 和 AI,5个网站能做出更好看的设计

要完成漂亮的设计&#xff0c;一定要掌握 PS、AI、Sketch 等专业的做图工具才可以。其实&#xff0c;现在有很多网站可以帮助不会专业设计工具的我们&#xff0c;做出很多很漂亮的设计&#xff0c;完成自己的设计需求。今天&#xff0c;我们就来介绍一下这些网站。 原型设计 ST…

Android上PhoneGap打包本地网站和在线网站

谢谢刚子提供这么个社区交流平台&#xff0c;特别感谢刚子提供上传权限&#xff0c; 哈哈&#xff0c;今天也发一个简单的Demo上来上来&#xff0c;给社区贡献一点绵薄之力。最近一直关注移动web开发&#xff0c;更多看的是web开发的程序的效果&#xff0c;还没有深入的去编程或…

JavaScript 编程精解 中文第三版 二十一、项目:技能分享网站

二十一、项目&#xff1a;技能分享网站 原文&#xff1a;Project: Skill-Sharing Website 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 自豪地采用谷歌翻译 部分参考了《JavaScript 编程精解&#xff08;第 2 版&#xff09;》 If you have knowledge, let others l…

用户登录界面(1.8版本--网站框架改进)

1.创建数据库db_user与表users 1 CREATE DATABASE db_user CHARACTER SET utf8;2 3 CREATE TABLE users (4 userid TINYINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,5 username varchar(20),6 passwd varchar(20),7 email varchar(30),8 priority int9 ); 10…

linux --xampp 配置多个网站

我们想要在本地安装两个测试域名&#xff0c;www.abc.tld, www.xyz.tld, 分别指向到 htdoc 目录下的 abc.tld 和 xyz.tld 文件夹下。tld 是顶级域名 the top domain 的缩写。如果你喜欢&#xff0c;也可以用 abc.com, abc.net 这样的顶级域名来代替。这里使用 tld 主要是为了避…

Dropbox泄密事件仍在蔓延 一家成人网站被爆掉80万帐号密码

上周黑客在暗网相继泄漏了 Dropbox 和 Last.fm 两家公司的上亿条账号密码&#xff0c;暴露了互联网公司在保护用户信息上的严重缺陷。但现在这场“泄密事件”仍没有停止的迹象&#xff0c;最新的消息是黑客团队泄漏了色情网站 Brazzers 近 80 万条用户账号密码。 这个被黑客公布…

Jenkins+Git+Gitlab+Ansible实现持续集成自动化部署动态网站(二)--技术流ken

项目前言 在上一篇博客《JenkinsGitGitlabAnsible实现持续化集成一键部署静态网站&#xff08;一&#xff09;--技术流ken》中已经详细讲解了如何使用这四个工具来持续集成自动化部署一个静态的网站。 如果大家可以熟练掌握以上内容&#xff0c;势必会在工作中减轻不小的工作量…

Asp.net网站的简单发布

概述 网站是由一个个页面组成的&#xff0c;是万维网具体的变现形式&#xff0c;关于万维网&#xff0c;网页的方面的理论知识&#xff0c;大家可以看一看这篇博客&#xff1a;万维网文档&#xff0c;在这里就不多说了。网站的发布要到达的一个目的就是&#xff0c;别人可以通过…

SharePoint 2010 类似人人网站内信功能实施

简介&#xff1a;用SharePoint代码加实施的方式&#xff0c;完成类似人人网站内信功能&#xff0c;当然&#xff0c;实现的比较简单&#xff0c;样式也比较难看&#xff0c;只为给大家一个实施的简单思路&#xff0c;如有谬误&#xff0c;还请见谅。当然&#xff0c;还有就是截…

2019最受欢迎开源免费CMS建站系统排行榜

2019独角兽企业重金招聘Python工程师标准>>> 互联网的蓬勃发展&#xff0c;免费且开源的建站系统的层出不穷&#xff0c;而我们经常在网上看见有人问及”哪个CMS系统最好用”、”企业建站用哪个CMS系统最多”等类似问题&#xff0c;我们今天来说一下&#xff0c;201…

“网络推广”企业做了网站效果没有达到自己的营销效果

我们有理由相信每一公司做的设计不是给自己看的&#xff0c;当然是给客户看的&#xff0c;我们长处就在于我们的技术是基础&#xff0c;创意是翅膀&#xff0c;只有充分利用好网络&#xff0c;创意才能把您们的价值体现出来&#xff0c;传播出去。 我们不只是为您们的企业披上外…

一步步学习SPD2010--第十章节--SP网站品牌化(3)--在内容页中识别样式

一步步学习SPD2010--第十章节--SP网站品牌化&#xff08;3&#xff09;--在内容页中识别样式 当你在SPD中显示内容页时&#xff0c;尽管设计视图显示了内容页与母版页的融合&#xff0c;你只能辨识储存在内容页的部件的CSS样式。使用页面的代码视图&#xff0c;来辨识储存在内容…

Challenge Checkio(python)—初尝python练习网站

最近在找点python语言练习的网站&#xff0c;发现这个网站不错 http://www.checkio.org/ 页面设计的也比较漂亮&#xff0c;比较适合学习python的语法知识。不过注册这个网站 开始就得解决一个python问题&#xff0c;不过很简单。 1 #python3.3 is inside 2 def checkio(els):…

[Hugo+Netlify]从零开始建立并发布一个网站

现在有越来越多的开发者选择把自己的博客以静态网站的方式托管在 GitHub 上, 这样的方式可以通过诸如 Jekyll, Hexo,Hugo 等等现有的静态博客生成工具, 非常便捷地搭建出一个样式美观的静态博客或文档页面。 通过对比&#xff0c;我选择了Hugo框架来创建网页&#xff0c;使用 N…

现在怎么访问安卓开发者网站

问题描述前两个月还能访问安卓开发者网站&#xff0c;现在就访问不了了&#xff0c;请问有什么方法么&#xff0c;以后想下官方最新的mac版本的ADT都困难。 解决方案1翻墙啊啊啊啊啊啊啊。 解决方案2翻墙软件&#xff0c;大家都懂的&#xff01; 解决方案3现在是不行了&#xf…

win8 iis安装及网站发布

win8 iis安装及网站发布 系统&#xff1a;win8 环境&#xff1a;vs2012 一&#xff1a;安装IIS 比较win7的安装来说&#xff0c;多选了几个钩钩&#xff0c;不然会报错&#xff0c;偶就遇到这样的错误。 控制面板-》程序和功能-》启动和关闭windows功能&#xff0c;钩钩图例&am…

Svg图片在asp网站上的使用

最近需要做一个动态的根据后台的返回数据而动态显示的导航图&#xff0c;然后我就采用了jqueryajaxSVG矢量图来实现这个功能。 首先&#xff0c;客户给了个ai的矢量图&#xff0c;我对这一块不懂就找以前同事帮我转成了svg图形&#xff0c;听说很简单&#xff0c;但是矢量图是封…

使用Let's Encrypt、Certbot为自己的网站加密

2019独角兽企业重金招聘Python工程师标准>>> 打开网站https://certbot.eff.org/选择服务器系统和软件环境以nginxubuntu为例&#xff1a;# 1. 安装需要软件 $ sudo apt-get update $ sudo apt-get install software-properties-common $ sudo add-apt-repository pp…