Обратите внимание, что все существующие помощники написаны как методы расширения класса HtmlHelper. Мы явно использовали этот подход, чтобы другие могли писать свои собственные вспомогательные методы как методы расширения HtmlHelper.
Так что, в общем, это не нарушение модели MVC. Я думаю, это действительно зависит от того, что вы делаете в своем помощнике. Помощники должны просто отображать html на основе переданных им аргументов. Они не должны осуществлять доступ к данным и т. Д. *
Они просто инкапсулируют код для рендеринга общих частей разметки. Если вы делаете это, то вы не нарушаете модель ASP.NET MVC.