【原文地址】 Gotcha: Don't use <xhtmlConformance mode="Legacy"/> with ASP.NET AJAX
【原文发表日期】 Sunday, December 10, 2006 9:39 PM
最近,我帮过几个开发人员,他们遇上了一些古怪的JavaScript问题,这些问题会在使用ASP.NET AJAX 以及他们的一些自定义的JavaScript脚本时出现。问题的主因在于,他们是把VS 2003 Web项目自动移植到VS 2005的,在他们的web.config文件中还配置有 <xhtmlConformance mode="Legacy"/> 。
假如你在你的 web 应用中编写了自定义的客户端JavaScript脚本,而且将使用AJAX的话,请读下去,了解如何避免这个常见的疑难杂症 (注:想浏览我贴出的其他技巧,诀窍和疑难杂症的帖子列单的话,请访问这里的这个网页)。
症状:
当你往先前成功地从VS 2003 升级到VS 2005的项目中添加新的客户端JavaScript脚本时,你会看到奇怪的行为。在使用ASP.NET AJAX UpdatePanel 控件时,这个奇怪的行为有时会包括页面做整页 postback,而不仅是递增性的局部更新的情形。
当你打开你的web.config文件,你会看到其中的 <xhtmlConformance/> 元素,象这样:
<configuration>
<system.web>
<xhtmlConformancemode="Legacy"/>
</system.web>
</configuration>
背景:
ASP.NET 1.0 和 1.1 中的许多服务器端控件并不输出与XHTML兼容的标识。ASP.NET 2.0 对此做了改变,在默认情形下,所有的服务器端控件都会输出与XHTML兼容的标识 (注:你可以从这篇优秀的MSDN文章中进一步了解ASP.NET 2.0 中标准兼容的情况)。
但在早期的ASP.NET 2.0 beta 中我们注意到的一件事情是,当把客户应用升级时,其实,很多应用会假设页面输出并不是与XHTML兼容的。把我们服务器控件的默认输出改成与XHTML兼容的话,它有时会修改页面的视觉显示。为向后兼容的目的,我们添加了上面这个 <xhtmlConformance> 设置,允许开发人员可以设置控件以Legacy模式(即与ASP.NET 1.1一样,会输出非XHTML标识),或者Transitional 模式 (XHTML Transitional) ,或者 Strict 模式 (XHTML Strict)显示。
在默认情形下,当你使用VS 2003升级到VS 2005的Web项目移植向导时(无论是网站或 web 应用项目),你的web.config文件里会添有这个legacy配置。
解决方案:
除非你已知当你的网站以XHTML模式运行时会有问题(但你还没时间更正),我总是建议从你的web.config文件里去掉 <xhtmlConformance> 这部分,或者你也可以明确地将其设置为Transitional 或 Strict。
这将使得你的HTML输出是符合标准的,此外,这也将导致你的服务器控件的HTML输出是well formed,即, 开始标签和结束标签总是相匹配的。当你使用AJAX技术来动态替换你的页面上某些HTML元素的内容时,这尤其重要,否则的话,客户端JavaScript脚本有时会搞不清楚容器元素,导致出错。它也将确保ASP.NET AJAX会在你的网站上正常工作。
希望本文对你有所帮助,
Scott
分享到:
相关推荐
Asp.Net技术是微软推出的一种用于构建...这份知识锦集可能还包括对以上各点的深入探讨,以及实际开发中遇到的疑难杂症和相应的解决方案。无论是初学者还是有经验的开发者,都能从中受益,提升自己的Asp.Net技术水平。
在"专家门诊-ASP.NET开发答疑"中,我们可以预见到一系列关于ASP.NET开发中的常见问题、疑难杂症以及解决方案。 在ASP.NET开发中,首先会涉及的基本概念包括ASP.NET页面生命周期,它涵盖了从请求到响应的整个过程,...
在现代Web应用中,AJAX(Asynchronous JavaScript and XML)技术被广泛使用,实现页面的异步更新。Fiddler2可以很好地帮助开发者调试AJAX请求。你可以查看每个AJAX请求的详细内容,如请求方法(GET、POST等)、请求...
matlab:基于遗传算法的多无人机协同任务分配 - 基于遗传算法的多无人机协同任务分配 - 种群中的每一个个体代表一次完整的任务分配方案,模型目标是找到代价函数的最小值,当作任务分配的最终方案 - 任务的代价评估分为两部分:无人机的总航程和消耗的总时间,分别设置了不同权重 - 注释详细。内容来源于网络分享,如有侵权请联系我删除。另外如果没有积分的同学需要下载,请私信我。
Matlab领域上传的视频是由对应的完整代码运行得来的,完整代码皆可运行,亲测可用,适合小白; 1、从视频里可见完整代码的内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作
水果销售系统系统主要功能: a.系统功能模块: 首页,门店,商品信息,公告资讯,个人中心,后台管理,购物车,投诉反馈等 b.管理员功能模块: 首页,个人中心,门店管理,用户管理,商品分类管理,商品信息管理,商品咨询管理,系统管理等 c.用户功能模块: 首页,个人中心,商品咨询管理,我的收藏管理等 d.门店功能模块: 首页,个人中心,商品信息管理,商品咨询管理,订单管理等功能 关键技术: MYSQL、Python、Django、vue 【技术支持】项目均已测试可正常运行,调试问题可私 【内容包含】源码+数据库+开发文档+lun w....,快速上手。
前一段时间一直有这个问题,新建文件和文件夹、改名都不更新,必须按F5刷新出来了,每次都要按F5刷新一次。删除文件、移动文件什么的都不会显示出来,一直没搞清楚什么原因,遇到问题, 1、请先试试删除本机是否连接到了别的计算机的共享目录,有的话先删除试试。 2、如果1不可行,再试试我的电脑的文件夹选项/查看,重置下默认值。 3、如果再不行就实施本办法...... 注意不需要重启,只需要打开任务管理器,把资源管理器重启一下即可
无刷直流电机BLDC sinulink仿真 无刷直流电机双闭环PId控制 1)主要由DC直流源、三相逆变桥、无刷直流电机、PWM发生器、霍尔位置解码模块、驱动信号模块、PID、示波器等构成。 2)采用转速环、电流环双闭环控制算法; 3)转速环采用PID控制; 4)电流环采用PID控制;
四轮转向汽车模型预测控制(MPC)路径跟踪 simulink-simscape仿真,无需carsim。 mpc基于车辆动力学模型设计,纵向PID控制。 支持平坦路面,颠簸路面切,外形变化。 魔术公式轮胎模型。 注:MATLAB要求2022a及以上版本
资源说明: 1:csdn平台资源详情页的文档预览若发现'异常',属平台多文档混合解析和叠加展示风格,请放心使用。 2:32页图文详解文档(从零开始项目全套环境工具安装搭建调试运行部署,保姆级图文详解)。 3:34页范例参考毕业论文,万字长文,word文档,支持二次编辑。 4:27页范例参考答辩ppt,pptx格式,支持二次编辑。 5:工具环境、ppt参考模板、相关教程资源分享。 6:资源项目源码均已通过严格测试验证,保证能够正常运行,本项目仅用作交流学习参考,请切勿用于商业用途。 7:项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通。 内容概要: 本系统基于 B/S 网络结构,在IDEA中开发。服务端用 Java 并借 ssm 框架(Spring+SpringMVC+MyBatis)搭建后台。前台采用支持 HTML5 的 VUE 框架。用 MySQL 存储数据,可靠性强。 能学到什么: 学会用ssm搭建后台,提升效率、专注业务。学习 VUE 框架构建交互界面、前后端数据交互、MySQL管理数据、从零开始环境搭建、调试、运行、打包、部署流程。
资源说明: 1:csdn平台资源详情页的文档预览若发现'异常',属平台多文档混合解析和叠加展示风格,请放心使用。 2:32页图文详解文档(从零开始项目全套环境工具安装搭建调试运行部署,保姆级图文详解)。 3:34页范例参考毕业论文,万字长文,word文档,支持二次编辑。 4:27页范例参考答辩ppt,pptx格式,支持二次编辑。 5:工具环境、ppt参考模板、相关教程资源分享。 6:资源项目源码均已通过严格测试验证,保证能够正常运行,本项目仅用作交流学习参考,请切勿用于商业用途。 7:项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通。 内容概要: 本系统基于 B/S 网络结构,在 IDEA 中开发。服务端用 Java 并借 ssm 框架(Spring+SpringMVC+MyBatis)搭建后台。用 MySQL 存储数据,可靠性强。 能学到什么: 学会用ssm搭建后台,提升效率、专注业务。学习使用jsp、html构建交互界面、前后端数据交互、MySQL管理数据、从零开始环境搭建、调试、运行、打包、部署流程。
风光出力场景生成与消减 可采用蒙特卡洛模拟和拉丁超立方生成光伏和风电出力场景,并采用快速前推法或同步回代消除法进行削减,可以对生成场景数和削减数据进行修改。 可增加负荷功率的场景生成与削减,根据需求进行修改-改进
四柱印刷机sw18可编辑全套技术资料100%好用.zip
资源说明: 1:csdn平台资源详情页的文档预览若发现'异常',属平台多文档混合解析和叠加展示风格,请放心使用。 2:32页图文详解文档(从零开始项目全套环境工具安装搭建调试运行部署,保姆级图文详解)。 3:34页范例参考毕业论文,万字长文,word文档,支持二次编辑。 4:27页范例参考答辩ppt,pptx格式,支持二次编辑。 5:工具环境、ppt参考模板、相关教程资源分享。 6:资源项目源码均已通过严格测试验证,保证能够正常运行,本项目仅用作交流学习参考,请切勿用于商业用途。 7:项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通。 内容概要: 本系统基于 B/S 网络结构,在 IDEA 中开发。服务端用 Java 并借 ssm 框架(Spring+SpringMVC+MyBatis)搭建后台。用 MySQL 存储数据,可靠性强。 能学到什么: 学会用ssm搭建后台,提升效率、专注业务。学习使用jsp、html构建交互界面、前后端数据交互、MySQL管理数据、从零开始环境搭建、调试、运行、打包、部署流程。
工厂垂直提升机sw14可编辑全套技术资料100%好用.zip
MATLAB代码:面向削峰填谷的电动汽车多目标优化调度策略 关键词:电动汽车 削峰填谷 多目标 充放电优化 参考文档:自己整理的说明文档,公式、约束、数据齐全,可联系我查看 仿真平台:MATLAB YALMIP+CPLEX 优势:代码注释详实,出图效果非常好,说明文档细致详细,模型精准 主要内容:代码主要实现了考虑电动汽车参与削峰填谷的场景下,电动汽车充放电策略的优化,是一个多目标优化,目标函数一方面考虑了电动汽车综合负荷以及电池 化损耗成本,一方面考虑了削峰填谷的峰谷差和负荷波动最低,所以为三目标约束,最后通过赋权值以及化简将三目标问题化简为单目标问题进行求解,求解结果可以看出来电动汽车参与后,负荷曲线有明显改善,结果合理正确。
感应电机 异步电机模型预测磁链控制MPFC 感应电机MPFC系统将逆变器电压矢量遍历代入到定子磁链预测模型,可得到下一时刻的定子磁链(定子磁链参考值可由等效替得到),将预测得到的定子磁链代入到表征系统控制性能的成本函数,并将令成本函数最小的电压矢量作为输出。 提供对应的参考文献;
彼得森经济研究所-美国是否正在经历一场将提振中产阶级的制造业复兴
Python培训之美眉图片下载爬虫 06 读回模特个人网站内容
使用 Python 和 Tkinter 库创建新年倒计时程序 新的一年即将到来,我们不妨通过一个简单又有趣的 Python 程序来迎接它!今天,我们将使用 Python 的 Tkinter 库,创建一个新年倒计时的窗口程序。通过加载背景图片,使用 Label 组件实时显示倒计时(天数、小时数、分钟数、秒数),并通过每秒更新一次时间,来提醒你新年的到来。 这个新年倒计时程序的代码结构简洁,功能清晰,适合 Python 初学者学习和理解。通过这个项目,你可以了解如何使用 Tkinter 创建图形用户界面、如何操作时间以及如何在窗口中动态更新内容。你可以根据自己的需求进一步优化程序,例如增加一些动画效果、设置不同的字体样式或者改变背景图片等。 希望这篇博客能帮助你理解 Tkinter 的基本用法,并激发你尝试更多有趣的项目!