没有try / catch,ASP.NET Response.Redirect()不起作用

时间:2013-03-10 08:18:23

标签: c# asp.net multithreading exception response.redirect

我遇到了麻烦,我在ASP.NET之前没有遇到过这个问题。我无法使用方法Response.Redirect()

重定向到某个位置

我已经阅读了另一个主题,可能会告诉你,我到底尝试了什么:

  • 我不在Response.Redirect()块中使用try/catch,这可能会导致ThreadAbortException(但如果您尝试忽略此异常 - 必须重定向,即使在这种情况下我也是无法重定向)
  • 我尝试使用Boolean值,在Page_Load()方法的末尾使用它们作为标记来进行重定向
  • 我试图使用带有location属性的JS调用,但是ASP.NET忽略了它......我看到我可以调用JS中的任何函数而忽略它
  • 尝试设置false方法Response.Redirect()的第二个参数的值

我将粘贴ONLY其中一个变体,因为当我写上层时,我尝试了不同的方法,但没有成功。

代码:http://ideone.com/Y8Fwpt

58th行上的重定向即使有ThreadAbortException的处理程序也无效。在62nd行调用JS方案 - 也忽略了。

即使我删除try/catch block - 也不会有任何改变。

请帮我解决这个问题!

1 个答案:

答案 0 :(得分:1)

如果我删除了登录表单上的onclick(),我可以重定向工作 - 我认为您的查询字符串没有正确显示,所以最终只需快速刷新页面即可。所以,我会提出两点建议:

一个,删除所有脚本&你正在努力做的Ajax,并让它首先使用正常的回发 - 然后你可以回去尝试异步的东西。

两个,我不会在这一点上创建你自己的cookie - MySQLConnector库有你可以使用的MembershipRole个提供者来构建连接到MySQL数据库。

简而言之,我在开发时所掌握的成语是“做最简单的工作”,在这种情况下只是“经典”的ASP.NET回发......

HTH。