ASP.NET中通过JavaScript创建与清除Cookie数组的完整实现

作者:纸飞机

时间:2026-10-24

浏览:191

本文详细讲解在ASP.NET页面中结合C#后端与JavaScript前端代码,实现Cookie的创建、存储及清除操作。通过HttpCookie对象保存多个CheckBox的状态值,并利用原生JS函数解析和删除特定Cookie,适用于需要持久化用户界面状态的场景。

文章目录

ASP.NET 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"];
// 若Cookie不存在则进行初始化
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;
} 
// 遍历Cookie中的所有子键
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>
JavaScript清除Cookie数组逻辑<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位置处名为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>

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章