0

Identity 3.0のアプリケーションでは、次のようにデフォルトのApplicationUserクラスを拡張しました。私の次のIndexビューでは、@User.Identity.Nameを使ってトップバーにuserNameを表示しています。 質問:下記のUserFullNameプロパティを使用する代わりに、ユーザーのフルネームを表示するにはどうすればよいですか?ASP.NETでユーザープロファイルプロパティを表示する方法ID

public class ApplicationUser : IdentityUser 
{ 
    public string UserName { get; set; } 
    [Column(TypeName = "varchar(45)")] 
    public string UserFullName { get; set; } 
    [Column(TypeName = "varchar(15)")] 
} 

Index.cshtml

@using Microsoft.AspNetCore.Identity 

@inject SignInManager<ApplicationUser> SignInManager 

@if (SignInManager.IsSignedIn(User)) 
{ 
    Hello @User.Identity.Name 
    ... 
} 

UPDATEASPNETUsersテーブルがすでにUserNameUserFullName列が移入し、それらの値がそうJSmith, John SmithBDoe, Bob Doeなど、すなわち持っている

質問はJSmithがユーザーにログインしている場合、私たちは彼のユーザーのHello JSmithは@User.Identity.Nameです。しかし、どうすればいいですかJohn Smith

答えて

0

このような計算フィールドを追加する必要があります。

public string FullName() { return String.Format("{0} {1}",FirstName,LastName); } 
+0

たぶん私はポストにその明確ではありませんでした。私は今詳細については、UPDATEを追加しました。 – nam

0

ページ内のユーザーは、アプリケーションユーザーではなく、IPリミテッドです。このようにApplicationUserを取得する必要があります。

ApplicationUserManager manager= 
    HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>(); 

var currentUser = manager.FindById(User.Identity.GetUserId()); 

// use currentUser.UserFullName 

https://blogs.msdn.microsoft.com/webdev/2013/10/16/customizing-profile-information-in-asp-net-identity-in-vs-2013-templates/

関連する問題