Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更改用户名后在导航栏中刷新用户名(使用Asp.Net、MVC和C#)_C#_Asp.net_Asp.net Identity_Navbar - Fatal编程技术网

更改用户名后在导航栏中刷新用户名(使用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

当用户在登录时更改了自己或此处的用户名后,我正在尝试更新导航栏中的用户名(使用ASP.NET、MVC、C#)。因此会显示用户名,但更改后,旧用户名仍会显示在导航栏中,直到用户注销并再次登录

有人知道如何在导航栏中以一种好的方式显示新用户名吗

这是导航栏外观的简短版本:

<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?