Читая последнюю документацию для ASP. Net Core 3.1, теперь рекомендуется использовать Razor Components поверх View Components. Начиная с 1000 футов, это выглядит хорошей идеей, поскольку теперь вместо «контроллера» и «представления» по умолчанию используется один файл. Более точный, компактный, и я предполагаю, более эффективный.
Одной большой информацией, которая застала меня врасплох, был тот факт, что помощники тегов не поддерживаются в компонентах Razor ( ссылка ):
Помощники тегов не поддерживаются в компонентах Razor (файлы .razor). Чтобы обеспечить функциональность, подобную Tag Helper, в Blazor, создайте компонент с той же функциональностью, что и Tag Helper, и используйте вместо него этот компонент.
Я единственный во всем мире. NET что считает это абсолютно неприемлемым? В компонентах представления поддерживаются помощники тегов, которые являются самыми полезными битами. NET MVC. Простым примером является помощник тега привязки . На мой взгляд, это самый полезный помощник, так как он принимает area
, controller
, action
и динамический список параметров c, который генерирует тег привязки, не беспокоясь о том, чтобы разобраться с маршрутизацией.
Достаточно хватки, чтобы превратить это в вопрос, как можно было бы сделать это сейчас в компоненте Razor? Примером документации Microsoft для помощника по тегам является возможность создания навигационного меню с помощью помощников по тегам в компоненте представления. Теперь на странице компонента представления рекомендуется использовать компоненты Razor над компонентами представления ( ссылка ):
При рассмотрении соответствия компонентов представления спецификациям приложения рассмотрите возможность использования Razor Компоненты вместо. Razor Components также комбинируют разметку с кодом C# для создания повторно используемых модулей пользовательского интерфейса. Компоненты Razor предназначены для повышения производительности труда разработчиков при предоставлении логики пользовательского интерфейса c на стороне клиента и композиции.
Таким образом, если создать навигационное меню в ASP. NET Core 3.1 ( MVC) используя компоненты Razor, какой самый простой способ сделать это sh без необходимости документировать каждый отдельный маршрут при запуске?