Страницы и компоненты, по сути, одно и то же, за исключением того, что на странице есть одна или несколько директив @page
, определяющих, какой URL-адрес может использоваться для их отображения.
Директива @page
будет преобразована в * Атрибут 1005 * в классе компонента, который создается из вашего файла razor.
Blazor будет отражаться по всей вашей сборке для типов, которые украшены [RouteAttribute]
. Это означает, что страницы могут быть там, где вы хотите.
То же самое верно и для компонентов. Причина, по которой они могут быть помещены в папку Shared
по умолчанию, заключается в том, что /_Imports.razor
содержит @using YouAppName.Shared
. Если вы хотите разместить свои компоненты в других пространствах имен, вы можете
- Добавить пространство имен в файл _Imports.razor
- Добавить
@using WhateverNamespace
в верхнюю часть потребляющей страницы / компонент. - Включить пространство имен в разметку
<WhateverNamespace.SomeComponent/>
https://blazor-university.com/routing/defining-routes/