Конфликт имен полей в формах ASP.NET MVC 2 с несколькими частичными формами - PullRequest
4 голосов
/ 12 июля 2010

У меня есть веб-страница ASP.NET MVC 2, на которой я отображаю несколько PartialViews одного типа. Каждое частичное представление содержит Ajax-форму для публикации чего-либо. Форма состоит из:

  • вход: EditorFor (m => m.content)
  • проверка для ввода: ValidationMessageFor (m => m.Content)

Проблема заключается в том, что из-за того, что на странице более одной из этих форм, существует конфликт имен в полях ввода. Это я могу решить, добавив свойство 'htmlFieldName' перегрузки EditorFor (), но это вызывает другую проблему; проверка больше не работает, потому что изменилось имя поля ввода ...

Есть идеи?

1 Ответ

1 голос
/ 13 июля 2010

Хорошо, я решил это. Дело в том, что конфликт возник не из-за идентификаторов поля ввода, а из-за поля проверки. Так что теперь это работает так:

<%= Html.EditorFor(m => m.Content)%>
<%= Html.ValidationMessageFor(
         m => m.Content, 
         null, 
         new { id = Model.ValidationMessageId, name = Model.ValidationMessageId })%>

где ValidationMessageId - строковое свойство модели, доступное только для чтения, которое возвращает уникальный идентификатор html для поля проверки.

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