更改用户名后在导航栏中刷新用户名(使用Asp.Net、MVC和C#)
当用户在登录时更改了自己或此处的用户名后,我正在尝试更新导航栏中的用户名(使用ASP.NET、MVC、C#)。因此会显示用户名,但更改后,旧用户名仍会显示在导航栏中,直到用户注销并再次登录 有人知道如何在导航栏中以一种好的方式显示新用户名吗 这是导航栏外观的简短版本:更改用户名后在导航栏中刷新用户名(使用Asp.Net、MVC和C#),c#,asp.net,asp.net-identity,navbar,C#,Asp.net,Asp.net Identity,Navbar,当用户在登录时更改了自己或此处的用户名后,我正在尝试更新导航栏中的用户名(使用ASP.NET、MVC、C#)。因此会显示用户名,但更改后,旧用户名仍会显示在导航栏中,直到用户注销并再次登录 有人知道如何在导航栏中以一种好的方式显示新用户名吗 这是导航栏外观的简短版本: <nav class="navbar navbar-default navbar-fixed-top"> @if (Request.IsAuthenticated) { @Html.AntiForgeryTok
<nav class="navbar navbar-default navbar-fixed-top">
@if (Request.IsAuthenticated)
{
@Html.AntiForgeryToken()
<a href='@Url.Action("Index", "Manage")'>@User.Identity.GetUserName()</a>
}
</nav>
(电子邮件和用户名在此应用程序中是相同的)为了在更改用户名后自动登录用户,您需要根据我对您的问题的评论运行SingInAsync方法。
wait-SignInManager.SignInAsync(aspUser,true,true)代码>可能…正如您所说,您需要注销并使用此请求登录用户,因此运行等待SignInAsync(用户,true)
以编程方式登录新用户名。@PeterSchneider类似,但不同。我可以保存新用户名和电子邮件。但是,我的问题在于在导航栏中显示新用户名。现在旧用户名仍显示在导航栏中。@FarrukhSubhani,非常感谢!成功了。我使用了:await-SignInManager.SignInAsync(aspUser,true,true)代码>。你能把它标记为答案吗。
aspUser.UserName = model.Email;
aspUser.Email = model.Email;
var result = await UserManager.UpdateAsync(aspUser);
if (result.Succeeded)
// Want to update the navbar, maybe here?