【问题标题】:ASP.NET cookies with multiple values - how to?具有多个值的 ASP.NET cookie - 如何?
【发布时间】:2009-10-14 08:41:58
【问题描述】:

我正在使用 ASP.NET 和 C#。

我必须读取一个名为“TheCookie”的 cookie ......

TheCookie 中有大约 3 个值。 Cookie1、Cookie2 和 Cookie3。

如何获取代码中的值来读取“TheCookie”中的 Cookie2 的值?

当 cookie 只有 1 个值时我会这样读取,但是当 cookie 中有多个值时我不知道该怎么办....... VB.NET 代码

Dim userCookie As HttpCookie
userCookie = Request.Cookies("UserEmail")

提前致谢!

【问题讨论】:

  • 我认为您需要进一步解释这一点。一个 cookie 只能有一个值。您可以设置多个 cookie 或将单个 cookie 值设置为具有多极属性的对象?

标签: c# asp.net vb.net cookies


【解决方案1】:

你设置它们通过

(C#)

Response.Cookies["TheCookie"]["Cookie1"] = "Hello World";

(VB)

Response.Cookies("TheCookie")("Cookie1") = "Hello World"

然后像这样阅读它们

(C#)

string myValue = Request.Cookies["TheCookie"]["Cookie1"];

(VB)

Dim myValue As String
myValue = Request.Cookies("TheCookie")("Cookie1")

【讨论】:

    【解决方案2】:
    Request.Cookies.Get("TheCookie").Values.Get("Cookie1")
    Request.Cookies.Get("TheCookie").Values.Get("Cookie2")
    Request.Cookies.Get("TheCookie").Values.Get("Cookie3")
    

    C# 语法,对不起!

    【讨论】:

      【解决方案3】:

      我们可以通过下面的字典对象键值对来保存它。

       HttpCookie hc = new HttpCookie(cookieName);
       foreach (KeyValuePair<string, string> val in dic)
       {
         hc[val.Key] = val.Value;
        }
       hc.Expires = DateTime.Now.Add(TimeSpan.FromHours(20000));
       GetHttpResponse().Cookies.Add(hc);
      

      Example

      【讨论】:

        猜你喜欢
        • 2010-11-26
        • 2014-10-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-21
        • 1970-01-01
        • 2015-01-22
        • 1970-01-01
        相关资源
        最近更新 更多