推薦:讓ASP.NET程序自動為URL加上超級鏈接作為一個程序員,在完成設(shè)計后還要根據(jù)程序的情況以及用戶的反映不斷對程序進(jìn)行改進(jìn),這樣才能不斷地完善自己的作品。我在制作完軟件商務(wù)網(wǎng) 的論壇后,發(fā)現(xiàn)人們總喜歡在帖子中加上各種有用的URL
一般而言,HTTP協(xié)議是非狀態(tài)服務(wù),它不保存任何用戶請求信息。直至NetScape開始使用Cookies來保存用戶請求信息,Web應(yīng)用程序有了極大的發(fā)展。現(xiàn)在ASP.NET程序員可以使用很多種方式來保存用戶請求信息。
下面主要介紹ASP.NET關(guān)于狀態(tài)管理的幾種方式。
客戶端
ASP.NET,提供了Cookies, QueryStrings (URL), Hidden fields, View State and Control state (ASP.NET 2.0),來管理客戶端請求。
一。Cookie
Cookie是以文本存儲于計算機(jī)中,使用name-value匹配。一般用戶存儲標(biāo)識用戶信息,如:用戶名,用戶使用配置等。雖然Cookie可以被加密存儲,但不推薦在Cookie中保存用戶密碼。第二,Cookie的大小是限定的,所以不適合存儲大型數(shù)據(jù)。
Example:
1。獲取用戶ID
| if (Request.Cookies["UserId"] != null) lbMessage.text = "Dear" Request.Cookies["UserId"].Value ", Welcome to our website!"; else lbMessage.text = "Guest,welcome to our website!"; |
| Response.Cookies["UserId"].Value=username; |
二。Hidden fields(隱藏控件)
Hidden field是在頁面級保存信息。與其他用戶標(biāo)準(zhǔn)控件的區(qū)別是,Hidden Field不被呈現(xiàn)在頁面中。當(dāng)頁面提交的時候,Hidden Field中的值將被一同發(fā)送給服務(wù)端。雖有在ASP.NET 2.0中,我們可以使用ViewState來代替,但Hidden Fields依然可以用來存放一些不關(guān)鍵信息。
| protected System.Web.UI.HtmlControls.HtmlInputHidden Hidden1; //to assign a value to Hidden field Hidden1.Value="Create hidden fields"; //to retrieve a value string str=Hidden1.Value; |
三。View State(狀態(tài)視圖)
狀態(tài)視圖ViewSate,可以用來為單獨用戶存儲信息。你可以通過設(shè)置EnableViewState屬性來控制ViewState的使用,在默認(rèn)的情況下屬性值為True。ViewSate在每次用戶請求或服務(wù)端響應(yīng)時,都會被傳輸。所以,為了減少網(wǎng)絡(luò)帶寬的使用,可以在不需要狀態(tài)視圖時設(shè)置EnableViewState屬性值為False。ViewSate在頁面中的存儲是經(jīng)過Base64轉(zhuǎn)碼的,增加了額外的數(shù)據(jù)量,所以一定要注意保存較少的ViewSate。
分享:用ASP.Net實現(xiàn)在線壓縮和解壓縮我們經(jīng)常會遇到批量上傳的問題,也會遇到將某個目錄下所有文件都上傳到服務(wù)器上的問題。那么,如何解決此類問題呢?以前的技術(shù)一般采用ActiveX等方式,這里筆者采用SharpZlib來實現(xiàn),聽說VS2005
新聞熱點
疑難解答
圖片精選