2017-07-24 46 views
0

我試圖在用戶更改他或更新導航欄中的用戶名(使用ASP.NET,MVC,C#)這裏是登錄時的用戶名。所以顯示的是用戶名,但是當它改變時,舊的用戶名仍然顯示在導航欄中,直到用戶停止並重新登錄。用戶名發生變化後,在導航欄中刷新用戶名(使用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> 

及以下的短版新用戶名/電子郵件的更新方式:

aspUser.UserName = model.Email; 
aspUser.Email = model.Email; 
var result = await UserManager.UpdateAsync(aspUser); 

if (result.Succeeded) 
// Want to update the navbar, maybe here? 

(電子郵件和用戶名是同樣的東西在這個應用程序)

+0

可能[重複](https://stackoverflow.com/questions/21748731/change-username-in-mvc-5)... –

+1

正如您所說,您需要註銷並使用此請求登錄用戶運行'await SignInAsync(user,true);'以編程方式登錄新的用戶名。 –

+0

@PeterSchneider相似但不相同。我可以保存新的用戶名和電子郵件。 但是,我的問題在於在導航欄中顯示新的用戶名。現在,舊的用戶名仍然顯示在導航欄中。 – Mikael

回答

0

爲了用戶名後更改自動登錄用戶需要運行SingInAsync方法根據我的意見你的問題。 await SignInManager.SignInAsync(aspUser, true, true);

相關問題