如何在ASP.NET MVC控制器中访问Request.cookies?

30

我正在尝试通过一个常见的控制器文件获取存储在cookie中的用户ID,我可以在整个站点中访问该文件。

我已经创建了FunctionsController作为控制器,并编写如下内容:

public static int loggedinUser()
{
    return Convert.ToInt32(  request.Cookies["userid"].Value);
}

即使我尝试了以下方法,我仍然无法请求任何cookie项目:

HttpRequestBase request = controllerContext.HttpContext.Request;
2个回答

39

我在ASP.NET MVC中使用标准的访问语句来访问cookie,没有遇到问题,例如:

Request.Cookies["someCookie"]

您的示例中在 "request.Cookies" 中使用了小写字母 "r",这可能是您的问题所在。


需要对象引用才能访问非静态字段、方法或属性“System.Web.Mvc.Controller.Request.get”。 - ANIL MANE
使用 System;使用 System.Collections.Generic;使用 System.Linq;使用 System.Web;使用 System.Web.Mvc;使用 CRM.Models; 命名空间 MarcelCRM.Controllers { public class FunctionsController : Controller { public static int loggedinUser() {return Convert.ToInt32(Request.Cookies["someCookie"]);} } } - ANIL MANE

11

移除你的方法声明中的 static 部分,然后使用 Request.Cookies["userId"]


关于这个异常,这可能就是答案。 - ˈvɔlə

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接