BeginCollectionItem Стива Сандерсона не работает во всех случаях ... потенциальное решение? - PullRequest
7 голосов
/ 20 октября 2011

Я работаю с утилитой Стива Сандерсона BeginCollectionItem , чтобы визуализировать список объектов для редактирования в MVC3, и он прекрасно работает, когда вы визуализируете всю коллекцию из итератора.Моя проблема возникает, когда я пытаюсь просто добавить один новый элемент в коллекцию и вернуть HTML, который представляет этот объект.По какой-то причине мои аннотации данных не отображаются в html, исходящем из кода.

Есть ли какое-либо исправление, или есть что-то другое, без необходимости писать проверку вручную,что я могу сделать, чтобы решить эту проблему?

Спасибо.

1 Ответ

22 голосов
/ 21 октября 2011

Что нужно учитывать:

  1. Аннотации данных не будут отображаться, если только FormContext не существует в каком-либо методе, который вы используете для создания этого дополнительного объекта. Если вы используете частичное представление, добавьте к нему следующее:

-

   if (this.ViewContext.FormContext == null) 
   {
       this.ViewContext.FormContext = new FormContext(); 
   } 
  1. Если вы динамически добавляете элемент на страницу через AJAX, то после добавления нового элемента вы должны очистить данные проверки в DOM и повторно проанализировать все ваши элементы проверки, например, так:

-

   $("form").removeData("validator");
   $("form").removeData("unobtrusiveValidation");
   $.validator.unobtrusive.parse("form");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...