Диалог Mudblazor закрывается автоматически через несколько секунд в MainlayoutC#

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

Сообщение Anonymous »

Я использую аутентификацию Azure AD в своем приложении Blazor Webassembly, и я настроил app.razor

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







@Localizer["Please wait, we are authorizing you..."]









< /code>

У меня есть mainlayout < /code> в качестве макета по умолчанию. Вот его структура: < /p>
@inherits LayoutComponentBase







...



Authentication is required, click sign in





< /code>
Как только пользователь будет аутентифицирован, мне нужно проверить данные их профиля и, основываясь на этом, показать диалог Mudblazor. < /p>
Итак, я реализовал Логика onafterrenderasync 
:

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

[CascadingParameter] private Task AuthState { get; set; } = default!;
private IDialogReference? _dialogRef;
private bool _dialogOpened;

protected override async Task OnAfterRenderAsync(bool firstRender)
{
await base.OnAfterRenderAsync(firstRender);
if (firstRender)
{
// At this point, the user might not be authenticated yet since MainLayout is the default layout
await DoUiThings();
StateHasChanged();
}

var user = (await AuthState).User;
if (user.Identity is { IsAuthenticated: true } && !_dialogOpened) // Open dialog only if the user is authenticated and the dialog hasn't been opened yet
{
await ShowDialogIfAuthenticatedAsync();
}
}

private async Task ShowDialogIfAuthenticatedAsync()
{
_dialogRef = await DialogService.ShowAsync("Fake Title", parameters, dialogOptions);
_dialogOpened = true;
var resultDialog = await _dialogRef.Result;

if (resultDialog != null && !resultDialog.Canceled)
{
Console.WriteLine("LOG: Dialog closed with OK");
}
else
{
Console.WriteLine("LOG: Dialog canceled");
}
}
< /code>
 Проблема: < /h2>
[list]
[*] Метод ShowdialogifauthenticatedAsync < /code> выполняется правильно. < /li>
 Диалог появляется, как и ожидалось. < /li>
 Однако через несколько секунд он закрывается автоматически, и я не понимаю, почему. Inside Mainlayout 
Потому что, основываясь на выборе пользователя внутри диалога, они будут перенаправлены на другую страницу.
[/list]
Как я могу сохранить диалог Открыть внутри mainlayout без автоматического закрытия?

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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Диалог Mudblazor закрывается автоматически через несколько секунд в Mainlayout
    Anonymous » » в форуме C#
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Темный режим отдельного компонента Mudblazor C# Mudblazor
    Anonymous » » в форуме C#
    0 Ответы
    37 Просмотры
    Последнее сообщение Anonymous
  • Mudblazor: Формат даты в таблице Mudblazor?
    Anonymous » » в форуме C#
    0 Ответы
    37 Просмотры
    Последнее сообщение Anonymous
  • Mudblazor Loginform не работает в .net 8, Mudblazor 8.6.0
    Anonymous » » в форуме C#
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Mudblazor Loginform не работает в .net 8, Mudblazor 8.6.0
    Anonymous » » в форуме C#
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous

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