.net初學者,有錯誤歡迎指正。大家共同進步
Response 輸出數據
Reponse對象和Request對象組成了一對發送,接受數據的對象。
發送信息:Reponse.Write("字符串"); Reponse對象最常用的方法是Write,用於向浏覽器發送信息。使用Write方法輸出的字符串會被浏覽器按HTML語法解釋。
重定向:Reponse.Redirect(URL):
緩沖處理:Reponse.BufferOutput = true; 清除緩沖區內容。將輸出暫時存放在服務器緩沖區,程序執行結束或接收到Flush或End指令再輸出到客戶端。
啟用緩沖Reponse.Flush();
發出緩沖Reponse.ClearCountent();
結束程序運行:Reponse.End();
Request 接收數據
獲取表單數據:
<form action="表單提交地址" method="GET/POST">
以get方式提交表單,則數據附加在URL之後。http://localhost/example.asps?xx=value1&xx=value2
此時,使用Requeat.QueryString["xx"];來獲取表單數據。
若提交方式為post則使用Request.Form["xx"];來獲取表單數據。
無論以何種形式提交都可以使用request.params["xx"]來獲取數據。
獲取服務器環境變量:Reponse.Write("服務器名或ip"+request.ServerVarables["SEVER NAME"]);等
獲取客戶端浏覽器能力信息:Reponse.Write("客戶端操作系統"+request.Browser.platform);等
獲取客戶端Cookie:cookie是存於客戶端的信息,只能存儲字符串,當浏覽器訪問Web服務器時,服務器使用Reponse對象的Cookies集合來向客戶單Cookie寫入信息,再通過Reponse對象的Cookies屬性來檢索Cookie信息。
HttpCookie cookie = new HttpCookie("cookieName"); 實例化對象
cookie["username"] = "xxx"; 賦值
Response.Cookies.Add(cookie);
cookie.Expires = DateTime.Now.AddDays(1); 添加過期時間
if(Request.Cookies["username"]==null){ 判斷cookie是否存在
do something}
Sever服務器對象
HTML解碼與編碼:Sever.HtmlEncode(string);編碼 Sever.HtmlDecode(string);解碼
路徑轉換:Sever.Mappath("/");返回虛擬目錄的實際路徑名
執行制指定程序:Execute類似於其高級語言中的過程調用,將程序轉移到指定的程序,程序結束後流程返回原程序的中斷點繼續執行,而Transfer則終止當前程序的執行,轉去執行指定的程序。
Server.Execute("xxx.aspx");
Server.Transfer("xxx.aspx");
Application集合對象(應用程序集存儲)
Application對象派生自HttpApplicationState類,HttpApplicationState類的單個實例在客戶端第一次從某個特定的ASP.NET應用程序虛擬目錄中請求任何URL資源時創建。
OnStart事件:在一個虛擬目錄中第一個ASP.NET程序執行時觸發。
OnEnd事件:在整個應用停止時觸發(通常在服務器被重啟,關機或者IIS被停止時發生)。
OnBeginRequest事件:在每一個ASP.NET被請求時發生,即客戶端每訪問一個程序,就觸發一次。
OnEndRequest事件:ASP.NET程序結束時觸發。
Application.Set("cnt",0);將名為cnt的變量值修改為0
Application.Lock();鎖定
Application.UnLock();解鎖
Session會話對象(服務器存儲)
OnStart事件:當用戶第一次訪問ASP.NET應用程序時,將創建Session對象,並觸發該事件。
OnEnd事件:該事件通常用於會話結束的處理,如將數據寫入文件或數據庫當回話狀態mode被設置為Inproc時才會引發。
會話狀態模式的配置:<configuration>
<system.web>
<sessionState mode="Off|Inproc|StateServer|SQLSever|Custom"/>
</system.web>
...
</configuration>
Inproc:會話數據將存儲在HttpRuntime的內部高速緩存中,應用程序被重新啟動後數據就會丟失
StateServer:保存在aspnet_state.exe中
SQLSever:存儲在SQL Server中
優化會話性能:ASP.NET允許通過@page的指令EnbleSessionState屬性來明確說明頁面需要什麼Session對象。
EnbleSessionState="true";進行讀/寫訪問
EnbleSessionState="False";不需要訪問
EnbleSessionState="ReadOnly";只讀訪問
Page網頁對象
Init事件:每一次請求時被觸發,先於Load觸發
Load事件:每一次請求時被觸發
if(!page.IsPostBack){ //如果不是首次加載
//do something}
轉載請聯系