我在一个网站上使用了ASP.NET 2.0 Ajax扩展。和往常一样,本地一切正常,但远程网站不使用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
发布于 2009-06-13 21:02:15
我也遇到过同样的问题,但我将ScriptManager控件作为子控件添加到自定义用户控件中。我忘了调用RenderControl方法。一旦我添加了这个调用,它就添加了前面提到的javascript行。所以我不确定你是不是在使用用户控件,但我很确定你的ScriptManager没有调用渲染例程。
https://stackoverflow.com/questions/847543
复制相似问题