在 Asp.Net MVC 的主视图中访问当前 IPrinciple
我目前有一个抽象控制器类,我的所有控制器都继承自它。 我希望能够在我的母版页中使用当前用户(IPrinciple)对象。 我读到我可以使用我的抽象基本控制器类的构造函数,也就是说我可以做一些类似的事情,
public BaseController()
{
ViewData["UserName"] = this.User.Identity.Name;
}
然后我可以从我的母版页访问 ViewData["UserName"] 等。 我的问题是 this.User 此时为空。 有人知道不同的方法吗?
提前致谢。
I currently have a abstract controller class that I all my controllers inherit from.
I want to be able to use the current user (IPrinciple) object in my master page.
I read that I could use the contructor of my abstract base controller class, that is I could do something like
public BaseController()
{
ViewData["UserName"] = this.User.Identity.Name;
}
I could then access ViewData["UserName"] etc from my master page.
My problem is that this.User is null at this point.
Does anybody know of a different approach?
Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以编写一个 ActionFilter 并在
OnActionExecuted 中
事件将用户放入ViewData
中:然后使用此属性装饰您的基本控制器:
You could write an ActionFilter and in the
OnActionExecuted
event put the user insideViewData
:And then decorate your base controller with this attribute: