Blazor открывает двойное модальное всплывающее окно

Когда я нажимаю на эту ссылку, появятся 2 модальных всплывающих окна. В чем проблема и как ее решить?

 <a @onclick="@(()=>ShowModal(pd.StudentId))" > <i title="document" class="glyphicon glyphicon-paperclip"></i> 
protected async Task ShowModal(int st) 
{
    var parameters = new ModalParameters();
    parameters.Add(nameof(Downloadfile.StudentId), st);
    
    var options = new ModalOptions() 
    {
        DisableBackgroundCancel = true,
        Animation = ModalAnimation.FadeInOut(1),
    };

    //  Modal.OnClose += ModalClosed;
    Modal.Show < Downloadfile > ("File To Be Download", parameters, options);
}

1 ответ

Поскольку я не уверен, как вы показываете модальное всплывающее окно, я предполагаю, что это из-за асинхронности в вашем ShowModalметод. Если у вас там нет ожиданий, вы можете удалить его так:

protected void ShowModal(int st)

Или, если у вас есть ожидания в этом методе, вам нужно изменить свою ссылку, чтобы добавить к ней асинхронность:

<a @onclick="@(async ()=> await ShowModal(pd.StudentId))" > <i title="document" class="glyphicon glyphicon-paperclip"></i>

Если это не сработает, поделитесь кодом для модального всплывающего окна.

Другие вопросы по тегам