Не могу использовать тег помощник на странице Razor? - PullRequest
1 голос
/ 20 января 2020

Я использую DotNetCore 3.1 и Razor Pages.

Я хочу использовать компонент Razor, который я создал на странице Index.Razor, но пусть он использует режим рендеринга 'Stati c'.

В соответствии с документацией:

Чтобы отобразить компонент со страницы или представления, используйте помощник по тегу компонента:

<component type="typeof(Counter)" render-mode="ServerPrerendered" 
    param-IncrementAmount="10" />

Как вы можете видеть ниже, я могу отобразить свой компонент (с именем Lister), используя его имя в качестве тега (<Lister></Lister>). Однако я не могу использовать помощник по тегам <component /> для его рендеринга.

Can't use component tag helper

Он не выделяет синтаксис как распознанный помощник по тегам, так и фактически отображает его, если я запускаю страницу.

Когда я запускаю страницу, компонент не отображается, вместо этого он отображается как

<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 *

Спасибо за помощь!

1 Ответ

2 голосов
/ 20 января 2020

Компонент Tag Helper не является объектом Blazor. Понятия тегового помощника или html помощника в Blazor не существует. Это домен Razor Pages и MVC. В Blazor у нас есть компонентная модель.

Обычно для отображения компонента Razor App следует использовать компонент Tag Helper в файле _Host.cs html.

Нельзя встроить компонент Tag Helper в свой Index.razor составная часть. Вы не можете использовать компонент Tag Helper в Blazor. Файл _Host.cs html не является Blazor. Это файл Razor Pages, который запускает приложение Blazor ...

...