Blazor: список панели мониторинга для конкретного пользователя становится нулевым после перезагрузки страницыC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Blazor: список панели мониторинга для конкретного пользователя становится нулевым после перезагрузки страницы

Сообщение Anonymous »

Я работаю над серверным приложением Blazor, в котором я хочу отображать пользовательский список информационных панелей в меню навигации после входа пользователя в систему. Список информационных панелей извлекается на основе UserId текущего аутентифицированного пользователя. , и я использую Entity Framework Core для запроса этих данных.
Список информационной панели отображается правильно только при первом входе в систему. Однако после перезагрузки или остановки и перезапуска отладки список снова становится нулевым.
Чтобы список снова отображался правильно, мне нужно выйти из системы и снова войти в систему, что сбрасывает состояние и правильно извлекает список. После обновления страницы или перезагрузки список не извлекается, хотя пользователь все еще аутентифицирован.
Это мой код ниже:

Код: Выделить всё

 @if(UserDashboardLists != null && UserDashboardLists.Any())
{
foreach (var userDashboard in UserDashboardLists)
{


 @userDashboard.DashboardName


}
}

@code
{
private ApplicationUser? currUser;

private List UserDashboardLists;

private IEnumerable Dashboards;

protected override async Task OnInitializedAsync()
{
currentUrl = NavigationManager.ToBaseRelativePath(NavigationManager.Uri);
NavigationManager.LocationChanged += OnLocationChanged;

try
{
var authState = await AuthenticationStateProvider.GetAuthenticationStateAsync();
var user = authState.User;

if(user.Identity != null && user.Identity.IsAuthenticated)
{
currUser = await UserManager.GetUserAsync(user);

if (currUser != null)
{
UserDashboardLists = await (from ud in DbContext.UserDashboards
where ud.UserId == currUser.Id
join d in DbContext.Dashboards on ud.DashboardId equals d.Id
select new UserDashboardList
{
UserId = currUser.Id,
Dashboardid = d.Id,
DashboardName = d.Name,
Href = d.Href
}).ToListAsync();

}
}
else
{
Console.WriteLine("User is not authenticated.");
UserDashboardLists = new List();
}

}
catch (Exception ex)
{
UserDashboardLists = new List();
}
}
}
Кто-нибудь знает, чего здесь может не хватать? Заранее спасибо.

Подробнее здесь: https://stackoverflow.com/questions/790 ... age-reload
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Базовый адрес HttpClient впервые становится нулевым в методе OnInitializedAsync в Blazor
    Гость » » в форуме C#
    0 Ответы
    24 Просмотры
    Последнее сообщение Гость
  • Идентификатор пользователя здесь становится нулевым
    Anonymous » » в форуме C#
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Идентификатор пользователя здесь становится нулевым
    Anonymous » » в форуме C#
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Отчет на панели панели панели после освежающей страницы
    Anonymous » » в форуме Python
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Отчет на панели панели панели после освежающей страницы
    Anonymous » » в форуме Python
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»