Blazor, новый макет индексов - PullRequest
0 голосов
/ 14 февраля 2020

Я понимаю, что в Blazor не может быть двух страниц с адресом страницы как "/"

Но скажем, что вы используете отдельный макет для не найденного макета, как бы вы указали значение по умолчанию? page?

<Router AppAssembly="@typeof(Program).Assembly">
<Found Context="routeData">
    <AuthorizeRouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)" />
</Found>
<NotFound>
    <CascadingAuthenticationState>
        <LayoutView Layout="@typeof(NotFoundLayout)">
            <h1>404</h1>
            <p>Sorry, there's nothing at this address.</p>
        </LayoutView>
    </CascadingAuthenticationState>
</NotFound>

В приложении Blazor я установил Index.razor для таргетинга на MainLayour, со страницей в виде "/", затем я создал не найденную страницу для таргетинга на NotFoundLayout, с страница как "/" также.

Я думал, что это будет работать, но это не сработало.

Итак, как бы вы указали страницу по умолчанию для отображения в @body для NotFoundLaout?

Заранее спасибо :)

1 Ответ

1 голос
/ 14 февраля 2020

Зачем вам это нужно?

Однако сделайте следующее:

Создайте свой компонент NotFoundLayout следующим образом:

NotFoundLayout.razor


  @inherits LayoutComponentBase

  <div class="main">
   <div class="content px-4">
      @Body
   </div>
  </div>


  @code {}

В App.razor используйте это:

<LayoutView Layout="@typeof(NotFoundLayout)">
        <h1>404</h1>
        <p>Sorry, there's nothing at this address.</p>
         <p>BlazorApp2 is the namespace where the Pages folder 
         resides, in which the Index component live. You can use a 
         using directive instead :)</P>
        <BlazorApp2.Pages.Index />
</LayoutView>

Вот и все. Примечание. Все, что вам нужно сделать, это визуализировать компонент Index в элементе LayoutView. Запустите ваше приложение, введите неверный URL-адрес, и вы увидите «404», «Извините, по этому адресу ничего нет», а также содержимое, отображаемое элементом Index. Помните, что все содержимое в пределах открывающего элемента LayoutView и закрывающего элемента LayoutView имеет тип делегата RenderFragment, условно известный как ChildContent, и доступно для вашего компонента NotFoundLayout через свойство параметра LayoutComponentBase.Body

Надеюсь, это поможет ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...