Префикс модели при использовании типизированных помощников HTML - PullRequest
10 голосов
/ 29 марта 2010

Следующее генерирует элемент ввода для поля модели, используя типизированный помощник:

Html.HiddenFor(m => m.FieldName)

Имя сгенерированного поля FieldName. Как добавить префикс к имени, чтобы оно отображалось как name="<em>prefix</em>.FieldName"?

Ответы [ 2 ]

17 голосов
/ 20 июля 2011

Вы можете установить префикс для HtmlHelper с помощью

htmlHelper.ViewContext.ViewData.TemplateInfo.HtmlFieldPrefix = "foo";

Таким образом, если вы установите Html.ViewContext.ViewData.TemplateInfo.HtmlFieldPrefix = "Foo" перед Html.HiddenFor(m => m.FormId), результирующее имя поля станет 'Foo.FormId'

Я бы рекомендовал написать метод расширения для HtmlHelper, а не обрабатывать эту логику в представлении. Затем вы можете использовать имя модели в качестве префикса.

1 голос
/ 29 марта 2010

Вы не можете. Вместо этого вы можете использовать шаблоны редактора. У Брэда Уилсона есть серия сообщений в блоге , описывающих их. Скотт Гу также освещает их в этом посте .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...