簡體   English   中英

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

[英]User.Identity.Name or GetUserName not working on MVC 5

我正在一個MVC系統上工作,在該系統中,我已經實現了將日志顯示為要顯示的初始頁面(如啟動屏幕),並且一旦用戶成功登錄,便將其重定向到主視圖。

接下來,我需要做的是:

  1. 一個用戶在主視圖中,有一個部分試圖顯示用戶名。 例如:約翰·史密斯(John Smith)。 為此,我使用以下方法:

     User.Identity.Name 

    要么

     User.Identity.GetUserName 

但是它們似乎都不起作用。 名稱不顯示。 查看當我從VS創建我的MVC項目時生成的表, AspNetUser表沒有名稱,姓氏或全名的任何列。 相反,它具有一些列,其中之一是UserName ,它存儲像這樣的數據: john.smith

因此,為了顯示用戶的姓名和姓氏,我應該在該表上創建額外的列並更新寄存器視圖以輸入此類數據嗎?

提前致謝

首先,如果您已經正確設置了ASP .NET Identity或者使用的是ASP .NET Identity附帶的項目入門模板,則在View中應該可以進行以下操作:

@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")
    {
    }
}

檢查一下

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM