#c# #.net #blazor
Вопрос:
В моем приложении Blazor на сервере я пытаюсь ввести JSRuntime в соответствии с этой документацией: https://blazor-university.com/javascript-interop/calling-javascript-from-dotnet/
Чтобы добавить JSRuntime в свой проект, я добавил следующую строку в функцию ConfigureServices файла Startup.cs:
services.AddSingleton<IJSRuntime, JSRuntime>();
В верхней части моей страницы с бритвой у меня есть следующее:
@inject IJSRuntime JSRuntime
Когда я пытаюсь скомпилировать, при этом вводится ошибка с сообщением «Не удалось найти тип или имя пространства имен «IJSRuntime» (у вас отсутствует директива using или ссылка на сборку?)»
Я попытался включить «Использовать предварительные просмотры .NET SDK» в соответствии с предложениями stackoverflow, но это не помогло.
Комментарии:
1. Добавьте @с помощью Microsoft. JsInterop в верхней части вашей страницы razor. Или поместите это в файл с надписью Импорт.бритва
2. Есть ли у вас
@using Microsoft.JSInterop
на странице razor или в файле _Imports.razor? — лол, что сказал Джейсон 🙂3. Вы добавили ссылку на библиотеку в свой проект?
4. Ах, я использовал Microsoft. JsInterop в моем классе запуска, но не на странице razor. Спасибо!
5. Вы должны отметить ответ @Connor Low как принятый.
Ответ №1:
Вам необходимо включить using
инструкцию либо в файл component.razor, либо в файл _Imports.razor (предпочтительно, если вы собираетесь JSInterop
часто использовать).:
@using Microsoft.JSInterop
Если вы сервер или шаблоны WASM Blazor, это уже должно быть включено в _Imports.razor.