Метод расширения HTMLHELPER по сравнению с частичным представлением?

StackOverflow https://stackoverflow.com/questions/887105

Вопрос

Мне любопытно, когда рекомендуется использовать метод расширения HTMLHelper и когда использовать частичное представление? Они, кажется, одинаково имеют право во многих случаях.

Это было полезно?

Решение

Я лично считаю, что частичное представление более или менее похоже на UserControl в ASP.NET, который действует как группа многократных функциональных элементов. Например, если вам нужно сделать поле управления входом в систему, которая может появиться по всему сайту, частичное представление было бы лучше. Более того, для частичного взгляда, это на самом деле автономно с собственной стратегией рендеринга/обработки (а также может иметь свое собственное состояние)

С другой стороны, HTMlHelper - это просто инструменты для сохранения времени кодирования и поддержания, каким -то образом лучше читаемости в ваших кодах.

Другие советы

Htmlhelpers - небольшие биты HTML (пользовательские ссылки, кнопки, входы и т. Д.)

PartialViews - более сложные вещи (формы, заголовки, нижние колонтитулы, элементы и т. Д.)

Гораздо проще написать тесты для HTML -помощников (которые являются просто методами), чем частичные представления. Если я пишу что -то, что имеет логику, например, различные выводы, основанные на содержимое ViewData, то я использую помощника с тестами вокруг него. Если я создаю кусок многоразового контента без какой -либо реальной логики, то я, вероятно, использую частичный вид.

Просто чтобы добавить: вы будете использовать htmlhelper для рендеринга элементов в UserControl, если существующие HTMlHelpers не могут выполнять работу ... так что пусть укажите, как правило:

В сценарии, когда вы используете htmlhelper вместо Usercontrol (частичное представление), является плохим подходом и сценарием, когда вы используете Htmlhelper в качестве помощника для рендеринга элементов атома страницы/usercontrol - хороший подход

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top