【发布时间】:2014-02-25 02:41:33
【问题描述】:
我有一个字段是跟踪当前用户的控制器类(用户)。在另一个控制器类(博客)中,我想访问该属性(CurrentUser),但问题是我必须创建一个不起作用的控制器类的新实例。有没有一种在不创建新类的情况下访问此属性的好方法?
这是一个例子:
用户控制器类:
public class UserController : Controller
{
public int CurrentUserId = -1; // This line as been removed
//Methods go below
// ...
public void Login(User user)
{
HttpContext.Items["UserId"] = user.Id;
}
博客控制器类:
public class BlogController : Controller
{
public ActionResult NewBlogPost(Article ArticleToCreate)
{
ArticleToCreate.AudthorId = (int)HttpContext.Items["UserId"];
}
}
【问题讨论】:
-
您是如何使用属性来存储数据的? (我在您的 sn-ps 中看不到任何属性...)您使用的是静态包装器属性还是什么?除非我遗漏了什么,否则这似乎是错误的处理方式。
-
如何保存当前用户?
-
您的标题提到了属性,但您的代码示例中没有。有点不对劲……
标签: c# asp.net-mvc-4 httpcontext