程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> Request.UrlReferrer詳解

Request.UrlReferrer詳解

編輯:C#入門知識

使用前需要進行判斷:

      if (Request != null && Request.UrlReferrer != null && Request.UrlReferrer.PathAndQuery != null)
      {
            string previousURL = Request.UrlReferrer.PathAndQuery;
      }

 

 

實例說明:

     

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 。

    

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved