在我网站的_Layout.cshtml
页面上,我只想显示当前用户的名字和姓氏。它存储在AspNetUsers
列的Name
数据库表中。
任何人都知道如何获取这些数据?
我查看了UserManager
课程,我看到了GetEmail
和GetPhone
等方法,但没有得到名字。
答案 0 :(得分:1)
您可以使用HttpContext.User属性来获取此信息,例如
User.Identity.Name
(或)完全限定名称
HttpContext.Current.User.Identity.Name.
根据您的评论,您正试图从UserName
表中获取AspNetUsers
字段。
看看下面的帖子
答案 1 :(得分:1)
你能详细说明Name列的来源吗?
向AspNetUsers表添加列的首选方法是在项目中启用迁移,向ApplicationUser类添加新属性,然后添加新迁移并应用它。
通过这样做,当您从UserManager获取用户时,您将可以访问新的Name属性。
答案 2 :(得分:0)
再次阅读您的问题,Name
表格中没有名为AspNetUsers
的列,有一个UserName
列。名字和姓氏不会保存在AspNetUsers
表中,除非您已将它们添加进去,在这种情况下,我会创建一个存储过程以从该表中返回数据。
要访问 UserName 和 UserId ,
使用语句添加以下。
使用Microsoft.AspNet.Identity;
您现在可以从HttpContext.User.Identity
获得更多方法。
var UserName = User.Identity.GetUserName();
var UserId = User.Identity.GetUserId();
由于