1. 程式人生 > >ASP.Net 返回上一個頁面(Request.UrlReferrer)

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

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