Статьи

Я [сердце] ModalPopup

На случай, если вы пропустили его, был выпущен сентябрьский выпуск Atlas Control Toolkit . Теперь большой новой функцией является поддержка анимации . Что я должен сказать, это круто. Но опять же, если бы я хотел анимацию, я бы использовал Flash. Но в инструментарии есть еще один элемент управления, в который я влюбился по ряду причин: ModalPopup .

Вы спрашиваете, почему мне это так нравится? Главным образом потому, что это позволяет разработчику делать такие вещи, как создание сложного диалогового окна подтверждения. Или сделайте всплывающую форму добавления элемента без фактического всплывающего окна. Все без написания лизнуть JavaScript. И я сосу на JavaScript.

Однако есть одна большая хитрость при отправке сообщения ModalPopup обратно на серверную часть, который не дают ясности в опубликованных примерах — как разрешить всплывающей панели запускать постбэк. И после полдня борьбы я обнаружил, что ответ на самом деле очень прост: просто убедитесь, что ни одна кнопка, которую вы хотите опубликовать, не обрабатывается ModalPopupExtender, просто игнорируя свойство OnOkScript.

Другая проблема, о которой должен знать разработчик, заключается в том, как ведут себя элементы управления валидацией, когда в изображение входит ModalPopup:

  • Если валидатор находится в базовой форме, валидаторы на стороне клиента игнорируются. Свойство IsValid страницы установлено правильно. Это означает, что вы, как разработчик, должны изящно справиться с потенциальной недействительностью представления, поступающего из ModalPopup. Я подозреваю, что кто-то более хитрый, чем я, со сценарием на стороне клиента может найти способ предотвратить запуск всплывающего окна, если форма была недействительной.
  • Если валидаторы находятся на элементе управления, который выскочил, проверка на стороне клиента работает хорошо. Однако CustomValidators без необходимого клиентского сценария позволят отправить форму обратно, а ModalPopup не будет отображаться после обратной передачи.

Наслаждайся и держи это попсовым.