如何在c#asp.net中剪切字符串大小

时间:2016-10-25 15:14:24

标签: c# asp.net cookies

我想在一个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的函数/代码吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

你不是adding the cookie

    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的三个属性来给自己更多的喘息空间。