Метод расширения HTMLHELPER по сравнению с частичным представлением?
-
23-08-2019 - |
Вопрос
Мне любопытно, когда рекомендуется использовать метод расширения HTMLHelper и когда использовать частичное представление? Они, кажется, одинаково имеют право во многих случаях.
Решение
Я лично считаю, что частичное представление более или менее похоже на UserControl в ASP.NET, который действует как группа многократных функциональных элементов. Например, если вам нужно сделать поле управления входом в систему, которая может появиться по всему сайту, частичное представление было бы лучше. Более того, для частичного взгляда, это на самом деле автономно с собственной стратегией рендеринга/обработки (а также может иметь свое собственное состояние)
С другой стороны, HTMlHelper - это просто инструменты для сохранения времени кодирования и поддержания, каким -то образом лучше читаемости в ваших кодах.
Другие советы
Htmlhelpers - небольшие биты HTML (пользовательские ссылки, кнопки, входы и т. Д.)
PartialViews - более сложные вещи (формы, заголовки, нижние колонтитулы, элементы и т. Д.)
Гораздо проще написать тесты для HTML -помощников (которые являются просто методами), чем частичные представления. Если я пишу что -то, что имеет логику, например, различные выводы, основанные на содержимое ViewData, то я использую помощника с тестами вокруг него. Если я создаю кусок многоразового контента без какой -либо реальной логики, то я, вероятно, использую частичный вид.
Просто чтобы добавить: вы будете использовать htmlhelper для рендеринга элементов в UserControl, если существующие HTMlHelpers не могут выполнять работу ... так что пусть укажите, как правило:
В сценарии, когда вы используете htmlhelper вместо Usercontrol (частичное представление), является плохим подходом и сценарием, когда вы используете Htmlhelper в качестве помощника для рендеринга элементов атома страницы/usercontrol - хороший подход