1 回答

TA贡献1796条经验 获得超4个赞
理想情况下,您应该将其加载到您的模型中:
public ActionResult Index()
{
FulfillmentContext db = new FulfillmentContext();
string username =
HttpContext.Current.User.Identity.GetUserName();
var currentUser = (from u in db.AspNetUsers
join ur in db.AspNetUserRoles on u.Id equals ur.UserId
join r in db.AspNetRoles on ur.RoleId equals r.Id
where u.UserName == username
select u).First();
var model = new Model();
model.CurrentUser = currentUser;
return View(model);
}
但是,您可以创建一个 HTML 帮助程序扩展:
public static AspNetUser GetCurrentUser(this HtmlHelper helper)
{
FulfillmentContext db = new FulfillmentContext();
string username = HttpContext.Current.User.Identity.GetUserName();
var currentUser = (from u in db.AspNetUsers
join ur in db.AspNetUserRoles on u.Id equals ur.UserId
join r in db.AspNetRoles on ur.RoleId equals r.Id
where u.UserName == username
select u).First();
return currentUser;
}
然后从您的视图中调用它:
@{
var user = Html.GetCurrentUser();
}
- 1 回答
- 0 关注
- 78 浏览
添加回答
举报