asp.net不呈现Sys.WebForms.PageRequestManager._initialize代码

时间:2009-05-11 10:34:42

标签: asp.net-ajax

我在网站上使用ASP.NET 2.0 Ajax Extensions。一如既往,本地一切都很好,但远程网站不使用ajax调用。我的本地服务器安装了ASP.NET Ajax扩展,但远程安装没有。我知道我应该能够使用Ajax扩展而无需安装它们。所以反过来,我在网站的参考文献中添加了扩展名.dll,但仍然没有运气。

经过进一步调查后,我发现本地和远程页面的HTML代码完全相同,只是本地(工作)页面有这些行

//<![CDATA[ Sys.WebForms.PageRequestManager._initialize('ctl00$ContentPlaceHolder1$ScriptManager1', document.getElementById('aspnetForm')); Sys.WebForms.PageRequestManager.getInstance()._updateControls(['tctl00$ContentPlaceHolder1$updReportArgs','tctl00$ContentPlaceHolder1$updReport'], ['ctl00$ContentPlaceHolder1$chkTumu','ctl00$ContentPlaceHolder1$btnGetir'], [], 90); //]]>

显然,这些是使回调成为可能的代码行。问题是为什么asp.net不呈现这些行?可能缺少什么?

顺便说一句,ScriptResource.axd和WebResource.axd没有提供404或任何东西,我可以通过Firebug查看他们的js代码。

还有一件事:我不确定它是否相关,但是页面上还有客户端的asp.net验证器,它们的js代码也没有呈现。再次,那些在当地工作得很好。

如需进一步调查,您可以在此处查看远程网站: http://www.ajitatif.com/subdomains/nazer/Raporlar/danismanbasarim.aspx

2 个答案:

答案 0 :(得分:1)

远程网站的web.config是否有&lt; xhtmlConformance mode =“Legacy”/&gt; 设置?

此设置可防止部分页面更新生效。将模式更改为Transitional或Strict,或删除xhtmlConformance设置。

http://weblogs.asp.net/scottgu/archive/2006/12/10/gotcha-don-t-use-xhtmlconformance-mode-legacy-with-asp-net-ajax.aspx

答案 1 :(得分:0)

我遇到了同样的问题,但是我将一个ScriptManager控件作为子控件添加到自定义用户控件中。我忘了调用RenderControl方法。一旦我添加了该调用,它就添加了前面提到的javascript行。所以我不确定你是否使用了用户控件,但我很确定不会以某种方式为你的ScriptManager调用Render例程。