如何在所有 `Views` 中显示 `IdentityUser` class 的自定义 属性?

How to display a custom property of `IdentityUser` class in all `Views`?

如何在所有 Views 中显示 IdentityUser class 的自定义 属性?

我想在顶部导航栏中显示一个 PublicName 和当前登录用户的 Email(在默认的 bootstrap 模板中,由 VisualStudio 只显示当前登录用户的 Email),它在 Views/Shared/_LoginPartial.cshtml 文件中。

创建自定义 WebViewPage 基础

 public abstract class CustomWebViewPage<TModel> : WebViewPage<TModel>
 {
  public IdentityUser User { 
      get { // return your IdentityUser object here }
  }
}

并在 Views/web.config

中将其配置为 razor 视图的新基础
<configuration>
  <system.web.webPages.razor>
    <pages pageBaseType="YourApp.CustomWebViewPage"></pages>
  </system.web.webPages.razor>
</configuration>

您现在可以在任何视图中访问用户 属性 并打印该值。

@this.User.Email