I have added First and Last name to the ApplicationUser
Class.
public class ApplicationUser : IdentityUser
{
public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager)
{
// Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
// Add custom user claims here
return userIdentity;
}
public string FirstName { get; set; }
public string LastName { get; set; }
}
also added information to RegisterViewModel
My application successfully created First and LastName
to the table but I am unable to get the first and last names as to display in _LoginPartial
"User.Identity.Name"
User.Identity.Name is going to give you the name of the user that is currently logged into the application.
Open a new project in Visual Studio and select Visual C#. In Visual C#, select ASP.NET Web Application and give the project name. Click OK. Step 2: Select MVC template from template type and click Change Authentication button.
in your partialview _LoginPartial.cshtml
Add the code:
@if (Request.IsAuthenticated)
{
var manager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext()));
var user = manager.FindById(User.Identity.GetUserId());
...
}
ApplicationDbContext
= your DBContext -> Default : ApplicationDbContext
With the instance of ApplicationUser (user)
you can get First-
and LastName
-property
Replace User.Identity.Name
with user.FirstName + " " + user.LastName
like this:
<ul class="nav navbar-nav navbar-right">
<li>
@Html.ActionLink("Hello " + user.FirstName + " " + user.LastName + "!", "Manage", "Account", routeValues: null, htmlAttributes: new { title = "Manage" })
</li>
<li><a href="javascript:document.getElementById('logoutForm').submit()">Log off</a></li>
</ul>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With