询问者
ASP.NET3.5 Ajax Web应用发布到Server2003 上之后Ajax失效

常规讨论
-
大家好,我使用了Ajax extention中的UpdatePanel控件,在本地调试运行时好的,可以看到ajax效果,但是当发布到安装了.net framework 3.5 sp1的server 2003上去之后,发现ajax效果没有了,没有报任何错误
最后对比开发时和运行时生成的html相比多了一下下面的javascript:
<script type="text/javascript">
//<![CDATA[
Sys.WebForms.PageRequestManager._initialize('ScriptManager1', document.getElementById('form1'));
Sys.WebForms.PageRequestManager.getInstance()._updateControls(['tUpdatePanel1'], ['Button1'], [], 90);
//]]>
</script>
也就是asp:scriptmanager没有生效
请问一下,出现这种问题可能是什么原因?
全部回复
-
谢谢你,终于问题解决了,
是这样的,因为我的项目是部署在一个asp.net网站的虚拟路径下的,在这个网站的根目录下面的web.config文件的congfiguration节设置了<xhtmlConformance mode="Legacy"/>,因为这个网站是从vs 2003迁移过来的,vs在自动转换的时候就加上了这句话。
因为根目录下的配置,直接导致了虚拟路径下的asp.net ajax应用的ajax效果失败,在虚拟路径下的web.config加上
<xhtmlConformance mode="Transitional"/>问题就解决了,至于为什么<xhtmlConformance mode="Legacy"/>会导致ajax失效(即scriptmanager不生成那两句话),我不是很清楚。
我是看到http://school.cnd8.com/ajax/jiaocheng/5921.htm这个网页后解决的问题。
哎,我弄了整整两天才找到原因啊,希望以后不会有人因为同样的问题浪费时间额。