Anstatt Benutzername zu verwenden, möchte ich den Wert aus Spalte DisplayName anzeigen, die in meiner ApplicationUser-Klasse vorhanden ist.ASP.NET MVC Anzeige Vollständiger Name des Benutzers
Basierend auf der solution hier, ich habe eine benutzerdefinierte Klasse erstellt und initialisieren sie in Global.asax Application Start.
public class UserProfileActionFilter: ActionFilterAttribute
{
public override void OnResultExecuting(ResultExecutingContext filterContext)
{
ApplicationUser user = System.Web.HttpContext.Current.GetOwinContext().GetUserManager<ApplicationUserManager>().FindById(System.Web.HttpContext.Current.User.Identity.GetUserId());
if (user != null)
{
filterContext.Controller.ViewBag.DisplayName = user.DisplayName;
}
}
}
Ich verweisen dann folgende ViewBag.DisplayName in der LogOnPartialView.
Aber diese Klasse wird mehrmals während der Anwendung, während der Anmeldung, der Ausführung von Aktionen und so weiter getroffen. Ich mache mir Sorgen, ob dies einen Overhead für die Datenbank verursacht.