易截截图软件、单文件、免安装、纯绿色、仅160KB

ASP.NET Ajax发布时异步刷新失效的问题解决方法

在一个小型项目中,我使用了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失效了。
    在发布后不报错,在调试的页面回报js"Sys"为定义错误!可能是.net 3.5环境问题,有待高手详细说明!


相关文档:

ASP.NET弹出对话框几种基本方法


 
 
 
 
ASP.NET弹出对话框几种基本方法
ASP.NET弹出对话框几种基本方法
我们在.NET程序的开发过程中,常常需要和用户进行信息交互,比如执行某项操作是否成功,“确定”还是“取消”,以及选择“确定”或“取消”后是否需要跳转到某个页面等,下面是 ......

ASP转ASP.NET(1)

      与ASP相比,ASP.NET在很多方面有了显著的改进,这些方面包括:性能、状态管理、可缩放性、配置、部署、安全性、输出缓存控制、网络场支持和XML Web services结构等。   
      如果您具有ASP   开发技能,则新的   ASP.NET   编程 ......

使用WebClient自动填写并提交ASP.NET页面表单


使用WebClient自动填写并提交ASP.NET页面表单
      在.NET中通过程序填写和提交表单还是比较简单。比如,要提交一个如下图所示的登录表单:
           
填写和提交以上表单的代码如下:
      &nb ......

ASP.NET错误:输入数组长度大于此表中的列数。

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.ArgumentException: 输入数组长度大于此表中的列数。
错误代码如下:
            DataTable sourceTable = ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号