【问题标题】:Sys.WebForms.PageRequestManagerServerErrorException: .... The status code returned from the server was: 404Sys.WebForms.PageRequestManagerServerErrorException: .... 从服务器返回的状态码是:404
【发布时间】:2010-03-05 09:44:21
【问题描述】:

我看过一些关于这个问题的帖子,但没有一个是针对我的问题的,我不知道我需要做什么来调试这个问题。

我在一个 aspx 页面上有一些组合框,当我从第一个中选择一个值时,它会用值填充第二个,以此类推第三个和第四个。在我将 asp.net UpdatePanel 包裹在组合框周围并尝试“ajaxify”整个过程之前,这没有问题,因此页面不会乱跳。我得到的确切错误是:

Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the server. The status code returned from the server was: 404

注意事项:

  1. 我正在使用 URL 重写 - 我认为这是导致问题的原因
  2. 每当我第二次选择一个选项时,就会出现该错误。这意味着我可以从第一个组合框中选择一个值并得到相同的错误(所以它发生在第二个回发中 - 无论它来自哪个组合框)。

我尝试在脚本管理器上设置 EnablePartialRendering="false" 但正如我所说,它在不使用 ajax 时有效,所以我不知道如何调试问题。

我的服务器是运行 IIS 和 ASP.NET 2.0 的 Windows 2008。

非常感谢您的帮助

提前致谢。

【问题讨论】:

    标签: asp.net ajax ajax.net


    【解决方案1】:

    好的,我已经设法找到了解决方案……发布后几分钟。

    我使用 HTTPWatch 来获取请求发布到的 URL。这向我展示了每个帖子的 URL 都附加到现有的 URL 而不是覆盖。我在页面顶部使用了一些 JavaScript 将表单 URL 设置为窗口位置:

    Sys.Application.add_load(function()
    {
        var form = Sys.WebForms.PageRequestManager.getInstance()._form;
        form._initialAction = form.action = window.location.href;
    });
    

    这样排序了。

    希望对其他人有所帮助。

    【讨论】:

      【解决方案2】:

      如果使用,请使用 Response.Redirect() 而不是 Response.Transfer()。

      【讨论】:

      • 如果您使用,请使用 Response.Redirect() 而不是 Server.Transfer()。
      猜你喜欢
      • 2015-09-08
      • 2012-07-20
      • 2011-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-24
      • 1970-01-01
      相关资源
      最近更新 更多