`

记录asp.net在IE10下事件丢失排错经过 - Adming

阅读更多
原帖地址:http://www.cnblogs.com/weapon/p/3150584.html
最近项目中运用了地区三级联动,用的是最普通的DropDownList回发来实现的,如下图
一直用着都挺好的,可最近客户最近新换了台服务器,我把网站迁移过去就有了问题,三级联动失效了。
首先申明一点,这个三级联动虽然是用服务器控件做的,但代码是没有错的,我一点可以确认,不是网上经常看到的那些服务器控件属性设置不对或方法使用不正确。
 
网站运行环境
新服务器:Windows Server2008 64位系统,IIS7,应用程序.net Framework 版本4.0、托管管道为集成模式、32位兼容模式。
原服务器:Windows Server2008 32位系统,IIS7,应用程序.net Framework 版本4.0、托管管道为集成模式。
本地开发:Windows 7 32位系统,IIS express 8,VS2012
 
测试环境:我自己机器上 IE10,Firefox21,Chome27,同事机器上IE6、7、8、9外加360,遨游、QQ之类的浏览器。
 
测试结果:只有在新服务器和IE10组合时开会出现错误(就是DropDownList控件的OnSelectedIndexChanged事件失效、现象就是下拉框更改选择后页面不回发了)。
附:对新服务器中网站的抓包如下
注意:在IE10中,各种浏览器模式和文档模式都一一试过,结果都是一样。
从源码可以看出,服务器返回给IE10的Html代码中没有onchange事件。
 
看到这里,不知道各位会认为错误出现在什么地方?
我的第一反应是错误出在服务器方,应该不是浏览器的问题,因为我们都知道,浏览器只是执行Html代码,而Html代码都是由服务器端动态返回的,很明显服务器返回给IE10的Html代码中丢失了onchange事件。再对比网站的服务器环境我把重心放到了64位系统上,因为新、旧服务器也就这点不同,结果掉坑里去了,把网站重新设置为64位环境编译了一遍,编译过程还挺曲折的,引用组件System.Data.SQLite.dll没法在64位下运行,费了老大劲,花了大把时间给搞定,结果错误依旧。
 
到这里我又不得不怀疑是浏览器问题了,但是同事都没有用IE10的,到目前为止也就我机器上测试到这个错误。想起老板新买的笔记本是Win8的所以就把链接发给他,让他看看IE11下是不是有问题。结果老板一看我发的消息裁图,北京市都跑四川了,以为数据库出错了,直接叫经理来解决问题。
经理过来一不看代码,二不看服务器,直接认定我浏览器设置有问题,一番设置后,居然“好了”,其实就是把当前网站加入到IE的兼容性列表里(具体做法就是在IE菜单栏工具中将当前网站添加兼容性视图)。
 
我一直以为F12中浏览器模式设置为“IE10兼容性视图”和IE菜单栏工具中的添加兼容性视图是一样的,没想到还有有些区别。
读了后面这段,就会明白其实这个差别只是时间差,在工具栏中添加的兼容性视图在请求时就是以兼容性视图请求的。而F12中的兼容性视图接收到的Html代码是以IE正常模式讲求的,只以兼容性视图解析而已。
 
我们开发时遇到问题一般有两种解决方式,一种像我们经理这样,还有一种就是从根本上解决。我一般不赞成这种表面解决问题的方式,所以我就继续找解决方案,既然问题出现在IE中,我试着用IE10之类的关键字搜索,最后用“asp.net IE10”Google时了一篇英文文章大概是这个意思,接着搜索才找到两篇中文的。原文链接我也找不到了,大概意思就是,asp.net4.0出生得比IE10早,所以asp.net4.0以前版本不认识IE10 的 User-Agent 标头,导致的后果就是ASP.NET 特定功能失效,例如:页面报错__doPostBack找不到,不支援 Cookies 功能等等。这属于.net的Bug,微软也发布了补丁。我没找到文章中的补丁(不知道是后续补丁覆盖了还是不同系统补丁编号不同),但我更新新服务器中的所有补丁后,错误没有了。
 






本文链接:http://www.cnblogs.com/weapon/p/3150584.html,转载请注明。

分享到:
评论

相关推荐

    ASP.NET 高级排错技巧

    ASP.NET 是微软公司推出的用于构建动态web应用程序的框架,它基于.NET Framework,为开发者提供了丰富的功能和工具。在开发过程中,遇到错误是常态,而掌握高级排错技巧能显著提高开发效率和问题解决能力。本篇文章...

    2022-2023-2-网络排错技术-期末考核.pka

    2022-2023-2-网络排错技术-期末考核.pka

    BGP配置与排错PPT---CCNP必看

    它的配置和排错对于网络管理员来说至关重要,尤其是在CCNP(Cisco Certified Network Professional)认证的学习过程中。本PPT重点讲解了BGP的基础知识、配置步骤以及常见问题的解决方法。 BGP的强大之处在于它对...

    js基础实战2-排错题-题目_20230221144605.md

    js基础实战2-排错题-题目_20230221144605.md

    ospf排错--csdn提示题目不详细

    在实际网络环境中,OSPF排错是一项关键技能,尤其是在遇到网络连通性问题时。 标题“ospf排错--csdn提示题目不详细”可能是指一篇关于OSPF故障排查的文章或讨论,但具体细节未在标题中提供。描述中的“非得20个字吗...

    H3C 网络排错--RIP协议

    ### H3C网络排错——深入理解RIP协议 #### RIP协议概览 RIP(Routing Information Protocol),即路由信息协议,是一种典型的距离矢量路由协议。它利用跳数(hop count)作为度量标准来衡量到达目的网络的距离,最...

    H3C 网络排错--静态路由协议

    ### H3C网络排错——静态路由协议:深入解析与实战案例 #### 静态路由协议概述 静态路由协议是一种非动态自动生成的路由方式,由网络管理员手动配置的路由条目。它适用于简单的网络环境,如单一出口的小型网络或...

    华为公司排错专家--第4章 TCP/IP故障排除.ppt

    在本课程“华为公司排错专家--第4章 TCP/IP故障排除”中,主要涵盖了网络维护人员必须掌握的网络故障排除技巧,特别是针对华为网络产品的故障处理。此课程旨在提升学员对TCP/IP协议栈问题的识别和解决能力,确保网络...

    H3CTE排错报告-庄小波版

    很有参考价值一份排错报告,H3CTE考试满分1000分,其中排错报告300分,写好报告是关键的一部分。

    MySQL排错指南-高清版.zip

    MySQL排错指南是2015年夏天引入中国的书籍,这本书可以说是DBA速成指南,介绍的内容其实比较简单,但是也非常实用,对于DBA这个讲究经验的工种,这本书就是传授经验的,可能对有较多工作经验的DBA来说,这本书基本...

    华为公司排错专家--第3章 广域网故障排除.ppt

    在本课程中,主题聚焦于华为公司的广域网(WAN)故障排除,这是一项对于网络维护人员至关重要的技能。华为网络产品在全球的广泛应用使得掌握其故障排查技术变得尤为重要。本章主要涵盖三个核心知识点: 1. **网络...

    华为公司排错专家--第2章 物理层及以太网故障排除.ppt

    在这种情况下,断开不必要的设备,逐步缩小故障范围进行排查。 在路由器升级过程中,理解不同软件升级方法是必要的。Bootrom升级通常通过串口和XModem协议进行,而VRP主机软件可以通过串口、TFTP或FTP加载升级。...

    华为公司排错专家--第7章 中低端Lanswitch故障排除.ppt

    【华为公司排错专家——第7章 中低端Lanswitch故障排除】 在现代网络环境中,华为公司的网络产品,特别是中低端Lanswitch,扮演着至关重要的角色。随着这些产品的广泛应用,掌握其故障排除技巧对于网络维护人员来说...

    路由器故障排错入门-200309-C

    interface atm 12/0 atm clock internal chassis atm vc-per-vp 4096 atm oam flush ! interface atm 12/0.332 point-to-point atm pvc 332 3 32 aal5snap 0 0 0 encapsulation pppoe pppoe acName wenzhou

    调试和跟踪ASP.NET应用程序 PDF

    在本次讲座中,我会把在开发ASP.NET应用程序中常见的一些调试错误、以及这些错误的解决方法整理起来,使得大家以后开发ASP.NET应用程序起到事半功倍的效果。 <br/>课程讲师: 邵志东 MSDN特邀讲师 北京...

    调试和跟踪ASP.NET应用程序 Demo

    在本次讲座中,我会把在开发ASP.NET应用程序中常见的一些调试错误、以及这些错误的解决方法整理起来,使得大家以后开发ASP.NET应用程序起到事半功倍的效果。 <br/>课程讲师: 邵志东 MSDN特邀讲师 北京...

    华为公司排错专家--第5章 路由协议故障排除.ppt

    华为网络产品应用越来越普及,网络设备的日常维护和故障管理成为网络维护人员必须具备的一种能力。 掌握网络故障排除一般步骤 掌握常用故障诊断工具 掌握华为网络产品故障排除常用方法

    调试和跟踪ASP.NET应用程序 Video.part1

    在本次讲座中,我会把在开发ASP.NET应用程序中常见的一些调试错误、以及这些错误的解决方法整理起来,使得大家以后开发ASP.NET应用程序起到事半功倍的效果。 <br/>课程讲师: 邵志东 MSDN特邀讲师 北京...

    调试和跟踪ASP.NET应用程序 Video.part2

    在本次讲座中,我会把在开发ASP.NET应用程序中常见的一些调试错误、以及这些错误的解决方法整理起来,使得大家以后开发ASP.NET应用程序起到事半功倍的效果。 <br/>课程讲师: 邵志东 MSDN特邀讲师 北京...

Global site tag (gtag.js) - Google Analytics