Подтвердить что ты не робот

Способ расширения HtmlHelper или частичный вид?

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

4b9b3361

Ответ 1

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

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

Ответ 2

HtmlHelpers - небольшие фрагменты HTML (пользовательские ссылки, кнопки, входы и т.д.)

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

Ответ 3

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

Ответ 4

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

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