Sys.WebForms.PageRequestManagerServerErrorException:....从服务器返回的状态代码是:404

时间:2010-03-05 09:44:21

标签: asp.net ajax ajax.net

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

我在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. 每当我选择第二次选择时,都会发生错误。这意味着我可以从第一个组合框中选择一个值并得到相同的错误(因此它发生在第二个回发 - 无论它来自哪个组合框)。
  3. 我已尝试在脚本管理器上设置EnablePartialRendering =“false”,但正如我所说,它在不使用ajax时有效,所以我不知道如何调试问题。

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

    我真的很感谢你的帮助

    提前致谢。

2 个答案:

答案 0 :(得分: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;
});

这对它进行了排序。

希望它可以帮助别人。

答案 1 :(得分:0)

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