NET8 Blazor не может найти режим рендеринга для компонентаC#

Место общения программистов C#
Anonymous
NET8 Blazor не может найти режим рендеринга для компонента

Сообщение Anonymous »


Я создал Библиотеку Razor, в которой хранятся все части пользовательского интерфейса и дизайн. В этой библиотеке, созданной с использованием NET8, у меня есть, например, компонент для изменения темы на темный режим или наоборот. Я поместил этот компонент в другой компонент под названием TopNavBar (красная стрелка показывает переключение от светлого к темному).

Переключатель вызывает JSInterop

@inject IJSRuntime jsRuntime @код { /// /// Темная тема активирована? /// [Параметр] public bool IsDarkTheme { get; набор; } = ложь; защищенная асинхронная задача OnLightClick (MouseEventArgs args) { await jsRuntime.InvokeVoidAsync("switchToLight"); IsDarkTheme = ложь; } защищенная асинхронная задача OnDarkClick (MouseEventArgs args) { await jsRuntime.InvokeVoidAsync("switchToDark"); IsDarkTheme = правда; } } и результат на странице


Изображение


MainLayout.razor такой

@inherits LayoutComponentBase @inject AuthenticationStateProvider AuthenticationStateProvider @SearchContent В проекте Blazor (с сервером и клиентом) на основе NET8 я добавил библиотеку и в MainLayout.razor поместил TopNavbar.

Во-первых, приложению требуется много времени, чтобы ответить пользователю, возможно, потому, что ему необходимо прочитать некоторые файлы JavaScript. Во-вторых, переключатель не работает. Если я нажму на нее, ничего не произойдет.

Я пытался добавить в TopNavBar rendermode, используя то, что мне показывает Visual Studio (хотя это неправильно)

или правильный (я думаю)

но в обоих случаях я получаю сообщение об ошибке

Ошибка CS0103. Имя InteractiveServer не существует в текущем контексте


Изображение


Я смотрел это видео, и парень сказал, что я могу добавить этот @rendermode к каждому компоненту. Что я могу сделать?

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