Request對象是HttpRequest類的一個實例,Request對象用於讀取客戶端在Web請求期間發送的HTTP值。Request對象經常使用的屬性以下所示。瀏覽器
q QueryString:獲取HTTP查詢字符串變量的集合。服務器
q Path:獲取當前請求的虛擬路徑。性能
q UserHostAddress:獲取遠程客戶端IP主機的地址。網站
q Browser:獲取有關正在請求的客戶端的瀏覽器功能的信息。編碼
1.QueryString:請求參數spa
QueryString屬性是用來獲取HTTP查詢字符串變量的集合,經過QueryString屬性可以獲取頁面傳遞的參數。在超連接中,每每須要從一個頁面跳轉到另一個頁面,跳轉的頁面須要獲取HTTP的值來進行相應的操做,例如新聞頁面的news.aspx?id=1。爲了獲取傳遞過來的id的值,則能夠使用Request的QueryString屬性,示例代碼以下所示。orm
protected void Page_Load(object sender, EventArgs e)對象
{開發
if (!String.IsNullOrEmpty(Request.QueryString["id"])) //若是傳遞的ID值不爲空字符串
{
Label1.Text = Request.QueryString["id"]; //將傳遞的值賦予標籤中
}
else
{
Label1.Text = "沒有傳遞的值"; //提示沒有傳遞的值
}
if (!String.IsNullOrEmpty(Request.QueryString["type"])) //若是傳遞的TYPE值不爲空
{
Label2.Text = Request.QueryString["type"]; //獲取傳遞的TYPE值
}
else
{
Label2.Text = "沒有傳遞的值"; //無值時進行相應的編碼
}
}
上述代碼使用Request的QueryString屬性來接受傳遞的HTTP的值,當經過訪問頁面路徑爲「http://localhost:29867/Default.aspx」時,默認傳遞的參數爲空,由於其路徑中沒有對參數的訪問。而當訪問的頁面路徑爲「http://localhost:29867/Default.aspx?id=1&type=QueryString&action=get」時,就能夠從路徑中看出該地址傳遞了三個參數,這三個參數和值分別爲id=1、type=QueryString以及action=get。
2.Path:獲取路徑
經過使用Path的方法能夠獲取當前請求的虛擬路徑,示例代碼以下所示。
Label3.Text = Request.Path.ToString(); //獲取請求路徑
當在應用程序開發中使用Request.Path.ToString()時,就可以獲取當前正在被請求的文件的虛擬路徑的值,當須要對相應的文件進行操做時,能夠使用Request.Path的信息進行判斷。
3.UserHostAddress:獲取IP記錄
經過使用UserHostAddress的方法,能夠獲取遠程客戶端IP主機的地址,示例代碼以下所示。
Label4.Text = Request.UserHostAddress; //獲取客戶端IP
在客戶端主機IP統計和判斷中,能夠使用Request.UserHostAddress進行IP統計和判斷。在有些系統中,須要對來訪的IP進行篩選,使用Request.UserHostAddress就可以輕鬆的判斷用戶IP並進行篩選操做。
4.Browser:獲取瀏覽器信息
經過使用Browser的方法,能夠判斷正在瀏覽網站的客戶端的瀏覽器的版本,以及瀏覽器的一些信息,示例代碼以下所示。
Label5.Text = Request.Browser.Type.ToString(); //獲取瀏覽器信息
這些屬性可以獲取服務器和客戶端的相應信息,也能夠經過「?」號進行HTTP的值的傳遞和獲取。
Request不只包括這些經常使用的屬性,還包括其餘屬性,例如用於獲取當前目錄在服務器虛擬主機中的絕對路徑(如ApplicationPath)。另外,開發人員也但是使用Request中的Form屬性進行頁面中窗體的值集合的獲取。