Tek 發表 ASP.Net 的Cookie簡介及用法 Cookie(餅乾)是一個在網頁應用程式上拿來儲存瀏覽者資料的做法之一‧ 例如,當一個瀏覽者參觀您的網站時,您就可用Cookie把對方的一些資料儲存起來,並且下一次再使用‧ 另外,如果您有學習過ASP, PHP這類語言的話,相信Cookie對你絕對不陌生‧ 假設您是學習VB, C++的設計師的話,用Cookie就好比是寫資料到使用者的Registry裡一樣‧ 只是用Cookie比較簡單,而且對初學者而言,Cookie也比Registry還容易瞭解! Cookie事實上是以純文字方式儲存在使用者電腦某資料夾裡面的,以Microsoft Windows NT (2000, XP)的使用者來說,每一個使用者都有一個自己個人的資料夾來放Cookie檔案,而這資料夾通常都會在『C:\Documents and Settings\使用者\Cookies\』這邊‧ 每一個Cookie都儲存著每一個不同網站所存的資料,而每一項所擁有的資料都會不同,這會看網站程式編寫者而定‧ 有時候Cookie會儲存您在某一網站的帳號或密碼、會員身份、登入/登出日期等等‧ 甚至Cookie也可以拿來做是防治瀏覽者重覆投票的防範方法之一! 在使用Cookie上,注意cookie使用也是有一些限制的! 例如一般瀏覽器至少都會支援4096 Bytes的Cookie,允許20個(各網站‧如果您嘗試使用超過更多的Cookie,那麼小心舊的Cookie就會莫名其妙消失!),也許看起來很少,不過基本上卻已經足夠儲存你純文字的資料了! 另外也有一些瀏覽器會有只允許儲存共300 Cookies的限制(所有網站的加起來)‧ 還有,每一個Cookie都會有它的存活時間! 基本上來說,Cookie除了靠網站程式結束外,如果您自己關閉了瀏覽器,那麼Cookie也會自動消失‧ 不過值得慶幸的是您可以自由的設定Cookie的過期時間,這我將會說明! 『筆記:剛才提到了Cookie是儲存在瀏覽者電腦裡面的,所以身為網頁程式編寫者的您,也必須留意到瀏覽者也是會隨意的刪除或想辦法亂修改的! 有時太過相信Cookie的資料內容的話,也可能會導致一些人為問題喔!』 用ASP.Net 寫入一個Cookie資料 假設您是純ASP (Active Server Pages)的學習者,也許在剛開始接觸ASP.Net時可能會有點不習慣! 以Cookie做例子,要閱讀或寫Cookie絕對不是像ASP這樣: 閱讀Cookie資料(ASP): Dim mycookie : mycookie = Request.Cookies("eat_cookie") 寫入Cookie資料(ASP): Response.Cookies("eat_cookie") = "C is a cookie!" 在ASP.Net,跟ASP一樣,要寫Cookie都會要使用Response property,要讀用Request‧ 就先講寫入Cookie吧! 如果您想要建立一個Cookie資料,您可以創造單一個Cookie,或在同一時間建多重也是可以(Sub Cookies)‧ 單一的話: Response.Cookies("mycookie").Value = "C is a cookie!" 要建立一個Sub cookie的話: Response.Cookies("mycookie")("flavor") = "Coffee" 剛才我有提到Cookie過期的話題,如果要另外加長的話,那麼(假設存活時間設一年): Response.Cookies("mycookie").Value = "C is a cookie" Response.Cookies("mycookie").Expires = DateTime.Now().AddDays(365) 註:用Sub cookie也是用類似的方法來設定存活時間 假如我的網站有Sub domain的話,您也可以設定Domain property來分享Cookie: (例如我的網站叫www.tekcyberspace.com,然後我有一個Sub domain叫forum.tekcyberspace.com) Response.Cookies("mycookie").Value = "C is a cookie" Response.Cookies("mycookie").Expires = DateTime.Now().AddDays(365) Response.Cookies("mycookie").Domain = "forum.tekcyberspace.com" 閱讀Cookie資料 讀Cookie就比較簡單了‧ 我就直接講吧! 假設要讀單一Cookie的話: Dim get_mycookie As HTTPCookie = Request.Cookies("mycookie") 寫出一個Cookie資料: Dim get_mycookie As HTTPCookie = Request.Cookies("mycookie") If Not get_mycookie Is Nothing Then Response.Write(get_mycookie.Value) End If 注意如果沒有Cookie在的話,你接受到的會是 Nothing‧ 讀取並寫出Sub cookie資料: Dim get_mycookie As String = Request.Cookies("my_cookie")("flavor") If not get_mycookie = "" Then Response.Write(get_mycookie) End If 這些就是Cookie常用的方法,事實上用法還有更多! 如果有興趣的話,可以到微軟的MSDN(http://msdn.microsoft.com)來查詢更多的相關資料! 或者到http://msdn.microsoft.com/library/en-us/cpref/html/frlrfsystemnetcookiememberstopic.asp?frame=true來看.Net的Cookie members :-) 最後更新日期: 6/7/2003 3:08:11 PM
目前分類:ASP.NET (57)
- Oct 25 Thu 2012 16:33
ASP.Net 的Cookie簡介及用法
- Oct 25 Thu 2012 16:33
ASP.Net 及 ASP 差別
- Oct 25 Thu 2012 16:31
ASP.NET教學
- Oct 25 Thu 2012 16:27
asp.net (c#) 將物件存放在 Session 中
- Oct 25 Thu 2012 16:27
VFP com 與 ASP.Net
- Oct 25 Thu 2012 16:26
ASP.NET 與 ASP 的差異:.NET Framework 是 ASP.NET 的基礎
ASP.NET 與 ASP 的差異:.NET Framework 是 ASP.NET 的基礎
ASP.NET優於ASP之處,不是ASP版本的更新,而是一個全新的統一Web開發平臺。ASP的直譯式語言架構,每次讀取網頁皆需逐行編譯程式碼,影響執行效率,而ASP.NET則是編譯式語言,執行編譯過的原生機器碼使效能大幅提升。ASP.NET和ASP一樣可以在記事本撰寫程式,更重要的是,ASP.NET不限於VBScript或JScript語言,可搭配Visual Studio .NET工具,使用任何.NET相容語言開發ASP.NET,包括Visual Basic .NET、Visual C#及JScript .NET。
- Oct 25 Thu 2012 16:25
asp 與 asp.net 中 Session不共用的解決方法
想讓 ASP程式透過 Session 將資料傳給 ASP.NET程式,遇到難題就是 Session不共用的問題。
Session有共用與跨網域的問題,一般常見的處理方式有三種:
- Oct 23 Tue 2012 16:29
asp.net TextBox只能輸入大寫
功能:TextBox英文字母輸入小寫自動轉成大寫語法:
<asp:TextBox ID="TextBox1" runat="server" style="TEXT-TRANSFORM: uppercase"></asp:TextBox>
- Oct 23 Tue 2012 16:29
asp.net(c#) 使用 com 中 屬性.方法
- Oct 23 Tue 2012 16:28
一些Visual Studio 2010對於JavaScript的輔助外掛
- Oct 23 Tue 2012 16:27
[.NET] ASP.NET 網頁生命週期 Page Life-Cycle
[.NET] ASP.NET 網頁生命週期 Page Life-Cycle
前言
當一個頁面請求發送到Web 服務器,ASP.NET 網頁會進行生命週期一系列的步驟,這些步驟包括初始化、載入、事件處理、顯示….等階段,在網頁生命週期的每個階段中,都會觸發不同的事件,因此了解ASP.NET 網頁生命週期對開發人員是很重要的,知道在什麼時間點會觸發哪些事件及可以設定網頁的屬性,舉例來說,今天要動態改變主題,就必須到PreInit事件修改Page的Theme屬性;假設要動態建立控制項,就必須在每次Postback事件時將控制項重新建立起來,否則Postback之後動態建立的控制項將會找不到。如果對於網頁生命週期不熟悉的話,在遇到上列問題時,相信會花更多不必要的時間才能解決問題。
概述
- Oct 23 Tue 2012 16:26
CrystalReports 動態變更標題文字.字型.大小.色彩.對齊方式
- C# 如何抓取CrystalReport中所有label值- 藍色小舖 BlueShop
- Crystal Reports - 程式設計俱樂部
- Crystal Report報表格式的設計(? 1) - 數據庫及開發(vb.net) - 新蘇州人 在?州的生活,工作,ERP,IT - Powered by Discuz! Archiver
- CrystalDecisions.CrystalReports.Engine 命名空間
- CrystalReport 無法成功New出物件
- Report Document 程式設計 (Crystal Reports) @ 隨便寫寫的新天地 痞客邦 PIXNET
- [C#]自訂義Dll CrystalReport Parameter 繫結分享 Find something you believe and but your life into
- [CrystalReports] 公式欄位~固定欄位數,執行期間~動態改變顯示資料庫欄位 - kevingif~~叛逆之風~~- 點部落
- [CrystalReports] 動態變更標題文字(字型~大小~色彩~對齊方式) - kevingif~~叛逆之風~~- 點部落
- [CrystalReports] 執行期間~利用程式傳遞公式~動態篩選資料 - kevingif~~叛逆之風~~- 點部落
- [CrystalReports]執行期間~動態改變群組 - kevingif~~叛逆之風~~- 點部落
- 利用DotNet和Crystal Report如何??客?自定??表打印 - .NET技? - .NET Framework
- ??水晶?表的生成_IT空?_百度空?
- 如何在水晶報表中動態添加字段 - 王朝網絡 - wangchao.net.cn
- 變向實現動態水晶報表-WEBASP.NET
- Oct 23 Tue 2012 16:25
ASP,PHP,JSP三種動態網頁語言之比較
- Oct 23 Tue 2012 16:24
javascript::取得畫面寬度
- Oct 23 Tue 2012 16:24
Google API Google AJAX Search API程式
在取得Google AJAX Search API密鑰後,
我們就可以開始撰寫Google AJAX Search API的應用程式了。
- Oct 23 Tue 2012 16:23
如何在asp.net中實現返回上一頁的功能
- Oct 23 Tue 2012 16:22
在 或server 程式中執行 alert
VB
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Dim myScript As String = "alert(document.forms[0]['TextBox1'].value);" Page.ClientScript.RegisterClientScriptBlock(Me.GetType(), "myKey", myScript, _ True) End Sub
C#
- Oct 23 Tue 2012 16:21
ASP.NET string.Format 格式參數
- Oct 23 Tue 2012 16:21
ASP.NET自訂使用者控制項
- Oct 23 Tue 2012 16:19
asp.net MasterPage, Page, UserControl 如何互動, 傳值