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

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

问题描述:

我已经看到有关此问题的一些帖子,但没有一个具体到我的问题,我不知道我需要什么做这个调试。Sys.WebForms.PageRequestManagerServerErrorException:....从服务器返回的状态代码是:404

我在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,所以我不知道如何调试问题。

我的服务器是Windows 2008,运行带有ASP.NET 2.0的IIS &。

我真的很感激你的帮助

在此先感谢。

好吧,我已经设法找到一个解决方案......发布后的几分钟。

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

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

这样对它进行排序。

希望它可以帮助别人。

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

+1

如果您使用,请使用Response.Redirect()而不是Server.Transfer()。 – user2239208 2013-04-03 07:08:23