【C#】【asp.net內置對象】Server對象

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方法

在這裏插入圖片描述
點擊另外一個:
在這裏插入圖片描述


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章