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

Предварительно разжеванный код:

JFileChooser fc = new JFileChooser();
fc.setCurrentDirectory(new java.io.File(".")); // start at application current directory
fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
int returnVal = fc.showSaveDialog(this);
if(returnVal == JFileChooser.APPROVE_OPTION) {
    File yourFolder = fc.getSelectedFile();
}
19
задан d219 13 May 2019 в 19:02
поделиться

4 ответа

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

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

13
ответ дан 30 November 2019 в 03:16
поделиться

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

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

16
ответ дан 30 November 2019 в 03:16
поделиться

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

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

1
ответ дан 30 November 2019 в 03:16
поделиться

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

11
ответ дан 30 November 2019 в 03:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: