我想在一个Cookie 中保存多个字符串值,字符串大于4kb切换为1.3kb
这是我的代码 - 通知 - 我不确定代码是否正常工作,因为当我尝试在文本框中显示它们时没有显示cookie,不知道原因。
编辑 - 保存Cookie
protected void btnCookie_Click(object sender, EventArgs e)
{
HttpCookie cookie = new HttpCookie("cookie");
cookie.Values.Add("cookie1", txtValue1.Text);
cookie.Values.Add("cookie2", txtValue2.Text);
cookie.Values.Add("cookie3", txtValue3.Text);
cookie.Expires = DateTime.Now.AddDays(1d);
Response.Cookies.Add(cookie);
Response.Write("Success!");
}
阅读Cookie
protected void btnLoadCookies_Click(object sender, EventArgs e)
{
if ((Request.Cookies["cookie"] != null))
{
TextBox1.Text = Request.Cookies["cookie"]["cookie1"];
TextBox2.Text = Request.Cookies["cookie"]["cookie2"];
TextBox3.Text = Request.Cookies["cookie"]["cookie3"];
}
}
你能帮我创建一个能将字符串大小从4kb减少到1.3kb的函数/代码吗?
谢谢!
答案 0 :(得分:1)
HttpCookie cookie = new HttpCookie("cookie");
cookie.Values.Add("cookie1", txtValue1.Text);
cookie.Values.Add("cookie2", txtValue2.Text);
cookie.Values.Add("cookie3", txtValue3.Text);
// Now tell the Response about it
Response.Cookies.Add(cookie);
很抱歉在评论中有这么大的痛苦,但你最终基本上把它弄清楚了。
如果您最终需要截断文本,则需要String.Substring()
。但是你也可以通过在三个不同的cookie中保存三个4k块文本而不是一个cookie的三个属性来给自己更多的喘息空间。