Prevent hiding of ModalPopupExtender when ok or cancel is clicked

I am using a asp.net ModalPopupExtender on a page, and would like to prevent the dialog from hiding when the user presses the ok button in certain conditions. But I can't seem to find a way.

What I am looking for is something like this

ajax:ModalPopupExtender ... OnOkScript="return confirm('You sure?')" ...

if confirm is false, then the modal dialog doesn't disappear.

Answers


From my understanding in your specific situation you would not wire up the button, and just wire up a script to handle the conditional, then you can close it via JS.


The following JavaScript function will allow you to achieve this:

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

You can wire this up to your asp:Button control in the Page_Load event of your page

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

Some notes:

  • panPopup_ModalPopupExtender is your ModalPopupExtender
  • The return false; prevents a postback from occurring when the user clicks the button
  • You could hard-code the ClientID of the ModalPopupExtender, but this introduces an (additional) maintainance headache. The approach shown is the best one that I've found to alleviate this overhead

Need Your Help

Getting HWND of current Process

c++ c winapi windows

I have a process in c++ in which I am using window API. I want to get the HWND of own process. Kindly guide me how can I make it possible.

C implicit declaration of of built-in malloc

c list struct malloc sizeof

I'm working on a project in which I have a header which defines list and list_elem structures much like the actual c libraries(the implementation of lists has no bugs). I'm writing a source file wh...