ASP.NET Ajax发布时异步刷新失效的问题解决方法
2009-09-23 21:33
856 查看
在一个小型项目中,我使用了Ajax Extensions中的UpdatePanel控件,在本地调试运行时好的,可以看到ajax的异步刷新效果,但是当发布到安装了.net framework 3.5 sp1的server 2003上去之后,发现ajax效果没有了,也就是说本来的异步提交变成了非Ajax方式的POST,而且没有报告任何错误。
对比开发时和运行时发送到浏览器的html,发现开发时和运行时生成的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>这个控件来生成的,但是部署到服务器上之后并没有生成这段代码。
经过多方查找,web.config文件的congfiguration节如果设置了<xhtmlConformance mode="Legacy"/>,那么ajax将会失效,导致如上描述的情况。
但是我的项目的web.config并没有设置这一项。
不过我在我的项目中显示的加上了<xhtmlConformance mode="Transitional"/>之后,功能正常了,那段javascript出现了。
最后发现原来是因为我的项目是部署在一个asp.net网站的虚拟路径下的,在这个网站的根目录下面的web.config文件的congfiguration节设置了<xhtmlConformance mode="Legacy"/>,因为这个网站是从vs 2003迁移过来的,vs在自动转换的时候就加上了这句话。
就是因为这个小小的问题,导致了我的web应用中的ajax失效了。
对比开发时和运行时发送到浏览器的html,发现开发时和运行时生成的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>这个控件来生成的,但是部署到服务器上之后并没有生成这段代码。
经过多方查找,web.config文件的congfiguration节如果设置了<xhtmlConformance mode="Legacy"/>,那么ajax将会失效,导致如上描述的情况。
但是我的项目的web.config并没有设置这一项。
不过我在我的项目中显示的加上了<xhtmlConformance mode="Transitional"/>之后,功能正常了,那段javascript出现了。
最后发现原来是因为我的项目是部署在一个asp.net网站的虚拟路径下的,在这个网站的根目录下面的web.config文件的congfiguration节设置了<xhtmlConformance mode="Legacy"/>,因为这个网站是从vs 2003迁移过来的,vs在自动转换的时候就加上了这句话。
就是因为这个小小的问题,导致了我的web应用中的ajax失效了。
相关文章推荐
- ASP.NET Ajax发布时异步刷新失效的问题解决方法
- Asp.net-UpdatePanel异步刷新后JS失效的解决方法
- asp.net刷新页面定位问题的解决方法
- ASP.NET使用ajax时js失效问题解决
- asp.net 发布WebService出现的各种问题及解决方法
- Asp.Net 应用程序在IIS发布后无法连接oracle数据库问题的解决方法
- asp.net ajax 错误:"sys"未定义问题 解决的方法
- ASP.NET中TextBox使用Ajax控件显示日期不全的问题解决方法
- ASP.NET中TextBox使用Ajax控件显示日期不全的问题解决方法
- Asp.Net 应用程序在IIS发布后无法连接oracle数据库问题的解决方法
- 关于asp.net中ajax的问题:AjaxControlToolkit 未定义的解决方法
- Asp.Net 应用程序在IIS发布后无法连接oracle数据库问题的解决方法
- asp.net程序在调式和发布之间图片路径问题的解决方法
- ASP.NET在IE10中Form表单身份验证失效问题解决方法
- asp.net mvc Ajax.BeginForm不能异步刷新,或转到新页面,或页面还是刷新了,的原因(或解决办法)
- ASP.NET在IE10,IE11中Form表单身份验证失效问题解决方法
- asp.net ajax应用中遇到的两个问题及解决方法
- ASP.NET在IE9,IE10,IE11中Form表单身份验证失效问题解决方法
- asp.NET 2.0中引发CSS失效问题原因和解决方法
- 发布到SPS站点下的ASP.NET页面上的中文不能正常显示__问题解决方法