Диалог Mudblazor не показывает .NET 8 ⇐ C#

Место общения программистов C#
Anonymous
Диалог Mudblazor не показывает .NET 8

Сообщение Anonymous »

Я изучаю Blazor и работаю над относительно простым приложением Blazor с Mudblazor и .net 8. Я не знаю, почему это не работает. Я хочу открыть простой диалог, и, как следует из примера в документации, я добавил в MyainLayout.razor и определил диалог следующим образом:
sstrong>test.razorобразно

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

@inject IDialogService DialogService
@rendermode InteractiveServer

Test
Add

@code {
private void Add() {
var options = new DialogOptions { CloseOnEscapeKey = true };
DialogService.Show("Test", options);
}
}
testdialog.razor

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


Dialog Test


Ok



@code {
[CascadingParameter] MudDialogInstance MudDialog { get; set; }

void Submit() => MudDialog.Close(DialogResult.Ok(true));
}
mainlayout.razor

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

@inherits LayoutComponentBase








My Application





@Body



@code {
bool _drawerOpen = true;

void DrawerToggle() {
_drawerOpen = !_drawerOpen;
}
}
< /code>
При нажатии кнопки просмотра ничего не происходит, и никакой ошибки не бросают. Я также попытался добавить @rendermode Interactiveserver 
в testdialog.razor , но это тоже ничего не изменило. При отладке он достигает dialogservice.show с проблемой сейчас и не бросает ошибку. Для большинства других людей с этой проблемой, кажется, не хватает , который решает его, но у меня уже добавлено.

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

InvalidOperationException: Cannot pass the parameter 'Body' to component 'MainLayout' with rendermode 'InteractiveServerRenderMode'. This is because the parameter is of the delegate type 'Microsoft.AspNetCore.Components.RenderFragment', which is arbitrary code and cannot be serialized
В этом сообщении было предложено добавить режим рендеринга в app.razor , который работает нормально, но не помогает с проблемой диалога. Есть ли что -то действительно очевидное, что я упускаю из виду?

Подробнее здесь: https://stackoverflow.com/questions/779 ... wing-net-8

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