Cookie创建以及清除Cookie数组

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="BLTZ.aspx.cs" Inherits="BLTZ" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<script runat="server">
    protected void Button1_Click(object sender, EventArgs e)
    {
        HttpCookie cookie = Request.Cookies["MyCook"];
        
        // 没有就初使化
        if (cookie == null)    
        {
            cookie = new HttpCookie("MyCook"); //初使化并设置Cookie的名称
            DateTime dt = DateTime.Now;
            TimeSpan ts = new TimeSpan(0, 0, 10, 0, 0);
            cookie.Expires = dt.Add(ts);
            Response.AppendCookie(cookie);
        }
        
        

        // 界面上有 5 个 checkBox,分别将 checkBox 的选值保存到 cookie 中
        for (int i = 1; i < 6; i++)
        {
            CheckBox control = this.FindControl(String.Format("CheckBox{0}", i)) as CheckBox;
            if (control == null) continue;

            string key = String.Format("Num{0}", i);
            string value = control.Checked.ToString();
            
            cookie.Values[key] = value;
        }
        
        
        // 遍历
        foreach (string key in cookie.Values.AllKeys)
        {
            string value = cookie.Values[key];
            Response.Write(String.Format("SubKey:{0};&nbsp;&nbsp;SubValue:{1}<br />", key, value)); 
        }
    }
    
    
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>无标题页</title>
    <script type="text/javascript">
        function ClearCookie() {
            var exp = new Date();
            exp.setTime(exp.getTime() - 1);
            var a = GetCookie('MyCook');
            alert(a);
            var b = name + "=" + a + "; expires=" + exp.toString();
            document.cookie = b;
            alert(b);
        }

        function GetCookie(name)
        //获得Cookie的原始值
        {
            var arg = name + "=";
            var alen = arg.length;
            var clen = document.cookie.length;
            alert(document.cookie);
            var i = 0;
            while (i < clen) {
                var j = i + alen;
                if (document.cookie.substring(i, j) == arg)
                    return GetCookieVal(j);
                i = document.cookie.indexOf(" ", i) + 1;
                if (i == 0) break;
            }
            return null;
        }

        function GetCookieVal(offset) {       //取得项名称为offset的cookie值
            var endstr = document.cookie.indexOf(";", offset);
            if (endstr == -1)
                endstr = document.cookie.length;
            return unescape(document.cookie.substring(offset, endstr));
        }  
    
    </script>
</head>
<body>
    <form id="form1" runat="server" >
    <div>
        <asp:CheckBox ID="CheckBox1" runat="server" />
        <asp:CheckBox ID="CheckBox2" runat="server" />
        <asp:CheckBox ID="CheckBox3" runat="server" />
        <asp:CheckBox ID="CheckBox4" runat="server" />
        <asp:CheckBox ID="CheckBox5" runat="server" />
        <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click"  />
        <a href="CWZ.aspx" >Post</a>
        <input type="button" value="清楚Cookie" onclick="ClearCookie();" />
    </div>
    </form>
</body>
</html>

posted @ 2010-03-18 10:32  CoderNet  阅读(644)  评论(0编辑  收藏  举报