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
需要注意以下几点:
- 我使用的URL重写 - 这就是我的想法是造成
- 将发生错误,每当我选择问题第二次选择。这意味着我可以从第一个组合框中选择一个值并获得相同的错误(因此它在第二个回发中发生 - 无论它来自哪个组合框)。
我已经尝试在脚本管理器上设置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()。
如果您使用,请使用Response.Redirect()而不是Server.Transfer()。 – user2239208 2013-04-03 07:08:23