網頁程式與視窗程式最大的不同,在於視窗程式在執行時,可以保存當前的資料,網頁程式則否。一般來說,網站要保存使用者的資料,通常都是使用Cookie,然而Cookie有大小及數量上的限制,所以在ASP.NET上,除了Cookie還有ViewState這樣的選擇。本篇文章將會講解如何在ASP.NET上使用Cookie及ViewState。
新增ASP.NET專案,版本都可以,這邊是選擇4.0版。
在Default.aspx,新增兩個控制項,分別是NameTextBox及NameBtn。
接下來撰寫設定Cookie的程式碼,其中cookie.Expires那裡是設定Cookie失效的時間。
然後在網頁載入時讀取Cookie。特別注意的是,在取得Cookie時,是從Request取得,跟前面的Response不同。
執行畫面。
重新整理網頁,就會看到剛剛設定的暱稱。
接下來示範ViewState,在Default.aspx新增三個控制項,分別是DataTextBox、SetViewSateBtn、getSetViewSateBtn。
撰寫設定ViewState的程式碼,在這裡將List物件寫進ViewState裡並命名為myData。
然後撰寫讀取ViewState的程式碼。
執行畫面。
取出ViewState。
打開網頁的原始碼來看,就可以看到ViewState的值。
在使用ViewState上要特別注意,因為它是存在網頁裡面,所以執行PostBack時,流量勢必會增加,如果不謹慎使用,會拖累整體的執行效能。