首页 > 解决方案 > 如何在 C# 和 ASP.NET MVC 中读取/写入 cookie

问题描述

我的 cookie 有问题,这是我在课堂上的读写代码:

public static class language
{
   public static void set_default(string name)
   {
       HttpContext.Current.Response.Cookies.Remove("language");
       HttpCookie language = new HttpCookie("language");
       language["name"] = name;
       language.Expires = DateTime.Now.AddDays(1d);
       HttpContext.Current.Response.Cookies.Add(language);
   }

   public static string get_default()
   {
       string name = string.Empty;
       HttpCookie langauge = HttpContext.Current.Response.Cookies.Get("language");
       name = langauge["name"];
       return name;
   }
}

当我转到下一页并使用@language.get_default()获取默认语言时,响应是null- 为什么?

标签: c#asp.net.netasp.net-mvcmodel-view-controller

解决方案


编写 cookie 时,您将 cookie 添加到Response. 阅读它们时,您应该使用Request

HttpCookie language = HttpContext.Current.Request.Cookies.Get("language");

所以set_default()是正确的,但你应该改变get_default()


推荐阅读