Запретить скрытие ModalPopupExtender при нажатии кнопки «ОК» или «Отмена» - PullRequest
0 голосов
/ 21 ноября 2008

Я использую asp.net ModalPopupExtender на странице и хотел бы предотвратить скрытие диалога, когда пользователь нажимает кнопку ОК в определенных условиях. Но я не могу найти способ.

Я ищу что-то вроде этого

ajax: ModalPopupExtender ... OnOkScript = "вернуть подтверждение ('Вы уверены?')" ...

Если для подтверждения задано значение false, модальное диалоговое окно не исчезает.

Ответы [ 2 ]

1 голос
/ 24 ноября 2008

Следующая функция JavaScript позволит вам достичь этого:

function conditionalHide(clientID)
{
    if (confirm('You sure?'))
    {
        $find(clientID).hide();
    }
}

Вы можете подключить это к своему элементу asp: Button в событии Page_Load вашей страницы

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        btnOK.OnClientClick = string.Format("conditionalHide('{0}'); return false;",
            panPopup_ModalPopupExtender.ClientID);
    }
}

Некоторые заметки:

  • panPopup_ModalPopupExtender это ваш ModalPopupExtender
  • return false; предотвращает обратную передачу, когда пользователь нажимает кнопку
  • Вы можете жестко закодировать ClientID ModalPopupExtender, но это приводит к (дополнительной) головной боли при обслуживании. Показанный подход является лучшим, который я нашел, чтобы уменьшить эти издержки
1 голос
/ 21 ноября 2008

Насколько я понимаю, в вашей конкретной ситуации вы бы не связывали кнопку, а просто связывали сценарий для обработки условия, а затем закрываете его с помощью JS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...