ASP.Net 返回上一個頁面(Request.UrlReferrer)

來源:互聯網
上載者:User
Request.UrlReferrer可以擷取用戶端上次請求的url的有關資訊。
  這樣我們就可以通過這個屬性返回到“上一頁”,
樣本如下
    

1.      首先在Page_load中獲得並儲存該資訊

Page_load(object obj,EventArgs e)
             {
                     if(!IsPostBack)
                    {
                         if(Request.UrlReferrer!=null)  //
                        {
                            ViewState["UrlReferrer"]=Request.UrlReferrer.ToString();
                        }
                    }
             }

l        頁面回傳後會改變Request.UrlReferrer,將其指向當前頁面,所以需要進行判斷:只有在第一次請求頁面的時候才儲存該資訊

l        因為可能“上一次”的url不存在,所以需要進行判斷,只有在Request.UrlReferrer存在的情況下才進行儲存
            

2.      然後在返回函數中使用該資訊

void Return()

{

    if(ViewState["UrlReferrer"]!=null)

        Response.Redirect(ViewState["UrlReferrer"].ToString();

}

在使用Request.UrlReferrer時還要注意: 
1.  如果上一頁面使用document.location方法導航到當前頁面,Request.UrlReferrer返回空值
2.  如果有A,B兩個頁面,在瀏覽器中直接請求A頁面,在A頁面的中Page_Load事件中導航到B 頁面,則    Request.UrlReferrer返回空。因為 在Page_load事件中頁面還未初始化,所以無法記錄當前頁的資訊,導航到b頁面也就無法獲得上一頁面的資訊   
3.  點擊重新整理按鈕不會改變Request.UrlReferrer 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.