Проверка на странице загрузки обработки элементов управления полем SharePoint как пустое

sharepoint.stackexchange https://sharepoint.stackexchange.com/questions/13378

  •  16-10-2019
  •  | 
  •  

Вопрос

В конкретной форме элемента пользовательского списка, которую я делаю для своего веб -приложения WSS 3.0, я обязан проверять страницу при загрузке, так что любые ошибки, которые пользователь делает из предыдущего сохранения, немедленно отмечались. Я сейчас делаю это, используя Page.Validate() в OnLoad метод

Со всеми TextBox а также RadioButtonList управления, которые я заполняю (также на загрузке страницы), я могу просто заполнить их, прежде чем запустить кучу InputFormCustomValidator Управление на странице. Для этих элементов управления все ясно, а правильно заполненные поля не отмечены как недействительные.

Но для UserField а также DateTimeField Элементы управления, он будет рассматривать их как пустые для проверки нагрузки страницы, независимо от того, есть ли они данные в них. Это происходит как при использовании фактического UserField а также DateTimeField управления, которые автоматически извлекают данные на основе запроса идентификатора элемента и при использовании базового PeopleEditor а также DateTimeControl Элементы управления, которые я предварительно пропадаю на странице, загружается как текстовые поля.

После того, как появился пост, который требует проверки, проверка должным образом распознает содержимое этих полей.

Есть ли что -то, что я могу сделать, чтобы обойти это, так что правильно заполненные пользовательские и датерные поля нет помечен как недействительный при загрузке страницы? Должен ли я запустить проверку другим методом, чем OnLoad? Лично я хотел бы сохранить поля как UserField а также DateTimeField Вместо того, чтобы использовать базовые элементы управления, но это ограничивает меня неспособностью определить, когда они заполняются. Если решение состоит в том, чтобы перенести предварительную заполнение управления на более раннюю стадию во времени, я могу согласиться на это, но он остается предпочтительным не делать этого, если это может быть исправлено другим способом.

Это было полезно?

Решение

Вы пробовали позвонить в EncureChildControls () до .validate ()? Кроме того, если вы динамически создаете/загружаете элементы управления, это обычно выполняется в событии CreateChildControls (), а не в OnLoad (), поскольку большинство пользовательских элементов управления должны участвовать в событиях до загрузки ().

Другие советы

Возможно, попробуйте перемещать страницу.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top