學習asp.net又一次接觸了B/S開發。下面先通過一張圖對ASP.net有一個宏觀結構的總結。之后將詳細介紹ASP.net中的六大對象。
1.Request從客戶端得到數據,包括基于表單的數據和通過URL發送的參數列表信息,還可以接收來自用戶的Cookie信息。
Request是類HttPRequest一個具體對象。主要屬性有:
Request.Form屬性獲取數據,通過該屬性,讀取
之間的表單數據:注意提交方式要設定為“Post”。
Request.QueryString屬性獲取數據,可以獲取HTTP查詢字符串變量集合。即可以讀取地址信息。注意提交方式設置為“Get”。
Post和Get的區別
ASP.net中通過表單向服務器端發送數據,其發送數據方式有兩種(沿用HTML的):Post和Get。Get是將傳送的數據附加到URL后面;Post方法是將傳送的數據,封裝為一個數據集進行傳送過去。
Post方法時信息的讀取
string strUserName = Request.Form.Get("txtUserName").ToString();注意form相當于一個集合,所以,有多種方法獲得相應的數據。string strUserName=Request.Form["txtUserName"].ToString();
Get方法時信息的讀取
string strUserName=Request.QueryString["txtUserName"].ToString();
string strUserName=Request.QueryString.Get("txtUserName").ToString();
小結
無論哪種提交方法,都可以用這種方法:Request["txtUserName"].ToString();獲得數據。
2.Response用于輸出數據到客戶端,包括向瀏覽器輸出數據、重定向瀏覽器到另一個url或向瀏覽器輸出
Response是類HttpResponse的一個對象。屬性和方法:
Response.Write()向客戶端發送字符串信息。
Response.Buffer用來控制是否采用響應緩存,默認為true。
Response.Clear()清空緩存區中的數據,這樣緩存區中的沒有發送到瀏覽器端的數據被清空。
3.Server提供對服務器上的屬性和方法的訪問
其類名為HttpServerUtility,主要屬性和方法:
MachineName:獲取服務器的計算機名稱。
ScrptTimeout:用于指定腳本在終止之前在服務器上運行的時間周期。
方法說明:
CreateObject創建COM對象的一個服務器實例。
Execute執行當前服務器上的另一個aspx頁,執行完該頁后再返回本頁繼續執行。
HtmlEncode對要在瀏覽器中顯示的字符串進行HTML編碼并返回已編碼的字符串。
HtmlDecode對HTML編碼的字符串進行解碼,并返回已解碼的字符串。
MapPath返回與Web服務器上的指定虛擬路徑相對應的物理文件路徑。
Transfer終止當前頁的執行,并為當前請求開始執行新頁。
UrlEncode將代表URL的字符串進行編碼,以便通過URL從Web服務器到客戶端進行可靠的HTTP傳輸。
UrlDecode對已被編碼的URL字符串進行解碼,并返回已解碼的字符串。
UrlPathEncode對URL字符串的路徑部分進行URL編碼,并返回已編碼的字符串。
4.application作用于整個應用程序的狀態對象。
方法:
添加或創建一個對象
Application.Add("key",value);或Application("key")=value;
獲取Application集合中某個對象的值
int i = (int)Application("key");或int i = Application.Contents["key"];或int i = Application.Get("key")
更新集合中的對象值
Application.Set("key",value);或Application["key"] = (int)Application["key"] +1;更新的時候最好加上鎖機制:application.Lock()和Application.UnLock()。
移除對象
Application.Remove("key");移除指定對象。Application.RemoveAll();或Application.Clear()移除所有對象。
基本事件
Application_Start,Application_End和Application_Error。這些事件在Global.asax文件中。Global.asax文件時一個可選(可以沒有,有只能有一個)的文件,該文件包含響應ASP.net應用程序或HTTP模塊所引發的應用程序級別和會話的代碼(事件)。
5.session會話級對象,用戶跟蹤單一用戶的會話。比如對網站訪問量的實現。方法和屬性與Application類似。
6.Cookie,同Application和Session,保存數據信息。就是Web服務器保存在用戶硬盤上的一段文本。Cookie允許一個Web站點在用戶的電腦上保存信息并且隨后再取回它。信息的片斷以‘鍵/值’對的形式存儲。
Cookie是保存在客戶機硬盤上的一個文本文件,可以存儲有關特定客戶端、會話或應用程序的信息,在.NET中對應HttpCookie類。
有兩種類型的Cookie:會話Cookie(Session Cookie)和持久性Cookie。前者是臨時性的,一旦會話狀態結束它將不復存在;后者則具有確定的過期日期,在過期之前Cookie在用戶的計算機上以文本文件的形式存儲。
在服務器上創建并向客戶端輸出Cookie可以利用Response對象實現。
學習感受:以上是對ASP.net中的對象的一個介紹性總結,在ASP.net視頻里收獲最多的是控件的使用,除了讓我感覺好玩的還有兩類,一類是驗證控件,包括必填字段,比較控件,范圍比較,正則表達式,自定義驗證以及驗證匯總。通過這些驗證實現我們平時在網上注冊信息的基本驗證功能。另一類是ADO.net中的DataSet對象和.NET數據提供程序以及顯示數據的控件模板的使用。 ASP.net中介紹的控件有一部分在牛腩中使用過,通過視頻的講解和實現例子,對他們有了更深的了解。
新聞熱點
疑難解答