从cookie mvc获取价值

时间:2016-01-28 14:30:42

标签: model-view-controller cookies

我在这样的一个mvc控制器中将值设置为Cookie

        HttpCookie accessToken = new HttpCookie("AccessToken");
        accessToken.Values["accessToken"] = "cb7ca44ff81324186724867668572a8f";
        Response.SetCookie(accessToken);

当我从像这样的另一个控制器中获取cookie的价值时

HttpContext.Request.Cookies.Get("AccessToken");

或者像这样

Request.Cookies["AccessToken"].Value

我得到了

  

的accessToken = cb7ca44ff81324186724867668572a8f

我只想在没有钥匙的情况下获得价值,我做错了什么?

1 个答案:

答案 0 :(得分:1)

您正在为AccessToken cookie添加键值对。如果只存储一个值而不需要类似字典的结构,则可以使用HttpCookie.Value属性。

accessToken.Value = "cb7ca44ff81324186724867668572a8f";
Request.Cookies["AccessToken"].Value // output 'cb7ca44ff81324186724867668572a8f'

更新:如果您想像最初那样存储多个键值对,那么:

var accessToken = new HttpCookie("AccessToken");
accessToken["somekey1"] = somevalue1;
accessToken["somekey2"] = somevalue2;

// read values
string somevalue1 = Request.Cookies["AccessToken"]["somekey1"];
string somevalue2 = Request.Cookies["AccessToken"]["somekey2"];