Я добавляю и удаляю пользователей из ролей в коде моего контроллера и в своем общем представлении _Layout, я использую User.IsInRole для соответствующей проверки и удаления ссылок, но это работает только в том случае, если пользователь выходит из веб-сайта, затем User.IsInRole возвращает правильный результат?
Есть ли способ перезагрузить страницу _Layout, чтобы она правильно собирала данные?
Код контроллера для смены ролей
_userManager.RemoveFromRole(obj.strUserID, "Consumer");
_userManager.AddToRole(obj.strUserID, "Provider");
_context.SaveChanges();
return View("Success");
Общий _Layout View, который используется несколькими страницами
if (!User.IsInRole("Provider"))
{
<li>@Html.ActionLink("Become a Member", "Memmber", "CustProfile")</li>
}
Как только я удаляю и добавляю новые роли в User, я хочу, чтобы _Layout.cstml отображал правильные ссылки, но это не так. Это работает нормально, если я выйду и войду снова.
Есть ли способ исправить это поведение?