熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

Request獲取url各種信息的方法

2013-11-13 10:05:47  來源: .NET編程 

  Request獲取url各種信息的方法

  測試的url地址:x 結果如下

  RequestApplicationPath: /testweb

  RequestCurrentExecutionFilePath: /testweb/defaultaspx

  RequestFilePath: /testweb/defaultaspx

  RequestPath: /testweb/defaultaspx

  RequestPathInfo:

  RequestPhysicalApplicationPath: E:\WWW\testweb\

  RequestPhysicalPath: E:\WWW\testweb\defaultaspx

  RequestRawUrl: /testweb/defaultaspx

  RequestUrlAbsolutePath: /testweb/defaultaspx

  RequestUrlAbsoluteUri: x

  RequestUrlHost:

  RequestUrlLocalPath: /testweb/defaultaspx

  RequestUrlReferrer的使用

  RequestUrlReferrer可以獲取客戶端上次請求的url的有關信息這樣我們就可以通過這個屬性返回到上一頁

  示例如下

   首先在Page_load中獲得並儲存該信息

  Page_load(object objEventArgs e)

  {

  if(!IsPostBack)

  {

  if(RequestUrlReferrer!=null)

  {

  ViewState[UrlReferrer]=RequestUrlReferrerToString();

  }

  }

  }

  l        頁面回發後會改變RequestUrlReferrer將其指向當前頁面所以需要進行判斷只有在第一次請求頁面的時候才儲存該信息

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

   然後在返回函數中使用該信息

  void Return()

  {

  if(ViewState[UrlReferrer]!=null)

  ResponseRedirect(ViewState[UrlReferrer]ToString();

  }

  在使用RequestUrlReferrer時還要注意

  () 如果上一頁面使用documentlocation方法導航到當前頁面RequestUrlReferrer返回空值

  () 如果有AB兩個頁面在浏覽器中直接請求A頁面在A頁面的中Page_Load事件中導航到B 頁面則 RequestUrlReferrer返回空因為 在Page_load事件中頁面還未初始化所以無法記錄當前頁的信息導航到b頁面也就無法獲得上一頁面的信息

  () 點擊刷新按鈕不會改變RequestUrlReferrer


From:http://tw.wingwit.com/Article/program/net/201311/12546.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.