ASP.NET MVC: когда использовать HTML-помощники в представлениях - приведение кода в порядок! - PullRequest
0 голосов
/ 04 ноября 2010

Я пытаюсь реорганизовать свои взгляды до тех пор, пока я не использую встроенные помощники HTML, но я думал, что создам свои собственные - это методы расширения, верно?

Интересно, кто-нибудьможете подтвердить или дать совет, когда нужен HTML?Я думаю, что однажды увидел документ, в котором говорится, что если вы используете 1 оператор IF в своих представлениях, инкапсулируете его в помощник по HTML - кто-нибудь с этим согласится?мой собственный класс, а не добавлять методы расширения к классу HTML, который поставляется с MVC?У кого-нибудь есть идеи на этот счет?

Или, возможно, мне не следует беспокоиться о помощниках HTML, а просто использовать встроенные и продолжать использовать свои операторы IF в представлениях.

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 05 ноября 2010

HTML Helpers являются методами расширения.Я также могу подтвердить, что я тоже использую правило «если», когда дело доходит до просмотров. Любая закодированная логика представления должна, IMO, быть помощником.

Вы можете использовать помощник для визуализации пользовательской разметки или управления отображением разметки (т.е. существующего представления).

Не слишком уверен насчет простоты этого, но он поддается большему количеству модульного тестирования (пожалуйста, прокомментируйте этот аспект, если у кого-то есть больше информации).Помощники HTML, было бы лучше создать свой собственный класс, чем добавлять методы расширения в класс HTML, который поставляется с MVC?У кого-нибудь есть идеи на этот счет?

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

Я не должен беспокоиться о помощниках HTML, просто использовать встроенные и продолжать использовать свои операторы IF в представлениях.

Я бы сказал Нет! (или это зависит) .Одним из преимуществ использования помощника будет повторное использование одной и той же логики представления в нескольких представлениях, а не перекодирование одних и тех же операторов if.Это означает, что ваш код более СУХОЙ, что всегда лучше.В случае, если вам нужно отладить какую-то странную ошибку, вам нужно искать только в одном месте, только что созданного помощника.

0 голосов
/ 04 ноября 2010

Используйте HTML-помощники, если вы хотите инкапсулировать вывод фрагмента HTML-разметки, который может принимать различные значения.

Я бы рекомендовал создавать их как методы расширения для HtmlHelper, а не создавать свой собственный класс, поскольку ваш собственный класс не будет доступен внутри ViewPage по умолчанию без создания экземпляра нового экземпляра внутри View или подклассы ViewPage и использование этого в представлении (или передача модели, но это просто неправильно !).

...