Asp.net mvc 从模型访问BaseController属性

Asp.net mvc 从模型访问BaseController属性,asp.net-mvc,asp.net-mvc-5,Asp.net Mvc,Asp.net Mvc 5,我的BaseModel中有一个属性用于跟踪当前用户,如下所示: public class BaseController : Controller { public UserModel currentUser; protected override void Initialize(RequestContext requestContext) { base.Initialize(requestContext);

我的BaseModel中有一个属性用于跟踪当前用户,如下所示:

    public class BaseController : Controller
    {
        public UserModel currentUser;

        protected override void Initialize(RequestContext requestContext)
        {
            base.Initialize(requestContext);
            UserRepository userRep = new UserRepository();
            currentUser = userRep.getCurrentUser();
        }
    }

如何在模型中访问该变量,或者是否有方法在
基本模型中创建类似的内容?

您可以在视图中给出名称空间,如下所示:

@using TestMVCApp.Controllers
@{
     var currentUser = BaseController.currentUser;
}
BaseController

public class BaseController : Controller
{
    public static UserModel currentUser;

    protected override void Initialize(RequestContext requestContext)
    {
        base.Initialize(requestContext);
        currentUser.id = 5;
    }

}

为ModelController中的baseController创建对象为什么需要这个?您是否使用传统的身份验证方法将用户置于用户属性中?您决不能将特定于会话的数据存储到静态成员中!此值对于托管进程(应用程序域)中的所有用户都是唯一的。当多个用户同时访问您的应用程序时,结果将是。。。不可预知的