#blazor #blazor-server-side #asp.net-core-3.0
#blazor #blazor-на стороне сервера #asp.net-core-3.0
Вопрос:
Чтобы отключить предварительную визуализацию на стороне сервера, asp.net core preview 3, вам просто нужно было прокомментировать @(await Html.RenderComponentAsync<MyApp>())
.
Поскольку asp.net core preview 4, когда вы комментируете эту строку, страница не отображается, а в главном компоненте @page "/"
тег <app>
остается пустым.
Итак, как мы можем отключить предварительную визуализацию на стороне сервера?
Ответ №1:
Наконец-то найдено решение с помощью core-system в исходном коде github: https://github.com/aspnet/AspNetCore/issues/9584#issuecomment-485257261
app.UseEndpoints(endpoints =>
{
endpoints.MapBlazorHub().AddComponent<App>(selector: "app");
endpoints.MapFallbackToFile("index.html"); // or - endpoints.MapFallbackToPage("/_Host");
});
Надеюсь, это сработает…
Комментарии:
1. Дополнительная информация: 1) Добавьте index.html внутри папки wwwroot 2) Удаление
<base href="~/" />
из html
Ответ №2:
Согласно MS Docs: https://docs.microsoft.com/en-us/aspnet/core/blazor/state-management?view=aspnetcore-6.0amp;pivots=server#handle-prerendering
Чтобы отключить предварительную визуализацию, откройте Pages/_Host.cshtml
файл и измените render-mode
атрибут помощника тега компонента на Server: CSHTML
<component type="typeof(App)" render-mode="Server" />
Предварительная визуализация содержимого отключена в Pages/_Layout.cshtml:
CSHTML
<component type="typeof(HeadOutlet)" render-mode="Server" />