User.Identity.Name 或 GetUserName 在 MVC 5 上不起作用



我正在开发一个 MVC 系统,我已经实现了将日志作为要显示的初始页面(如初始屏幕)放在视图中,一旦用户成功登录,将它们重定向到主视图。

我接下来需要做的是:

  1. 一个用户在主视图中,有一个部分我尝试显示用户名。例如:约翰·史密斯。为此,我使用以下方法:

    User.Identity.Name 
    

    User.Identity.GetUserName
    

但它们似乎都不起作用。不显示该名称。查看我从 VS 创建 MVC 项目时生成的表,AspNetUser表没有任何名称、姓氏或全名列。相反,它有一些列,其中一列是UserName,它存储的数据如下: john.smith .

那么,为了显示用户的姓名和姓氏,我是否应该在该表上创建额外的列并更新寄存器视图以输入此类数据?

提前致谢

首先,

如果您已正确设置ASP .NET Identity或者如果您使用的是ASP .NET Identity附带的项目入门模板,那么以下内容应该在视图中工作:

@User.Identity.Name
@User.Identity.GetUserName()

此外,如果要向用户添加自定义属性,则必须将这些属性添加到ApplicationUser类或IdentityUser继承的任何其他类中,然后在IdentityDbContext中使用该类...

public class ApplicationUser : IdentityUser
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
}
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext()
        : base("DefaultConnection")
    {
    }
}

检查这个

相关内容

  • 没有找到相关文章

最新更新