Могу ли я вызвать <script>из подпрограммы C# на истинной задней странице? - PullRequest
0 голосов
/ 08 мая 2020

У меня есть приложение Blazor WebAssembly с размещенным ASP. NET Core, с моим кодом разметки в Index.razor и за кодом в Index.razor.cs. Назовите меня старомодным.

У меня есть соединения между razor и razor.cs, и они работают. Мои подпрограммы C# найдены и работают нормально, ЗА ИСКЛЮЧЕНИЕМ тех, которые вызывают.

Например, вызов:

await JSRuntime.InvokeVoidAsyn c ("ShowAlert" , showAlertMessage);

при включении в процедуру на странице Index.razor.cs ошибки в компиляции при распознавании InvokeVoidAsy c.

Я перемещаю процедуру хоста C# в страница разметки Index.razor, все распознается и работает.

Тогда мой вопрос, могу ли я вызвать a из подпрограммы C# на истинной задней странице? Есть ли что-то еще, что вам нужно сделать, чтобы это сработало? Я действительно хотел бы сохранить весь свой код поддержки на странице razor.cs.

Или он только «подключен» к проекту Blazor, подобному моему, для вызова из кода C#, размещенного на странице разметки ?

Это здорово, что Blazor позволяет вам до некоторой степени смешивать и сочетать.

1 Ответ

0 голосов
/ 08 мая 2020

Внесли ли вы

private readonly IJSRuntime jsRuntime;

protected override void OnInitialized(IJSRuntime jsRuntime)
{
    this.jsRuntime = jsRuntime;
    base.OnInitialized();
}

в код позади, поскольку он не может видеть внедренный класс, если он введен на страницу разметки.

...