在 AspNet MVC 中显示用户全名而不是用户电子邮件
Displaying User Full Name instead of User Email in AspNet MVC
我想在用户登录时显示全名。目前,我需要使用自定义代码,因为我没有使用让用户登录用户名的身份方法。
每当我尝试使用提供的链接时,它要么 returns 一个空错误,要么在登录后什么都不显示。
我使用了以下链接:
https://www.codeproject.com/Tips/991663/Displaying-User-Full-Name-instead-of-User-Email-in
public class ApplicationBaseController : Controller
{
protected override void OnActionExecuted(ActionExecutedContext filterContext)
{
if (User != null)
{
var context = new mymodel();
var username = User.Identity.Name;
if (!string.IsNullOrEmpty(username))
{
var user = context.Users.SingleOrDefault(u => u.FirstName == username);
string fullName = string.Concat(new string[] { user.FirstName, " ", user.LastName });
ViewData.Add("FullName", fullName);
}
}
base.OnActionExecuted(filterContext);
}
public ApplicationBaseController()
{ }
}
<authentication mode="Forms">
<forms cookieless="UseCookies" loginUrl="~/Account/Sigin" slidingExpiration="true"></forms>
</authentication>
更好的方法是至少实施某种 ID 系统来引用看起来像是某种用户 class.
中的用户
mason 解释得很好,您很快就会很容易地 运行 重复名称和用户名。处理此问题的一种常见方法是将 ID 附加到用户。这样你就可以拥有多个相同的名字,因为你只是用一个 ID 来引用它们。
你的 lambda 表达式最终看起来像这样:
u => u.ID == passedInID
我想在用户登录时显示全名。目前,我需要使用自定义代码,因为我没有使用让用户登录用户名的身份方法。
每当我尝试使用提供的链接时,它要么 returns 一个空错误,要么在登录后什么都不显示。
我使用了以下链接: https://www.codeproject.com/Tips/991663/Displaying-User-Full-Name-instead-of-User-Email-in
public class ApplicationBaseController : Controller
{
protected override void OnActionExecuted(ActionExecutedContext filterContext)
{
if (User != null)
{
var context = new mymodel();
var username = User.Identity.Name;
if (!string.IsNullOrEmpty(username))
{
var user = context.Users.SingleOrDefault(u => u.FirstName == username);
string fullName = string.Concat(new string[] { user.FirstName, " ", user.LastName });
ViewData.Add("FullName", fullName);
}
}
base.OnActionExecuted(filterContext);
}
public ApplicationBaseController()
{ }
}
<authentication mode="Forms">
<forms cookieless="UseCookies" loginUrl="~/Account/Sigin" slidingExpiration="true"></forms>
</authentication>
更好的方法是至少实施某种 ID 系统来引用看起来像是某种用户 class.
中的用户mason 解释得很好,您很快就会很容易地 运行 重复名称和用户名。处理此问题的一种常见方法是将 ID 附加到用户。这样你就可以拥有多个相同的名字,因为你只是用一个 ID 来引用它们。
你的 lambda 表达式最终看起来像这样:
u => u.ID == passedInID