Я использую DotNetCore 3.1 и Razor Pages.
Я хочу использовать компонент Razor, который я создал на странице Index.Razor
, но пусть он использует режим рендеринга 'Stati c'.
В соответствии с документацией:
Чтобы отобразить компонент со страницы или представления, используйте помощник по тегу компонента:
<component type="typeof(Counter)" render-mode="ServerPrerendered"
param-IncrementAmount="10" />
Как вы можете видеть ниже, я могу отобразить свой компонент (с именем Lister), используя его имя в качестве тега (<Lister></Lister>
). Однако я не могу использовать помощник по тегам <component />
для его рендеринга.
Он не выделяет синтаксис как распознанный помощник по тегам, так и фактически отображает его, если я запускаю страницу.
Когда я запускаю страницу, компонент не отображается, вместо этого он отображается как
<component type="typeof(Lister)" render-mode="Static"></component>
в источник страницы.
В другом проекте мне удалось отобразить тот же компонент (с тем же синтаксисом) в файле MVC View (.cshtml
).
Редактировать :
Хорошо, так что я думаю, что я пропустил / запутался в том, что мой Index.razor
файл не является страницей Razor, а скорее компонентом Razor.
Я ошибочно принял проект Blazor за страницу Razor.
Страницы Razor имеют .cshtml
типов файлов
Компоненты Razor имеют .razor
типов файлов (и могут сбивает с толку директиву @page)
Компоненты Razor не имеют доступа к помощнику тега <component />
и должны использовать другие Компоненты Razor через * 105 5 *
Спасибо за помощь!