我在try / catch块中有代码,并重定向到另一个页面。如果发生任何错误,catch也会重定向到另一个页面。当用户单击提交按钮时,页面不会重定向到任何位置。它会进行某种页面刷新并保持在同一页面上。它有时会发生。其他时候,需要在识别重定向之前单击该按钮几次,然后重定向到SUCCESS页面。有关为什么会发生这种情况的任何想法?感谢。
try
{
...
Response.Redirect("SOME PAGE SUCCESS", false);
}
catch (Exception ex)
{
Response.Redirect("SOME PAGE FAIL");
}
js脚本执行doPostBack将数据提交给服务器端。
setTimeout('__doPostBack(\'' + el.name + '\',\'' + args + lia + '\')', 500);
答案 0 :(得分:0)
你不应该在try-catch块中使用response.redirect。尝试在try-catch块中设置一个布尔变量,然后在if-then-else语句中使用该变量的值,在结束尝试后重定向到相应的页面。
答案 1 :(得分:0)
我不得不重做整个页面。显然,有太多的setTimeout('__ doPostBack()',500);在javascript中调用,随机刷新页面,不允许服务器完成其代码的运行。摆脱了所有__doPostBack调用到服务器并使用asp.net控件并直接与服务器一起提交页面。