Префикс модели при использовании типизированных HTML-помощников
Следующее генерирует входной элемент для поля модели с помощью типизированного помощника:
Html.HiddenFor(m => m.FieldName)
Сгенерированное имя поля FieldName
. Как добавить префикс к имени, чтобы он отображался как name="prefix.FieldName"
?
Ответы
Ответ 1
Вы можете установить префикс для HtmlHelper с помощью
htmlHelper.ViewContext.ViewData.TemplateInfo.HtmlFieldPrefix = "foo";
Итак, если вы установите Html.ViewContext.ViewData.TemplateInfo.HtmlFieldPrefix = "Foo"
до Html.HiddenFor(m => m.FormId)
, получившееся имя поля станет "Foo.FormId"
Я бы рекомендовал написать метод расширения для HtmlHelper, а не обрабатывать эту логику в представлении. Затем вы можете использовать имя модели как префикс.
Ответ 2
Вы не можете. Вместо этого вы можете использовать шаблоны редактора. У Брэда Уилсона есть серия сообщений в блогах, описывающих их. Скотт Гу также охватывает их в этой post.