c# - 如何在 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
- 为什么?
解决方案
编写 cookie 时,您将 cookie 添加到Response
. 阅读它们时,您应该使用Request
:
HttpCookie language = HttpContext.Current.Request.Cookies.Get("language");
所以set_default()
是正确的,但你应该改变get_default()
推荐阅读
- powershell - 格式表未生效(Exchange - powershell)
- filter - 如何在 powerbi 中创建自定义过滤器组
- python-2.7 - 如何使用 pytest 和 python 测试控制台打印?
- c++ - Type Erasure setup C++中的内部类找不到Friend函数
- graphql - GraphQL:授权头格式无效
- ionic-framework - Ionic 不在 android 上的路由上执行 canActivate
- amazon-web-services - Ap Gateway + Lambda:如何启用压缩
- php - 为什么控制器发送的 html 代码显示在我的页面中?
- openlayers - Openlayers 6 z-index at feature level
- c# - 使用 HttpClient 将大文件流传递给 MultipartFormDataContent