Я использую ASP.NET ModalPopupExtender на странице и хочу предотвратить скрытие диалогового окна, когда пользователь нажимает кнопку ОК в определенных условиях. Но я не могу найти способ.
Я ищу что-то вроде этого
ajax:ModalPopupExtender
...
OnOkScript = "return confirm('You sure?')"
...
если подтверждение ложно, модальное диалоговое окно не исчезает.





Насколько я понимаю, в вашей конкретной ситуации вы не будете подключать кнопку, а просто подключите скрипт для обработки условного условия, а затем вы можете закрыть его через JS.
Следующая функция 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 - ваш ModalPopupExtenderreturn false; предотвращает обратную передачу, когда пользователь нажимает кнопку.ClientID ModalPopupExtender, но это создает (дополнительную) головную боль при обслуживании. Показанный подход - лучший из тех, что я нашел, чтобы уменьшить эти накладные расходы.
Похоже, мне нужно добавить свои собственные кнопки, а не подключать OkControlID и CancelControlID