Я использую <AuthorizeView>
, <NotAuthorized>
и <Authorized>
в моем MainLayout.razor.
App.razor:
<CascadingAuthenticationState>
<Router AppAssembly="@typeof(Program).Assembly">
<Found Context="routeData">
<AuthorizeRouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)">
<NotAuthorized>
<RedirectToLogin />
</NotAuthorized>
</AuthorizeRouteView>
</Found>
<NotFound>
<LayoutView Layout="@typeof(MainLayout)">
<p>Sorry, there's nothing at this address.</p>
</LayoutView>
</NotFound>
</Router>
</CascadingAuthenticationState>
Когда я запускаю приложение Blazor, появляется «Загрузка ...», а после этого на месте, где находится @Body, в моем MainLayout.razor появляется «Авторизация ...». Я хочу избежать «Авторизации ...» для индексной страницы, потому что это не выглядит хорошо, когда есть одна секунда «Авторизация ...» при первом посещении пользователем приложения. Мне также не нужен пустой текст, потому что отображается весь контент из MainLayout.razor, но не @Body, который выглядит некрасиво.
Я хочу, чтобы мой @Body отображался перед «Авторизацией ...». Пример проекта со счетчиком ( авторизация для этой страницы не требуется )
Введите страницу и недостающее тело на одну секунду:
I wi sh примерно так. Тело визуализировано и "Авторизация ..." в фоновом режиме