关于IE10出现LinkButton点击无效的解决方案

关于IE10出现LinkButton点击无效的情况:

一般高配置的系统如Win7旗舰版SP1系统不会出现这种情况,针对家庭普通版和专业版的用户通过测试都有这种情况,对于开发人员要解决不同系统和IE的兼容问题一时有点摸不着头脑,可能微软发布IE10正式版本不久,兼容问题没有考虑周全,或者微软目的是指引用户向着高版本看齐最终目的推销win8,不管怎样,解决方法才是王道:

网上资料显示这种情况是ASP.NET无法检测IE10,导致_doPostBack未定义JavaScript错误,恒处于FF5卷动条位置

解决方案:

在项目工程文件新建App_Browsers文件,在该文件下新建控件适配器文件.browser,关于browser文件不清楚的可以上网去找

.NET2.0 控件适配器文件:下载

.NET4.0 控件适配器文件:下载

下载完直接拷贝到App_Browsers下即可。

==================================================

上述内容来自http://www.globalryan.net/Cn/blog_info.asp?BINDEXNUMBER=140

==================================================

IE10浏览器访问 ASP.NET站点不正常的处理办法


有的网友反映,在使用微软的ie10这个浏览器的时候,访问用asp.net架构的站点时候,发现linkbutton失效了, 调试后发现少了_doPostBack
函数, 好端端的怎么就没有了?

搜索之后, 知道是asp.net对IE10渲染的问题的bug, .NET2.0和.NET 4.0都有这样的问题.

文章中的解决办法:

1.机器级别修复, 服务器所有ASP.NET程序受益

需要去微软下载对应asp.NET版本的修补程序

.NET 4 -http://support.microsoft.com/kb/2600088

.NET 2.0

http://support.microsoft.com/kb/2600100 for
Win7 SP1/Windows Server 2008 R2 SP1, Windows Vista/Server 2008, Windows
XP/Server 2003

http://support.microsoft.com/kb/2608565 for
Win7/Windows Server 2008 R2 RTM

2.仅仅修复单个站点

下载IE.browser文件, 地址http://www.hanselman.com/blog/content/binary/App_BrowsersUpdate.zip, 将其中的
ie.browser 拷贝到站点的app_browsers目录下(我仅仅修复了NET2.0的项目)

其它事宜请参考上面链接文章.

IE10访问采用asp.net 实现 ICallbackEventHandler 接口的页面,
出现WebForm_DoCallback未定义的问题, 而之前在IE7/8/9下都是正常的, 查看HTML源码发现, ASPNET并没有生成相关的脚本资源文件,
 隐藏域, 但是修改IE10的兼容模式为IE9/8/7, 页面就又会正常, 想起来几个月前上面解决的问题,
于是将ie.browser文件放入到服务器站点APP_Browser目录下, 可以彻底解决了。

==============================================================

上述内容来自:http://www.hackhome.com/InfoView/Article_231681.html

==============================================================

下面内容来自:http://blog.csdn.net/smeyou/article/details/9033663

asp.net
IE10 下的bug

Bug描述:

LinkButton 点击无响应

可能与采用form登录后无法判断用户已登入的解决方法相同(需测试和验证)

解决方法:

1、下载微软的IE10补丁

.NET 4 -http://support.microsoft.com/kb/2600088

.NET 2.0

http://support.microsoft.com/kb/2600100 for
Win7 SP1/Windows Server 2008 R2 SP1, Windows Vista/Server 2008, Windows
XP/Server 2003

http://support.microsoft.com/kb/2608565 for
Win7/Windows Server 2008 R2 RTM

或2、仅仅修复单个站点

下载IE.browser文件, 地址http://www.hanselman.com/blog/content/binary/App_BrowsersUpdate.zip, 将其中的projects/ie.browser
拷贝到站点的app_browsers目录下

二、非常奇怪的问题。
其实这个问题不解决也不影响项目的。他们不会用ie10哈哈,但是还是想知道为什么。
当没有选择ie10的兼容性视图时,打开了处问题的那个页面,报错__doPostBack看了html源码发现没有生成__doPostBack这个函数,也根本就没有下面这段代码

JavaScript code


<script type="text/javascript">
//<![CDATA[
var theForm = document.forms[‘aspnetForm‘];
if (!theForm)
{
theForm = document.aspnetForm;
}
function __doPostBack(eventTarget, eventArgument)
{
if (!theForm.onsubmit || (theForm.onsubmit() != false))
{
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
//]]>]
</script>

但是选择了兼容性视图时就会有上面的这段代码,也就是有__doPostBack这个函数了。这到底是什么情况。。。。。。难道是asp.net会认识ie10,自动判断,自已觉得是否生产那段代码,但是我在页面中使用了linkbutton服务器控件,它怎么能不生成__doPostBack这个函数呢。。。。那假如输出的页面源码中有__doPostBack这个函数,为什么又在未选择兼容性视图时,源码中却没有呢。。。。。。。

问题已经找到了  是ie10的问题 http://www.techweb.com.cn/news/2011-09-07/1090483.shtml 微软已经发补丁更新了

三、解決 IE10 无法使用 ASP.NET Forms登录的問題

解決此問題,步驟如下:

1.
先在專案目錄或正式機網站跟目錄下新增一個 App_Browsers 資料夾

2.
新增一個副檔名為 *.browser 的檔案,例如:IE10Fix.browser,檔案內容如下:

<browsers>
   <browser refID="Default">
 
   <capabilities><!-- To avoid wrong detections of e.g. IE10
-->
       <capability name="cookies" value="true"
/>
       <capability name="ecmascriptversion"
value="3.0" />
     </capabilities>
 
 </browser>
 </browsers>

設定完成後,問題自然解決!

本文出处:http://www.ablanxue.com/prone_7061_1.html

四、IE10下的asp.net程序严重问题

五、ASP.NET在IE10中无法判断用户已登入及Session丢失问题解决方法

今天发现在IE10中登录我公司的一个网站时,点击其它菜单,页面总会自动重新退出到登录页,后检查发现,IE10送出的HTTP头,和.AUTH
Cookie都没问题,但使用表单验证机制(FormsAuthentication)却无法判断该用户已登入,保存的Session总会丢失.

后查实这是ASP.NET
2.0,3.5和4.0的Bugs,因这些版本无法识别IE10的User-Agent标头字符串,所以无法识别用户浏览器的版本,从而导至了ASP.NET的特定功能失效,认为游览器不支持Cookies功能,不处理与Cookie相关的程式码等,从而在浏览器中不保存服务器返回的Session标识,造成丢失等.

这个问题早经微软官方确认,是IE10的一个Bug,也发布了两个HOTFIX专门用来修复这个问题,各位如遇到同样的问题,可参考以下说明: 
KB2600088: Hotfix 适用在 Microsoft.NET Framework 4.0 中的
ASP.NET
[英文
KB2608565: Hotfix 适用在 .NET Framework 3.5.1 中的
ASP.NET
[英文
KB2600100: Hotfix 适用在 .NET Framework 3.5 SP1 与 .NET Framework 2.0 SP2 中的
ASP.NET
[英文]
简单的解决方法是,在网站根目录,新增一个浏览器定义文件(browser
definition file)

步骤如下: 
1.添加一个"App_Browsers"文件夹 
2.添加一个"*.browser"后缀的文件,如IE10.browser. 
3.添加文件内容如下:


<browsers>
<browser refID="Default">
<capabilities><!-- To avoid wrong detections of e.g. IE10 -->
<capability name="cookies" value="true" />
<capability name="ecmascriptversion" value="3.0" />
</capabilities>
</browser>
</browsers>

设定完成,问题即可解决

=============================================================

下面内容来自:http://www.techweb.com.cn/news/2011-09-07/1090483.shtml

=============================================================

新浪科技讯 北京时间9月7日早晨消息,近日,微软发布了一个IE浏览器热修复补丁,适用于安装了NET Framework 2.0 SP2和NET
Framework 3.5
SP1的IE浏览器用户。虽然不是内核级修补,也并非安全更新,但这是微软首次针对IE10兼容性发布热修复补丁。该补丁将帮助ASP.NET识别新版IE的用户代理字符串。

什么是用户代理字符串?

用户代理字符串即:User Agent
String,通常简称UA。UA被广泛用来标识浏览器客户端信息,主要用于网站识别用户客户端信息,不同的浏览器会有不同的UA作为自身的标志。

例如在Windows 7上,IE9的UA为:

Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)

由于IE10处于预览测试阶段,并且只支持Windows 7和Windows
8,一些原有的Web开发技术还不能很好的识别它,微软官网描述了出现错误的可能条件:

 当使用IE10访问ASP.NET网页时,网页将提示回发出现故障,并且用户会收到以下错误消息:

  脚本遇到错误","‘__doPostBack‘ 是未定义

关于这一错误,微软做了详细解释:

默认情况下ASP.NET检测浏览器使用监听技术的用户代理字符串。浏览器定义文件覆盖一定范围的浏览器版本。然而,随着版本号的增长,ASP.NET可能无法识别新版本浏览器所使用的用户代理字符串。在此情况下,ASP.NET可能为未知的浏览器中处理这些版本。例如,ASP.NET无法识别IE
10的如下用户代理字符串:

Mozilla/5.0 (兼容 ;MSIE 10.0;Windows NT 6.1;Trident/6.0)

此修补程序适用于以下操作系统:

Windows XP

Windows 2003 Server

Windows Vista

Windows 2008 Server

Windows 7 Service Pack 1 (SP1)

Windows Server 2008 R2 Service Pack 1 (SP1)

更新位置:

32位系统:.NET Framework 2.0 SP2 / .NET Framework 3.5 SP1:

%WinDir%\Microsoft.NET\Framework\v2.0.50727\CONFIG\Browsers

64位系统:.NET Framework 2.0 SP2 / .NET Framework 3.5 SP1:

%WinDir%\Microsoft.NET\Framework64\v2.0.50727\CONFIG\Browsers

修补程序包括更新了ASP.NET 2.0/3.5中关于浏览器的更新定义文件,因此也适用于早期系统。

下载热修复补丁:http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=2600100&kbln=zh-cn

下载IE10预览版2:http://down.tech.sina.com.cn/content/50759.html

下载IE9简体中文正式版:http://down.tech.sina.com.cn/content/48773.html

时间: 2024-08-24 14:22:39

关于IE10出现LinkButton点击无效的解决方案的相关文章

iOS通用链接(Universal Links)突然点击无效的解决方案

接上文<微信中通过页面(H5)直接打开本地app的解决方案>已经把iOS搞定并且已经正常能跑了,突然就再也用不了了... 问题描述 测试告诉我,如果从微信打开App之后,点击App右上角的应用网址之后,iOS通用链接就费了,在也用不了了,如图: 原因分析 因为你点击右上角的网址之后,默认就把通用链接禁用了,需要在Safari中恢复一下,这是iOS本身的机制. 解决方案 1.在微信里面点击右上角“...”,在Safari中打开: 2.往下拉,看到最上面的右上角有一个“打开”的按钮,点击“打开”之

selector实现点击图片切换(解决常见的点击无效问题)

实现效果图:       图片未点击前                         图片点击后 selector的实现方法其实很简单,只需3步: 第一步:选择两张图片效果图放在res/drawable-hdpi中,放在mdpi也可以 第二步:在mdpi文件夹中新建xml文件,命名为selector.xml.注意名字selector后面会引用到. 在selector.xml文件中,完成代码: <?xml version="1.0" encoding="utf-8&qu

Android - 监听Activity点击无效

监听Activity点击无效 本文地址: http://blog.csdn.net/caroline_wendy Activity须要先在Manifest注冊,才干在app中使用; Manifest: <activity android:name="me.chunyu.tvdoctor.healthvideo.VideoPlayingActivity" android:label="@string/app_name" /> 在内部库的G7Anno中: @

ios 添加到cell 上的button点击无效!扩大button的点击区域(黑魔法)

一般情况下点击效果都是正常的!要不然你对它做了什么?一般细心的小伙伴都没有遇到这种情况,但是呢! 当然我是二班的!在这里我主要讲两个问题,解决问题和普及魔法. 一.普及问题(button在cell上点击无效) 自定义一个cell,cell里边creat了一个button!然后调试了半天,什么反应都没有! 1.button的enable 设置为yes可点击的. 1.我以为我设置了交互禁用! self.userInteractionEnabled = YES; 2.button的frame越界了!

空a标签 a标签空的情况下 IE6 IE7下点击无效

最近做了好多网站专题页面,因为专题页面图片较多,个别banner上有1个到多个按钮,一种是用"图解img标签的usemap"的方法做链接,(图解img标签的usemap使用方法)[传送门] 另一种用则需要用空a标签来做,发现"a标签"在IE6与IE7中点击无效中点击不了("a标签"定义宽度和高度IE浏览器为零0),其他浏览器都正常(如果不正常请加"display:bolck;"(←推荐)或"float:left;&q

修复IScroll点击无效,增加scrollTo数值容错处理

最近半年都处于一个非常忙碌的状态,直到现在才有功夫腾出时间记录这段时间以来踩过的一个个坑. 今天先记录关于IScroll 5.1.3版本的坑吧,以及自己打的一个小补丁 ============================= 调用IScroll的时候,在IScorll区域有需要点击时部分安卓机点击无效.若设置click为true,则IOS需双击才能触发. 解决方案:针对不同机型进行iscroll配置参数click的修改. 1 function IScroll (el, options) { 2

ASP.NET中LinkButton点击无反应

页面上的LinkButton点击无反应,如下:(原因可能是.NET Framework版本太低) <asp:LinkButton ID="lbSave" runat="server" CssClass="a_btn" hidefocus="true" OnClick="lbSave_Click"><b>保存</b></asp:LinkButton>  解决方法

Notification(Notification的通知栏常驻、各种样式、点击无效、禁止滑动删除、兼容低版本)

Notification(Notification的通知栏常驻.Notification的各种样式.Notification点击无效.Notification禁止滑动删除) Android的Notification是android系统中很重要的一个机制, 产品人员常常利用通知栏的方式,跟用户进行弱沟通.拥有推送通知的app要比没有此类功能的app活跃率要高很多.另外类似于墨迹天气,清理大师等app,也会将通知栏常驻,利用自定义的布局,方便用户及时快捷的查看所需的信息和使用快捷的功能.所以Noti

Android开发:ListView控件:给Item绑定了点击事件,却点击无效

一.问题引入 ListView控件:给Item绑定了点击事件,却点击无效. 二.解决方案 ListView使用了自定义布局文件,在布局文件中有button等控件时,这些控件获取焦点的级别比listView的item高,所以当点击item时,button等控件会优先获得点击焦点. 解决方法就是在布局文件根元素中添加属性: android:descendantFocusability="blocksDescendants" android:descendantFocusability De