Запретить закрытие ModalPopup при обратной передаче - PullRequest
2 голосов
/ 03 февраля 2010

Я использую элемент управления ModalPopupExtender из инструментария AJAX.Этот элемент управления расширяет панель, которая содержит элемент управления CreateUserWizard.Однако проверка элемента управления CreateUserWizard вызывает обратную передачу на сервер, которая закрывает всплывающее окно.Я бы хотел, чтобы всплывающее окно оставалось открытым даже после обратной передачи.Из того, что я могу собрать, я должен использовать UpdatePanel.Тем не менее, я не могу заставить его работать.Причина в том, что это довольно сложно, потому что структура должна быть:

ModalPopupExtender
<Panel>
<UpdatePanel>
<ContentTemplate>...</ContentTemplate>
</UpdatePanel>
</Panel>

Я не могу следовать этой структуре, потому что ModalPopupExtender опирается на кнопку, которая содержится в CreateUserWizardконтроль.Следовательно, он должен быть добавлен в теги <asp:CreateUserWizard> </asp:CreateUserWizard>.Я бы хотел, чтобы кнопка отправки, встроенная в элемент управления CreateUserWizard, вынудила обновить панель.Любые предложения о том, как структура должна быть?Мой код сильно настроен, поэтому он довольно длинный.Однако структура ключа похожа на эту:

<asp:Panel>
  <asp:CreateUserWizard>
    <WizardSteps>
       <asp:CreateUserWizardStep>
          <ContentTemplate>

          //Form Controls here
          </ContentTemplate>
          <CustomNavigationTemplate>
               //The SUBMIT button that should force update
               //CANCEL button
             <asp:ModalPopupExtender /> //References the CANCEL button therefore has to be here
          </CustomNavigationTemplate>

       </asp:CreateUserWizardStep>
    </WizardSteps>
</asp:CreateUserWizard>

</asp:Panel>

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

Спасибо за любую помощь

Ответы [ 2 ]

3 голосов
/ 03 февраля 2010

Мне удалось решить проблему без использования панели обновления. Вместо этого я обработал событие onClick кнопки CreateUserWizard «Submit». Здесь я получил экземпляр ModalPopupExtender, существующий в элементе управления CreateUserWizard, и вызвал его метод Show(). Я оставил объявление ModalPopup в тегах <CustomNavigationTemplate>, чтобы он по-прежнему мог быть доступен для кнопки Cancel.

1 голос
/ 03 февраля 2010

Используйте проверку на стороне клиента или оберните вашу панель панелью обновления и вызовите метод Show () модального экстендера, чтобы показать модальное значение из выделенного кода.

...