Как остановить отображение ModalPopupExtender?

У меня есть веб-служба, которая проверяет некоторые данные формы. Это служба ScriptService, и я вызываю ее из клиента. Мне нужно отобразить модальное всплывающее окно, если проверка не удалась. Если пользователь нажимает «ОК» в модальном всплывающем окне, я хочу отправить ответ и сохранить свои данные. «Отмена» должна позволить им закрыть модальное всплывающее окно и позволить пользователю исправить данные, позволяя повторно отправить. В настоящее время модальное всплывающее окно отображается каждый раз независимо от результата проверки.

Я пробовал вызвать hide () и вернуть false, но ничего не вышло.

Я попытался подойти к этой проблеме с другой точки зрения, назначив свойство TargetControlID модального popupextender скрытой кнопке, а затем вызвав show () в модальном всплывающем окне, если проверка не удалась, но это не отменило обратную передачу. Модальное всплывающее окно отображается примерно на одну секунду, а страница отправляется обратно.


person LDWisdom    schedule 23.04.2009    source источник
comment
Я думаю, что нам понадобится увидеть код страницы.   -  person Mitchel Sellers    schedule 24.04.2009
comment
Я согласен с Митчелом, нам нужно увидеть код   -  person Jose Basilio    schedule 24.04.2009


Ответы (1)


Итак, вы хотите сделать что-то вроде:

function ValidateInput() {
   MyScriptService.ValidateInput({however you are passing form data}, OnValidateComplete);
}

function OnValidateComplete(response) {
   if ({response is bad}) {
      $find('<%= ModalPopupExtender.ClientID %>').show();
   }
}

Затем вы можете оставить свой TargetControlID, OnOkScript и т. Д. Одинаковыми. Возможно, с помощью некоторого кода мы действительно сможем увидеть, что вы делаете.

person Cᴏʀʏ    schedule 23.04.2009
comment
Отличный ответ. Как будто вы это делали раньше :-) - person Jose Basilio; 24.04.2009