我是ASP.NET新手,正在尝试添加一个新的cookie。我使用的是ASP.NET版本3.1.401,在我的主控制器文件中,我尝试遵循以下命令:How to create persistent cookies in asp.net?。我有一个using-statement using System.Web,在我的homecontroller类中,我有一个方法,如下所示:
public IActionResult Index()
{
@ViewData["timezone"] = Convert.ToString(TimeZoneController.showTimeZone());
@ViewData["ip"] = IPController.getIP();
//create a cookie
HttpCookie myCookie = new HttpCookie("myCookie");
//Add key-values in the cookie
myCookie.Values.Add("userid", "new_user");
//set cookie expiry date-time. Made it to last for next 12 hours.
myCookie.Expires = DateTime.Now.AddHours(12);
//Most important, write the cookie to client.
Response.Cookies.Add(myCookie);
return View();
}并且我一直收到以下错误:
CS1729: 'HomeController.HttpCookie' does not contain a constructor that takes 1 arguments和
CS1061: 'HomeController.HttpCookie' does not contain a definition for 'Values' and no accessible extension method 'Values' accepting a first argument of type 'HomeController.HttpCookie' could be found (are you missing a using directive or an assembly reference?)如何获取和设置cookies ?在MVC模式中应该在哪里进行?
发布于 2020-08-25 05:46:40
我意识到我的错误在于我是在macos上开发的,因此我使用的是ASP.NET内核而不是ASP.NET,这是一个愚蠢的错误,但我相信很多初学者都会犯这个错误。这是一个当你使用ASP.NET内核时如何设置cookies的link。
发布于 2020-08-24 11:01:44
您是否尝试过:
//Add key-values in the cookie
myCookie.Values["userid"] = "new_user";这应该行得通。还要确保您使用的是来自System.Web的HttpCookie。
https://stackoverflow.com/questions/63554115
复制相似问题