Как определить префикс поля формы в ASP.NET MVC - PullRequest
17 голосов
/ 10 апреля 2011

Я пытаюсь отобразить составное представление ProductCatalog в ASP.NET MVC.Это требует, чтобы я рендерил несколько Product просмотров на страницу.Каждый вид товара представляет собой отдельную форму.Мне нужно, чтобы поля формы имели префикс, основанный на идентификаторе, чтобы у меня не было дубликатов идентификаторов в отображаемом документе.Есть ли способ определить префикс, который будет применен ко всем полям формы, сгенерированным расширениями HTML, или мне нужно создать его вручную?

1 Ответ

27 голосов
/ 10 апреля 2011

Да, вы можете определить префикс для элементов управления внутри вашего представления на основе выполняемого действия, рассмотрите следующий код, который должен быть помещен в ваш метод действия GET:

ViewData.TemplateInfo.HtmlFieldPrefix = "DESIRED_PREFIX";

это добавит требуемый префикс к вашим элементам управления View, но для того, чтобы иметь дело с ними обратно при публикации вашей страницы, вам нужно будет переопределить префикс в подписи вашего действия POST следующим образом:

public ActionResult Create([Bind(Prefix = "DESIRED_PREFIX")] YOUR_ENTITY model)

Дайте мне знать, если это сработало, спасибо.

...