我正在使用以下任何视图加载用户 id 的名称:
var oUser = db.User.FirstOrDefault(x => x.ID == User.Identity.Name.Remove(0, 6));
if (oUser == null || (oUser.firstname == null|| oUser.lastname == null))
ViewBag.User = User.Identity.Name.Remove(0, 6);
else
ViewBag.User = oUser.firstname + " " + oUser.lastname;
但我希望每次都在 _layout 中使用用户名字符串,而不是每次都加载它。将其加载到 viewbag 可能是一种可能性,但我不知道将代码放在哪里以将字段传递给布局。
顺便说一句,这行不通,这不是我要找的:
@if(Request.IsAuthenticated) {
<text>Welcome <b>@Context.User.Identity.Name</b>!
[ @Html.ActionLink("Log Off", "LogOff", "Account") ]</text>
}
else {
@:[ @Html.ActionLink("Log On", "LogOn", "Account") ]
}