• 脆弱的ASP.NET AJAX


    以前使用过Atlas,现在ASP.NET AJAX已经可以使用了。如是兴致勃勃的向自己的网站里加入该功能。环境:asp.net 2.0 +vs2005

    使用ASP.NET AJAX的目的:

    (1)文章的正文、相关文章和评论是在同一个页面的,需要把文章正文和相关文章的ViewState='true',这样在发表评论的时候才能保持页面的数据能正常显示。但当正文很长的时候__VIEWSTATE的值将会很大,要几十K甚至更多。使用 ASP.NET AJAX后局部刷新这些ViewState 可以设置为false。减少__VIEWSTATE的大小,增加访问速度。

    (2)界面友好性。用户不同总是看到空白的的东西了。

    开始行动:
    http://asp.net/ajax/downloads/archive/

    里下载了 ASP.NET 2.0 AJAX Extensions 1.0,和帮助文档。安装和配置好后建立了一个简单的测试项目发现运行正常。于是决定应用到网站上去。这个时候发生了一个令人讨厌的问题
    在发表评论的时候发现页面是刷新的,而且把文章正文和相关文章的ViewState='false'后,评论postback后原来的内容都没有了。。。。
    在测试项目上好好的啊,,项目里还使用了 Url Rewriter/Enterprise Lib/log4net,难道和它们有冲突的地方??
    自己使用了笨方法修改web.config,依次把三者都排除进行测试。。。好长时间后。。。找到了问题所在--web.config 里的 <xhtmlConformance mode="Legacy"/>
    只要它在,ASP.NET AJAX就无法使用!!!把mode 的值修改成Transitional或者Strict后发现ASP.NET AJAX可以正常使用了,以上的两个目的都达到了。正在高兴的时候发现原来的一些功能却莫名其妙的失效了。。。。。原来网站不完全符合XHTML 1.0 Transitional标准。。。

    http://blog.joycode.com/scottgu/archive/2006/12/12/88873.aspx
    也提到了这个问题。ASP.NET AJAX只要用在完全符合XHTML 1.0 Transitional标准的页面上时候才能使用的,否则自己写的脚本和它的脚本可能会冲突!!导致原来的功能异常。

    唉。。。把网站修改成完全符合标准的也不是意见容易的事情啊!现在只能放弃这个东西了。。。。

    大家有解决办法的告诉我啊,谢谢!








  • 相关阅读:
    Linux系统运维之MYSQL数据库集群部署(主从复制)
    Linux系统运维之负载均衡Tengine
    Linux系统运维之subversionEdge部署
    Linux系统运维之Hadoop、Hive、Flume数据处理
    CoIDE在STM32系列单片机中的使用实践
    软硬件调试九法:第三条规则 不要想而要看
    《产品经理》读书笔记
    <读书笔记> 代码整洁之道
    关于鼠标手的症状和恢复方法
    <读书笔记>软件调试之道 :从大局看调试-理想的调试环境
  • 原文地址:https://www.cnblogs.com/adandelion/p/973335.html
Copyright © 2020-2023  润新知