執行Redirect 會拋出異常

  protected void Button2_Click(object sender, EventArgs e)web

        {
            try
            {
                Response.Redirect("webform1.aspx");
            }
            catch (Exception ex)
            {
                //Response.Write("ex.Message");
                Response.Redirect("webform2.aspx?aaa=" + ex.Message);
            }
        }
 
會跳轉到webform2.aspx,由於默認調用Response.Redirect會拋出一個異常,因此會跳轉到webform2去。這個異常在當前頁面打印不出來,由於若是不捕獲這個異常,則跳轉到webform1上去了,看不到這個異常。
 
解決方法是把Response.Redirect("webform1.aspx")改爲Response.Redirect("webform1.aspx",false);
 
或者
 try
            {
                          Response.Redirect("webform1.aspx");
               }
            catch (Exception ex)
            {
                if(ex is ThreadAbortException)
                {
                }
                else
                {
                    Response.Redirect("webform2.aspx?aaa=" + ex.Message);
                }
            }
參閱:
相關文章
相關標籤/搜索