.net beta2 操作cookie的例子(转)

发表于:2007-07-01来源:作者:点击数: 标签:
%@ Page Language= VB % script language=VB runat=server Const COOKIE_NAMEAs String = test-cookie-name Const COOKIE_VALUE As String = test-cookie-value @# Declare our cookie object Dim objCookieObject As HttpCookie Sub btnSetCookie_OnClick(Se
<%@ Page Language="VB" %>

<script language="VB" runat="server">
    Const COOKIE_NAME  As String = "test-cookie-name"
    Const COOKIE_VALUE As String = "test-cookie-value"

    @# Declare our cookie object
    Dim objCookieObject As HttpCookie
    
    Sub btnSetCookie_OnClick(Sender As Object, E As EventArgs)
        @# Create a cookie object - I@#m passing name and value,
        @# but you can also pass in a name and set the value later.
        @# ie. objCookieObject = New HttpCookie(COOKIE_NAME)
        objCookieObject = New HttpCookie(COOKIE_NAME, COOKIE_VALUE)

        @# We already set these above!
        @#objCookieObject.Name   = COOKIE_NAME
        @#objCookieObject.Value  = COOKIE_VALUE

        @# Additional cookie properties:
        objCookieObject.Expires = New DateTime(2001, 11, 12)

        @# Normally you can leave these alone.
        @# The defaults will work fine for most uses.
        @#objCookieObject.Domain  = "www.domain.com"
        @#objCookieObject.Path    = "/path/"
        @#objCookieObject.Secure  = True
        
        Response.AppendCookie(objCookieObject)
    End Sub

    Sub btnRemoveCookie_OnClick(Sender As Object, E As EventArgs)
        objCookieObject = New HttpCookie(COOKIE_NAME)
        
        @# Expire it on the day I was born just so we@#re sure it@#s a date in the past.
        objCookieObject.Expires = New DateTime(1974, 11, 12)
        
        Response.AppendCookie(objCookieObject)
    End Sub

    Sub btnGetCookie_OnClick(Sender As Object, E As EventArgs)
        objCookieObject = Request.Cookies(COOKIE_NAME)

        @# In Beta 1 this worked fine... not with Beta 2.
        @#If Not(objCookieObject = Nothing) Then
        
        If Not(objCookieObject Is Nothing) Then
            lblCookieDetails.Text        = objCookieObject.Name

            lblCookieDetailsName.Text    = objCookieObject.Name
            lblCookieDetailsValue.Text   = objCookieObject.Value
            
            @# For some reason I@#m having trouble with this now...
            @# The setting seems to work, but I can@#t read it back.
            @# Anyone have any ideas? Email me -> john@asp101.com
            lblCookieDetailsExpires.Text = objCookieObject.Expires.ToString
            
            lblCookieDetailsDomain.Text  = objCookieObject.Domain
            lblCookieDetailsPath.Text    = objCookieObject.Path
            lblCookieDetailsSecure.Text  = objCookieObject.Secure.ToString
            lblCookieDetailsHasKeys.Text = objCookieObject.HasKeys.ToString
        Else
            lblCookieDetails.Text        = "Cookie Not Set!"

            lblCookieDetailsName.Text    = ""
            lblCookieDetailsValue.Text   = ""
            lblCookieDetailsExpires.Text = ""
            lblCookieDetailsDomain.Text  = ""
            lblCookieDetailsPath.Text    = ""
            lblCookieDetailsSecure.Text  = ""
            lblCookieDetailsHasKeys.Text = ""
        End If

        @# I@#m ignoring collections.  They@#re outside the realm of this basic sample.
        @# FYI: Additional properties related to cookie collections: Values, Item
    End Sub
</script>

<html>
<body>

<h4>The cookie name we@#re using for this sample is: <em><%= COOKIE_NAME %></em></h4>

<form action="cookie.aspx" method="post" runat="server">
    <asp:Button type="submit" id="btnSetCookie" text="Set Cookie" OnClick="btnSetCookie_OnClick" runat="server" />
    <asp:Button type="submit" id="btnRemoveCookie" text="Remove Cookie" OnClick="btnRemoveCookie_OnClick" runat="server" />

    <p>
    To see the cookie@#s current status you@#ll need to click below.  This is because the response which adds or deletes the cookie happens after the request is already done.  As such, those changes aren@#t available from the request collection until the next request.
    </p>

    <asp:Button type="submit" id="btnGetCookie" text="Get Cookie Details" OnClick="btnGetCookie_OnClick" runat="server" />
</form>

<p>
<strong>Details of:</strong> <asp:label id="lblCookieDetails" runat="server" />
</p>

<table border="1">
    <thead>
        <tr>
            <th>Property</th>
            <th>Value</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Name</td>
            <td><asp:label id="lblCookieDetailsName" runat="server" /></td>
        </tr>
        <tr>
            <td>Value</td>
            <td><asp:label id="lblCookieDetailsValue" runat="server" /></td>
        </tr>
        <tr>
            <td>Expires</td>
            <td><asp:label id="lblCookieDetailsExpires" runat="server" /></td>
        </tr>
        <tr>
            <td>Domain</td>
            <td><asp:label id="lblCookieDetailsDomain" runat="server" /></td>
        </tr>
        <tr>
            <td>Path</td>
            <td><asp:label id="lblCookieDetailsPath" runat="server" /></td>
        </tr>
        <tr>
            <td>Secure</td>
            <td><asp:label id="lblCookieDetailsSecure" runat="server" /></td>
        </tr>
        <tr>
            <td>Has Keys</td>
            <td><asp:label id="lblCookieDetailsHasKeys" runat="server" /></td>
        </tr>
    </tbody>
</table>

</body>
</html>
----------------------------------------------------
come from Asp101.com

原文转自:http://www.ltesting.net