如何在服务器ASP.NET上请求客户端cookie

时间:2013-11-11 19:35:11

标签: c# javascript asp.net cookies

我有一个javascript函数,它以下列方式更新cookie:

aspx页面:

function setCookie()
{
    //...
    document.cookie = "myCookie = HelloWorld";
    //...
}

在asp控件触发事件后,整个页面将从客户端发回。我希望能够读取我的cookie的价值。我该怎么做?

我试过了:

string temp = Request.ServerVariables["myCookie"].ToString();但这是错误的做法。

如何阅读服务器上的客户端cookie

2 个答案:

答案 0 :(得分:2)

if(Request.Cookies["userName"] != null)
    Label1.Text = Server.HtmlEncode(Request.Cookies["userName"].Value);

Source MSDN

答案 1 :(得分:1)

这是在服务器端检索cookie的帮助方法。

public static String GetCookie(String cookieName)
{
   try
   {
      if (HttpContext.Current.Request.Cookies[cookieName] == null)
         return String.Empty;

      return HttpContext.Current.Request.Cookies[cookieName].Value;
   }
   catch
   {
      return String.Empty;
   }
}

用法

var result = GetCookie("myCookie");

如果您想在客户端设置cookie,请查看此Cookie plugin