.net初學者,有錯誤歡迎指正。大家共同進步 Response 輸出數據 Reponse對象和Request對象組成了一對發送,接受數據的對象。 發送信息:Reponse.Write("字元串"); Reponse對象最常用的方法是Write,用於向瀏覽器發送信息。使用Write方法輸出的字元串會被 ...
.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}
轉載請聯繫