Server
對象
該對象定義了一個與Web
服務器相關的類,提供對服務器上的方法和屬性的訪問,用於訪問服務器上的資源。Server
對象提供對服務器上的資源訪問以及進行HTML
編碼的功能。在Web Forms
框架中,Server
對象是HttpServerUtility
類的實例,在MVC
中,它屬於HttpServerUtilityBase
對象。
Server
對象的常用方法
1、Server.MapPath
方法用來返回與服務器上的指定虛擬路徑相對應的物理路徑。
Server.MapPath(path);
其中,path
表示Web
服務器上的虛擬路徑,如果path==NULL
,則該方法返回包含當前應用程序的完整物理路徑。如果想在瀏覽器中輸出指定文件Login.aspx
的物理路徑,可以這樣寫:
Response.Write(Server.MapPath("Login.aspx"));
2、Server.UrlEncode
方法用於對通過URL
傳遞到服務器的數據進行編碼。
Server.UrlEncode(string);
其中,string
爲需要進行編碼的數據。例如:
Response.Write(Server.UrlEncode("HTTP://Login.aspx"));
編碼的最後結果是:
HTTP%3a%2f%2fLogin.aspx
3、Server
對象的UrlEncode
方法的編碼規則是這樣的:
- 空格將被加號( + )字符所替代
- 英文字符不被編碼
- 非
ASCLL
字符將被轉義碼所替代
4、Server.UrlDecode
用來對字符串進行URL
解碼並返回已經解碼的字符串,語法:
Server.UrlDecode(string);
同上,string
爲解碼的數據,例如:
Response.Write(Server.UrlDecode("HTTP%3a%2f%2fLogin.aspx"));
解碼後是這樣的:
HTTP://Login.aspx
使用Server
對象重定向頁面——實現兩種重定向頁面方法
Server
對象有兩個用於重定向頁面的方法:
Server.Execute
方法。使用該方法用於執行從當前頁面轉移到另一個頁面,並將執行返回到當前頁面。執行所轉移的界面在同一個瀏覽器窗口中執行,然後再原始頁面繼續執行。原始頁面保留控制權。Transfer
方法。完全轉移到指定頁面。
下面開始具體的步驟:
1、新建一個網站,添加一個默認主頁,在默認主頁上面添加兩個Button
控件,它們的屬性分別設置爲:
控件類型 | 空間名稱 | 主要屬性設置 | 用途 |
---|---|---|---|
Button 控件 |
btnExecute |
Text 屬性設置爲Execute 方法 |
使用Execute 方法重定向頁面 |
Button 控件 |
btnTransfer |
Text 屬性設置爲Transfer 方法 |
使用Transfer 方法重定向頁面 |
並且在頁面源代碼的<div>
標籤下定義如下代碼標籤:
<asp:Button ID="btnExecute" runat="server" Text="Execute方法" OnClick="btnExecute_Click" />
<asp:Button ID="btnTransfer" runat="server" Text="Transfer方法" OnClick="btnTransfer_Click" />
2、在該頁面的.cs
文件中,定義兩個Button
控件的Click
方法,然後利用上述的兩個方法重定向到新的頁面,新的頁面起名爲NewPage.aspx
,下面是兩個Click
方法中的語句。
protected void btnExecute_Click(object sender, EventArgs e)
{
Server.Execute("NewPage.aspx?message=Execute");
Response.Write("主頁");
}
protected void btnTransfer_Click(object sender, EventArgs e)
{
Server.Transfer("NewPage.aspx?message=Transfer");
Response.Write("主頁");
}
3、在新建的頁面的Page_Load
方法中,接收傳來的參數,並顯示到頁面上:
protected void Page_Load(object sender, EventArgs e)
{
string message = Request.QueryString["message"];
Response.Write(message);
}
最後的執行效果是這樣的:
點擊Button--Execute方法
:
點擊另外一個: