Определенно есть некоторое концептуальное совпадение между TagHelpers и ViewComponents. TagHelpers — это ваша утилита для работы с HTML, тогда как ViewComponents — это ваш способ придерживаться C#, выполнять изолированную работу, а затем выплевывать HTML. Я подробно расскажу о каждом:
ViewComponents
Ваш концептуально эквивалентный мини-контроллер; вы увидите, что многие методы/свойства, предоставляемые ViewComponents, очень знакомы тем, которые существуют в контроллере. Теперь, что касается вызова ViewComponents, это больше эквивалентно использованию помощников HTML (одна вещь, которую TagHelpers делают лучше). Подводя итог ViewComponents: их основная цель — чувствовать себя контроллером, оставаться на земле C# (возможно, нет необходимости добавлять утилиту в HTML), выполнять меньшую/изолированную работу, а затем выплевывать строковый HTML.
TagHelpers
Утилита, которая позволяет вам работать с существующим HTML или создавать новые элементы HTML, которые изменяют то, что происходит на странице. В отличие от ViewComponents, TagHelpers может ориентироваться на любой существующий HTML и изменять его поведение; пример: вы можете добавить атрибут conditional ко всем HTML-элементам, которые будут условно отображать элемент на стороне сервера. TagHelpers также позволяют вам смешивать общие термины HTML, например:
<myTagHelper class="btn">Some Content</myTagHElper>
Как видите, мы добавляем атрибут класса в наш TagHelper так же, как если бы это был HTML. Чтобы сделать это в ViewComponents, вам нужно передать словарь атрибутов или что-то эквивалентное (неестественное). Наконец, несколько TagHelpers могут работать с одним элементом HTML; каждый имеет свою собственную стадию изменения вывода (позволяет использовать модульные наборы инструментов TagHelper). Подводя итог, TagHelpers: они могут делать все, что могут делать ViewComponents, и даже больше, НО не чувствуют себя знакомыми с такими вещами, как контроллеры, к которым привыкли разработчики ASP.NET; также некоторые проекты могут не захотеть смешивать HTML на стороне сервера.
Дополнительно:
Недавно я снял видео, демонстрирующее преимущества TagHelpers. В основном прогулка по тому, в чем они хороши и как их использовать. Вы можете посмотреть его здесь< /а>.
person
N. Taylor Mullen
schedule
10.12.2014