0

您好,我正在尝试从当前页面重定向到另一个页面,当它必须重定向我时告诉我:

Thread was being aborted.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Threading.ThreadAbortException: Thread was being aborted.

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace: 


[ThreadAbortException: Thread was being aborted.]
   System.Web.HttpContext.InvokeCancellableCallback(WaitCallback callback, Object state) +298
   System.Web.Util.<>c__DisplayClass1.<WrapContinuation>b__0() +37
   System.Threading.Tasks.SynchronizationContextAwaitTaskContinuation.<.cctor>b__3(Object state) +37
   System.Web.<>c__DisplayClass7.<Post>b__6() +15
   System.Web.Util.SynchronizationHelper.SafeWrapCallback(Action action) +91

错误在页面上,生成的代码是这样的:

protected void Button1_Click(object sender, EventArgs e)
{
    Response.Redirect("/seller/ven_mainwin/recharge/recharge.aspx");
}
4

1 回答 1

1

Response.Redirect将触发 ThreadAbortException。

在绝大多数情况下,这可以安全地忽略。

protected void Button1_Click(object sender, EventArgs e)
{
    try{
       Response.Redirect("/seller/ven_mainwin/recharge/recharge.aspx");
    }
    catch (System.Threading.ThreadAbortException e){
      // do nothing. This exception can be ignored. 
    }

}

Joel Fillmore 指出这是正确的设计模式

 Response.Redirect(url, false);
 Context.ApplicationInstance.CompleteRequest();
于 2013-02-13T18:37:20.343 回答