none
ASP.NET3.5 Ajax Web应用发布到Server2003 上之后Ajax失效 RRS feed

  • 常规讨论

  • 大家好,我使用了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没有生效

    请问一下,出现这种问题可能是什么原因?
    2009年4月26日 4:44

全部回复

  • Ajax 是.net framework 3.5 自带的那个吗?
    【孟子E章】
    2009年4月26日 7:28
    版主
  • 谢谢你的回复。

    是.net framework 3.5自带的,叫ajax extention 吧
    2009年4月26日 8:31
  • 你好,请查看一下,C:\WINDOWS\assembly 是否存在 System.Web.Extensions 3.5的程序集。
    jon.valett@gmail.com
    2009年4月26日 14:45
    版主
  • 存在,一共四个 System.Web.Extensions,System.Web.Extensions.Design,System.Web.Extensions.Design.resourse,System.Web.Extensions.resources

    而且,我觉得应该不是这个的问题,如果不存在,那么肯定会报错,说找不到库。但是现在是根本就不报错,所以也不知道怎么解决问题。

    网上说那两行代码是asp.net ajax的入口。

    这个小项目发布在即,而且这个关系到核心功能的实现,希望能尽快解决哦。

    2009年4月26日 15:07
  • 楼主,你好,IE报告脚本错误处,是否有报告错误的图标,点击可以查看详细的错误信息!
    jon.valett@gmail.com
    2009年4月26日 15:25
    版主
  • 谢谢你,终于问题解决了,

    是这样的,因为我的项目是部署在一个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这个网页后解决的问题。

    哎,我弄了整整两天才找到原因啊,希望以后不会有人因为同样的问题浪费时间额。
    2009年4月26日 16:04
  • 一般出现类似问题只要考虑两个问题,一是程序集,二是配置文件,一般出错都逃不过这两块,而且配置文件出错率很高!
    jon.valett@gmail.com
    2009年4月27日 2:21
    版主