2008-11-21 2 views
0

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

То, что я ищу что-то вроде этого

AJAX: ModalPopupExtender ... OnOkScript = "возвращение подтверждения ('Вы уверены?')" ...

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

+0

Вид выглядит так, как будто мне нужно добавить свои собственные кнопки, а не подключать OkControlID и CancelControlID – slolife 2008-11-21 00:28:26

ответ

1

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

1

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

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

Вы можете подключить это к вашему осины: элемент управления Кнопка в 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, но это вводит дополнительную головную боль. Приведенный подход является лучшим, что я нашел для облегчения этой надстройки
Смежные вопросы