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

Когда следует использовать Html Helpers, Razor Helpers или Partial Views?

Эти три различные функции существуют в движке просмотра Razor и могут использоваться для достижения аналогичных результатов. В конце концов, все три из них просто отображают фрагменты кода HTML, но способ их определения и использования довольно различен. Я знаю, что:

Html Помощники создаются как методы расширения для класса HtmlHelper. Они часто используют класс TagBuilder для генерации некоторого HTML и всегда должны возвращать IHtmlString.

Помощники Razor (методы @helper) могут быть определены локально (в том же файле бритвы) или глобально (в каталоге App_Code). Это небольшие фрагменты кода HTML, которые могут быть повторно использованы исключительно в файлах Razor.

И, наконец, Partial Views - это обычные файлы вида, которые могут быть включены в другие файлы вида с помощью помощника @Html.Partial.

Мой вопрос:

Существует ли конкретный сценарий для каждой из этих функций? Или это сводится к разным вкусам для достижения того же результата?

4b9b3361

Ответ 1

Помощники HTML предназначены для использования повторно используемых компонентов. например WebGrid, Pager и т.д. Они распространяются как сборки и не зависят от Razor. Выберите это, если:

  • Функциональность действительно многоразовая и применима к любому приложению
  • Вы не хотите, чтобы люди его модифицировали, хотите его версия

Частичные представления - это способ разделить большие виды на более мелкие части, чтобы держать вещи более управляемыми. Они также полезны для повторного использования, характерного для вашего приложения. Они расположены с помощью механизма просмотра, поэтому вы можете иметь одинаковые частичные значения в разных местах (например, Views/Shared), что позволяет настраивать каждый контроллер, область или режим отображения. Выберите это, если:

  • Функциональность зависит от приложения
  • Хотите настроить каждый контроллер, область или режим отображения.

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

  • Функциональность зависит от вида

Помощники по применению (в App_Code) - это сочетание локальных помощников и HTML-помощников. Выберите это, если:

  • Предпочитайте бритву над TagBuilder
  • Не против распространения файлов вместо сборки
  • Предпочитайте синтаксис метода-вызова типа безопасный вместо @Html.Partial(name)