Наследование от HtmlHelper вместо его расширения - PullRequest
2 голосов
/ 27 февраля 2012

Я создаю набор помощников для отображения совместимых Twitter Bootstrap html. На мой взгляд, у меня есть два варианта группирования этих методов:

  • Расширение HtmlHelper с префиксом методов с помощью TB
  • Создайте новый класс TBootHelper, который содержит методы

1 Ответ

3 голосов
/ 27 февраля 2012

Я бы пошел с созданием пользовательского TBootHelper и пользовательского базового представления, от которого будут наследоваться все представления и которое будет иметь свойство типа TBootHelper.

И вместо того, чтобы заставлять разработчика добавлять @inherits Twitter.Bootstrap.Mvc.TBootViewPage<TModel> к каждому шаблону Razor, в котором он хочет использовать этот пользовательский помощник, я бы добавил его в файл ~/Views/web.config раз и навсегда:

<pages pageBaseType="Twitter.Bootstrap.Mvc.TBootViewPage">

, а затем в представлениях:

@model MyViewModel
@TBoot.Foobar()
...