Как определить префикс поля формы в ASP.NET MVC

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

1 ответ

Решение

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

ViewData.TemplateInfo.HtmlFieldPrefix = "DESIRED_PREFIX";

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

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

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

Другие вопросы по тегам