【问题标题】:asp.net doesn't render Sys.WebForms.PageRequestManager._initialize codeasp.net 不呈现 Sys.WebForms.PageRequestManager._initialize 代码
【发布时间】:2010-10-25 06:07:57
【问题描述】:

我在一个网站上使用 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

【问题讨论】:

    标签: asp.net-ajax


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      远程网站的 web.config 是否设置了

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多