ASP.NET中通过JavaScript创建与清除Cookie数组的完整实现
作者:纸飞机时间:2026-10-24 17:34:05浏览:192
本文详细讲解在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}; 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>作者最新文章
JS动态构建复杂嵌套JSON对象的方法
2026-11-05 15:41:52
JS负数取余为什么是负数?详解余数与模运算区别
2026-11-05 13:34:41
JS 解压出现乱码或报错怎么解决?
2026-11-05 12:32:38
JS 中 startsWith、indexOf 与正则判断字符串前缀的对比
2026-11-04 22:19:43
JS解析Excel后怎么将数据转换为JSON格式
2026-11-04 20:58:28
