日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

ASP.NET的六大內置對象總結

 悟靜 2010-10-14
ASP.NET的內置對象介紹:

 

1.Response

2.Request

3.Server

4.Application

5.Session

6.Cookie

一、Request對象主要是讓服務器取得客戶端瀏覽器的一些數(shù)據(jù),包括從HTML表單用Post或者GET方法傳遞的參數(shù)、Cookie和用戶認證。因為Request對象是Page對象的成員之一,所以在程序中不需要做任何的聲明即可直接使用;

其類名為 HttpRequest

屬性很多,但方法很少,只有一個BinaryRead()

1.使用Request.Form屬性獲取數(shù)據(jù)

通過該屬性,讀取<Form></Form>之間的表單數(shù)據(jù).注意:提交方式要設置為“Post”。

與Get方法相比較,使用Post方法可以將大量數(shù)據(jù)發(fā)送到服務器端

2.利用Request.QueryString屬性獲取數(shù)據(jù)

Request對象的QuerySting屬性可以獲取 HTTP 查詢字符串變量集合 。 通過該屬性,我們可以讀取地址信息   http://localhost/aaa.aspx?uid=tom&pwd=abc 其中標識為紅色部分的數(shù)據(jù).

注意:提交方式要設置為“Get”

3.問題:Request.Form用于表單提交方式為Post的情況,而Request.QueryString用于表單提交方式為Get的情況,如果用錯,則獲取不到數(shù)據(jù)。

解決方法:利用Request(“元素名”)來簡化操作。

4.Request.ServerVariables("環(huán)境變量名稱")

類似的還有:UserHostAddress,Browser,Cookies,ContentType,IsAuthenticated,Item,Params

二、Response對象用語輸出數(shù)據(jù)到客戶端,包括向瀏覽器輸出數(shù)據(jù)、重定向瀏覽器到另一個URL或向瀏覽器輸出Cookie文件。

其類名為httpResponse

屬性和方法

Write() 向客戶端發(fā)送字符串信息

BufferOutPut屬性     是否使用緩存

Clear() 清除緩存

Flush()   強制輸出緩存的所有數(shù)據(jù)

Redirect() 網頁轉向地址

End() 終止當前頁的運行  

WriteFile() 讀取一個文件,并且寫入客戶端輸出流

         (實質:打開文件,并且輸出到客戶端。)

1.Response.Write 變量數(shù)據(jù)或字符串

   Response.Write (變量數(shù)據(jù)或字符串)

   <%=…%>

Response.Write("<script language=javascript>alert('歡迎學習ASP.NET')</script>")  

Response.Write("<script>window.open('WebForm2.aspx')</script>")  

2.Response對象的Redirect方法將客戶端瀏覽器重定向到另外的URL上,即跳轉到另一個網頁。

例如:

Response.Redirect("http://www./")

3. Response.End() 終止當前頁的運行

4.Response.WriteFile(FileName)

   (其中,F(xiàn)ileName 指代需向瀏覽器輸出的文件的文件名)

三、Server對象提供對服務器上的方法和屬性進行的訪問 .其類名稱是HttpServerUtility.

Server對象的主要屬性有:

MachineName:獲取服務器的計算機名稱。  

ScriptTimeout:獲取和設置請求超時(以秒計)。

方法名稱 說明

CreateObject 創(chuàng)建 COM 對象的一個服務器實例。

Execute 執(zhí)行當前服務器上的另一個aspx頁,執(zhí)行完該頁后再返回本頁繼續(xù)執(zhí)行

HtmlEncode 對要在瀏覽器中顯示的字符串進行HTML編碼并返回已編碼的字符串。

HtmlDecode 對HTML編碼的字符串進行解碼,并返回已解碼的字符串。

MapPath 返回與 Web 服務器上的指定虛擬路徑相對應的物理文件路徑。

Transfer 終止當前頁的執(zhí)行,并為當前請求開始執(zhí)行新頁。

UrlEncode 將代表URL的字符串進行編碼,以便通過 URL 從 Web 服務器到客戶端進行可靠的 HTTP 傳輸。

UrlDecode 對已被編碼的URL字符串進行解碼,并返回已解碼的字符串。

UrlPathEncode 對 URL 字符串的路徑部分進行 URL 編碼,并返回已編碼的字符串。

編碼:

Server.HtmlEncode(“HTML代碼”)

解碼:

Server.HtmlDecode(“已編碼的HTML”)

1.Server對象的MapPath方法將虛擬路徑或相對于當前頁的相對路徑轉化為Web 服務器上的物理文件路徑。  

語法:Server.MapPath(“虛擬路徑”)

String FilePath

FilePath = Server.MapPath(“/”)

Response.Write(FilePath)

四、Application對象在實際網絡開發(fā)中的用途就是記錄整個網絡的信息,如上線人數(shù)、在線名單、意見調查和網上選舉等。在給定的應用程序的多有用戶之間共享信息,并在服務器運行期間持久的保存數(shù)據(jù)。而且Application對象還有控制訪問應用層數(shù)據(jù)的方法和可用于在應用程序啟動和停止時觸發(fā)過程的事件。

1.使用Application對象保存信息  

使用Application對象保存信息

Application(“鍵名”) = 值

Application(“鍵名”,值)

獲取Application對象信息

變量名 = Application(“鍵名”)

或:變量名 = Application.Item(“鍵名”)

或:變量名 = Application.Get(“鍵名”)

更新Application對象的值

Application.Set(“鍵名”, 值)

刪除一個鍵

Application.Remove(“鍵名”, 值)

刪除所有鍵

Application.RemoveAll()

或Application.Clear()

2.有可能存在多個用戶同時存取同一個Application對象的情況。這樣就有可能出現(xiàn)多個用戶修改同一個Application命名對象,造成數(shù)據(jù)不一致的問題。  

HttpApplicationState 類提供兩種方法 Lock 和 Unlock,以解決對Application對象的訪問同步問題,一次只允許一個線程訪問應用程序狀態(tài)變量。

關于鎖定與解鎖

鎖定:Application.Lock()

訪問:Application(“鍵名”) = 值

解鎖:Application.Unlock()

注意:Lock方法和UnLock方法應該成對使用。  

可用于網站訪問人數(shù),聊天室等設備

3. 使用Application事件   

在ASP.NET 應用程序中可以包含一個特殊的可選文件——Global.asax 文件,也稱作 ASP.NET 應用程序文件,它包含用于響應 ASP.NET或HTTP模塊引發(fā)的應用程序級別事件的代碼。  

Global.asax 文件提供了7個事件,其中5個應用于Application對象   

事件名稱 說明  

Application_Start 在應用程序啟動時激發(fā)  

Application_BeginRequest 在每個請求開始時激發(fā)  

Application_AuthenticateRequest 嘗試對使用者進行身份驗證時激發(fā)  

Application_Error 在發(fā)生錯誤時激發(fā)  

Application_End 在應用程序結束時激發(fā)  

五、Session即會話,是指一個用戶在一段時間內對某一個站點的一次訪問。  

Session對象在.NET中對應HttpSessionState類,表示“會話狀態(tài)”,可以保存與當前用戶會話相關的信息。

Session對象用于存儲從一個用戶開始訪問某個特定的aspx的頁面起,到用戶離開為止,特定的用戶會話所需要的信息。用戶在應用程序的頁面切換時,Session對象的變量不會被清除。

對于一個Web應用程序而言,所有用戶訪問到的Application對象的內容是完全一樣的;而不同用戶會話訪問到的Session對象的內容則各不相同。   Session可以保存變量,該變量只能供一個用戶使用,也就是說,每一個網頁瀏覽者都有自己的Session對象變量,即Session對象具有唯一性。

(1)將新的項添加到會話狀態(tài)中

語法格式為:

Session ("鍵名") = 值

或者

Session.Add( "鍵名" , 值)

(2)按名稱獲取會話狀態(tài)中的值

語法格式為:

變量 = Session ("鍵名")  

或者

變量 = Session.Item("鍵名")

(3)刪除會話狀態(tài)集合中的項

語法格式為:

Session.Remove("鍵名")

(4)清除會話狀態(tài)中的所有值

語法格式為:

Session.RemoveAll()

或者

Session.Clear()

(5)取消當前會話

語法格式為:

Session.Abandon()

(6)設置會話狀態(tài)的超時期限,以分鐘為單位。

語法格式為:

Session.TimeOut = 數(shù)值

Global.asax 文件中有2個事件應用于Session對象  

事件名稱 說明

Session_Start 在會話啟動時激發(fā)

Session_End 在會話結束時激發(fā)

六、Cookie就是Web服務器保存在用戶硬盤上的一段文本。Cookie允許一個Web站點在用戶的電腦上保存信息并且隨后再取回它。信息的片斷以‘鍵/值’對的形式存儲。  

Cookie是保存在客戶機硬盤上的一個文本文件,可以存儲有關特定客戶端、會話或應用程序的信息,在.NET中對應HttpCookie類。  

有兩種類型的Cookie:會話Cookie(Session Cookie)和持久性Cookie。前者是臨時性的,一旦會話狀態(tài)結束它將不復存在;后者則具有確定的過期日期,在過期之前Cookie在用戶的計算機上以文本文件的形式存儲。  

在服務器上創(chuàng)建并向客戶端輸出Cookie可以利用Response對象實現(xiàn)。  

Response對象支持一個名為Cookies的集合,可以將Cookie對象添加到該集合中,從而向客戶端輸出Cookie。
 

Response對象用語輸出數(shù)據(jù)到客戶端,包括向瀏覽器輸出數(shù)據(jù)、重定向瀏覽器到另一個URL或向瀏覽器輸出Cookie文件。

其類名為httpResponse

屬性和方法

Write() 向客戶端發(fā)送字符串信息

BufferOutPut屬性 是否使用緩存

Clear() 清除緩存

Flush() 強制輸出緩存的所有數(shù)據(jù)

Redirect() 網頁轉向地址

End() 終止當前頁的運行

WriteFile() 讀取一個文件,并且寫入客戶端輸出流

(實質:打開文件,并且輸出到客戶端。)

1.Response.Write 變量數(shù)據(jù)或字符串

Response.Write (變量數(shù)據(jù)或字符串)

<%=…%>

例如: <%

            int i;

            i = 0;

            for (; i < 10; i++)

                Response.Write(i.ToString() + "<br />");

             %>

             <hr />

             <%

           

            for (i=0; i < 10; i++)

            {

                %>

             *<br />

             <%

            }

         %>

Response.Write("<script language=javascript>alert('歡迎學習ASP.NET')</script>")

Response.Write("<script>window.open('WebForm2.aspx')</script>")

添加新項,一般處理程序,運行改頁面時,可以實現(xiàn)資料的下載。(必須先在根目錄下新建1.xls文件)

<%@ WebHandler Language="C#" Class="Handler" %>

using System;

using System.Web;

public class Handler : IhttpHandler

{

         public void ProcessRequest (HttpContext context)

{

        context.Response.ContentType = "Application/msexcel";

         context.Response.WriteFile("1.xls");

}

   public bool IsReusable

{

    get {

            return false;

        }

}

}

2.Response對象的Redirect方法將客戶端瀏覽器重定向到另外的URL上,即跳轉到另一個網頁。

例如:

Response.Redirect("http://www./")

3. Response.End() 終止當前頁的運行

4.Response.WriteFile(FileName)

其中:

FileName 指代需向瀏覽器輸出的文件的文件名

Server對象提供對服務器上的方法和屬性進行的訪問 .其類名稱是HttpServerUtility.

Server對象的主要屬性有:

MachineName:獲取服務器的計算機名稱。

ScriptTimeout:獲取和設置請求超時(以秒計)。

方法名稱 說明

CreateObject 創(chuàng)建 COM 對象的一個服務器實例。

Execute 執(zhí)行當前服務器上的另一個aspx頁,執(zhí)行完該頁后再返回本頁繼續(xù)執(zhí)行

HtmlEncode 對要在瀏覽器中顯示的字符串進行HTML編碼并返回已編碼的字符串。

HtmlDecode 對HTML編碼的字符串進行解碼,并返回已解碼的字符串。

MapPath 返回與 Web 服務器上的指定虛擬路徑相對應的物理文件路徑。

Transfer 終止當前頁的執(zhí)行,并為當前請求開始執(zhí)行新頁。

UrlEncode 將代表URL的字符串進行編碼,以便通過 URL 從 Web 服務器到客戶端進行可靠的 HTTP 傳輸。

UrlDecode 對已被編碼的URL字符串進行解碼,并返回已解碼的字符串。

UrlPathE ncode 對 URL 字符串的路徑部分進行 URL 編碼,并返回已編碼的字符串。

編碼:

Server.HtmlEncode(“HTML代碼”)

解碼:

Server.HtmlDecode(“已編碼的HTML”)

1.Server對象的MapPath方法將虛擬路徑或相對于當前頁的相對路徑轉化為Web 服務器上的物理文件路徑。

語法:Server.MapPath(“虛擬路徑”)

String FilePath

FilePath = Server.MapPath(“/”)

Response.Write(FilePath)

在default .aspx的HyperLink將其屬性NavigateUrl設為Default2.aspx?i=計算機

再在代碼中定義this.Label1.Text=Server.UrlDecode( Request.QueryString["i"]);

當點擊HyperLink時可以看到LABEL的值,

但此時并不是“計算機”。

單純的文本用URL會講值傳掉。

可以先定義this.Label2.Text= Server.UrlEncode("計算機");

瀏覽頁面后將Label2的值復制,

再在地址后面加上i=復制Label2的值

點擊回車鍵之后可以看到此時的LABEL1 顯示的是完整的“計算機”。

Application對象在實際網絡開發(fā)中的用途就是記錄整個網絡的信息,如上線人數(shù)、在線名單、意見調查和網上選舉等。在給定的應用程序的多有用戶之間共享信息,并在服務器運行期間持久的保存數(shù)據(jù)。而且Application對象還有控制訪問應用層數(shù)據(jù)的方法和可用于在應用程序啟動和停止時觸發(fā)過程的事件。

1.使用Application對象保存信息

使用Application對象保存信息

Application(“鍵名”) = 值

Application(“鍵名”,值)

獲取Application對象信息

變量名 = Application(“鍵名”)

或:變量名 = Application.Item(“鍵名”)

或:變量名 = Application.Get(“鍵名”)

更新Application對象的值

Application.Set(“鍵名”, 值)

刪除一個鍵

Application.Remove(“鍵名”, 值)

刪除所有鍵

Application.RemoveAll()

或Application.Clear()

2.有可能存在多個用戶同時存取同一個Application對象的情況。這樣就有可能出現(xiàn)多個用戶修改同一個Application命名對象,造成數(shù)據(jù)不一致的問題。

HttpApplicationState 類提供兩種方法 Lock 和 Unlock,以解決對Application對象的訪問同步問題,一次只允許一個線程訪問應用程序狀態(tài)變量。

關于鎖定與解鎖

鎖定:Application.Lock()

訪問:Application(“鍵名”) = 值

解鎖:Application.Unlock()

注意:Lock方法和UnLock方法應該成對使用。

可用于網站訪問人數(shù),聊天室等設備

3. 使用Application事件

在ASP.NET 應用程序中可以包含一個特殊的可選文件——Global.asax 文件,也稱作 ASP.NET 應用程序文件,它包含用于響應 ASP.NET或HTTP模塊引發(fā)的應用程序級別事件的代碼。

Global.asax 文件提供了7個事件,其中5個應用于Application對象

事件名稱 說明

Application_Start 在應用程序啟動時激發(fā)

Application_BeginRequest 在每個請求開始時激發(fā)

Application_AuthenticateRequest 嘗試對使用者進行身份驗證時激發(fā)

Application_Error 在發(fā)生錯誤時激發(fā)

Application_End 在應用程序結束時激發(fā)

在Global.asax中,定義:

    void Application_Start(object sender, EventArgs e)
    {
        // 在應用程序啟動時運行的代碼
        Application["k1"] = 1;

    }

再在defalut.aspx的PAGE_LOAD中定義:

this.Label2.Text = Application["k1"].ToString();

打開此頁面時候Label2顯示的是 1;

但當在defalut2.aspx的PAGE_LOAD中定義:

Application["k1"] = 2;

再打開defalut.aspx時顯示的是2;

Session即會話,是指一個用戶在一段時間內對某一個站點的一次訪問。

Session對象在.NET中對應HttpSessionState類,表示“會話狀態(tài)”,可以保存與當前用戶會話相關的信息。

Session對象用于存儲從一個用戶開始訪問某個特定的aspx的頁面起,到用戶離開為止,特定的用戶會話所需要的信息。用戶在應用程序的頁面切換時,Session對象的變量不會被清除。

對于一個Web應用程序而言,所有用戶訪問到的Application對象的內容是完全一樣的;而不同用戶會話訪問到的Session對象的內容則各不相同。 Session可以保存變量,該變量只能供一個用戶使用,也就是說,每一個網頁瀏覽者都有自己的Session對象變量,即Session對象具有唯一性。

(1)將新的項添加到會話狀態(tài)中

語法格式為:

Session ("鍵名") = 值

或者

Session.Add( "鍵名" , 值)

(2)按名稱獲取會話狀態(tài)中的值

語法格式為:

變量 = Session ("鍵名")

或者

變量 = Session.Item("鍵名")

(3)刪除會話狀態(tài)集合中的項

語法格式為:

Session.Remove("鍵名")

(4)清除會話狀態(tài)中的所有值

語法格式為:

Session.RemoveAll()

或者

Session.Clear()

(5)取消當前會話

語法格式為:

Session.Abandon()

(6)設置會話狀態(tài)的超時期限,以分鐘為單位。

語法格式為:

Session.TimeOut = 數(shù)值

Global.asax 文件中有2個事件應用于Session對象

事件名稱 說明

Session_Start 在會話啟動時激發(fā)

Session_End 在會話結束時激發(fā)

defalut.aspx的BUTTON1中寫:

    protected void Button1_Click(object sender, EventArgs e)
    {       
              Session["u"] = this.TextBox1.Text;
        Session.Timeout = 1;

    }

在defalut2.aspx的PAGE_LOAD中定義:

this.Label2.Text=(Session["u"] == null) ? "" : Session["u"].ToString();

瀏覽defalut.aspx,在this.TextBox1.Text輸入內容,再進入到defalut2.aspx中可以看到輸入的值。但等一分鐘后再刷新該頁面,沒有值顯示 因為 Session.Timeout = 1已經產生了過期時間。

Cookie就是Web服務器保存在用戶硬盤上的一段文本。Cookie允許一個Web站點在用戶的電腦上保存信息并且隨后再取回它。信息的片斷以‘鍵/值’對的形式存儲。

Cookie是保存在客戶機硬盤上的一個文本文件,可以存儲有關特定客戶端、會話或應用程序的信息,在.NET中對應HttpCookie類。

有兩種類型的Cookie:會話Cookie(Session Cookie)和持久性Cookie。前者是臨時性的,一旦會話狀態(tài)結束它將不復存在;后者則具有確定的過期日期,在過期之前Cookie在用戶的計算機上以文本文件的形式存儲。

在服務器上創(chuàng)建并向客戶端輸出Cookie可以利用Response對象實現(xiàn)。

Response對象支持一個名為Cookies的集合,可以將Cookie對象添加到該集合中,從而向客戶端輸出Cookie。

通過Request對象的Cookies集合來訪問Cookie

defalut.aspx的BUTTON1中寫:

    protected void Button1_Click(object sender, EventArgs e)
    {       
        HttpCookie hc = new HttpCookie("u");
        hc.Value = this.TextBox1.Text;
        hc.Expires = System.DateTime.Now.AddDays(30);
        Response.Cookies.Add(hc);
    }

此時在頁面的工具菜單中,可以在Cookies文件查看到剛才新增的文件



    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多