itproem
asked on
How to open new confirmation window (not just JS pop up) on button click, and if user response is true run the button click event code
Hello Experts,
I 've already opened the same question here
https://www.experts-exchange.com/questions/22862384/How-to-get-response-to-the-window-opener-from-the-confirmation-window.html
and the Expert doesn't know C#, so I didn't get full reply. But this is urgent, and please probably someone who is Guru in both: C# and JavaScript, or someone who has solution for my question which has been tested.
The problem is:
I have MainSite.aspx and the button btnOK that has btnOK_Click event. On the btnOK click event I want to open new web site (ConfirmationWindow.aspx) by passing a few input parameters from the main site. For example with one parameter:
this.btnOK.OnClientClick = "window.open('WindowConfir mation.asp x?Paramete r1=" + this.Variable1 + "')";
and btnOK_Click event which is called as
OnClick="btnOK_Click".
ConfirmationWindow.aspx contains gridview which will be bound with the stored procedures result according to the input parameters values from the MainSite.aspx and two buttons btnYES, and btnNO.
The question is, How can I get the response from the user click on btnYES or btnNO inside ConfirmationWindow.aspx back to my MainSite, and if the response is YES to finish MainSite-btnOK_Click . If response is NO then just close the ConfirmationWindow.aspx. And yes, after pressing one of the buttons either Yes or No, ConfirmationWindow.aspx should be automatically closed.
It would be nice to call return Java Script function which can return true if the user press btnYes, but question is how to do this ?
Also, is ti possible to prevent opening of more then one ConfirmationWindow.aspx. If user press once, ConfirmationWindow.aspx will open, but I want to prevent opening of the ConfirmationWindow.aspx again if it is already open.
I thinks that here is the main problem how to wait for the user response and then return true value which will in that case call the "btnOK_Click" event proc.
Many thanks !
I 've already opened the same question here
https://www.experts-exchange.com/questions/22862384/How-to-get-response-to-the-window-opener-from-the-confirmation-window.html
and the Expert doesn't know C#, so I didn't get full reply. But this is urgent, and please probably someone who is Guru in both: C# and JavaScript, or someone who has solution for my question which has been tested.
The problem is:
I have MainSite.aspx and the button btnOK that has btnOK_Click event. On the btnOK click event I want to open new web site (ConfirmationWindow.aspx) by passing a few input parameters from the main site. For example with one parameter:
this.btnOK.OnClientClick = "window.open('WindowConfir
and btnOK_Click event which is called as
OnClick="btnOK_Click".
ConfirmationWindow.aspx contains gridview which will be bound with the stored procedures result according to the input parameters values from the MainSite.aspx and two buttons btnYES, and btnNO.
The question is, How can I get the response from the user click on btnYES or btnNO inside ConfirmationWindow.aspx back to my MainSite, and if the response is YES to finish MainSite-btnOK_Click . If response is NO then just close the ConfirmationWindow.aspx. And yes, after pressing one of the buttons either Yes or No, ConfirmationWindow.aspx should be automatically closed.
It would be nice to call return Java Script function which can return true if the user press btnYes, but question is how to do this ?
Also, is ti possible to prevent opening of more then one ConfirmationWindow.aspx. If user press once, ConfirmationWindow.aspx will open, but I want to prevent opening of the ConfirmationWindow.aspx again if it is already open.
I thinks that here is the main problem how to wait for the user response and then return true value which will in that case call the "btnOK_Click" event proc.
Many thanks !
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
I think the solution showModalDialog() is the answer for me if you have some exaple how I can implement this in my case by using C# and JavaScript. And I don't need anymore response from the child to parent, because I will move my C# function from parent to child, and if it is Yes it should run my C# function in the child window.This makes my life easier :)
Now, the question is how to call window.showModalDialog() from the parent site on button click ?
If I simply change open () to showModalDialog() it doesn't work. Probably, I need different parameters.
Also, I have to pass parameters from the parent site to child site in the showModalDialog(), because I want to run C# function in the child site if the answer is YES. I will add on child:
<input type="button" onclick="btnYes_Click" value="Yes">
<input type="button" onclick="proceedNo()" value="No">
protected void btnYES_Click(object sender, EventArgs e)
{
.. My Code which is calling stored procedure in DB and using parameters from the parent site ...
....
Response.Write("<script language=javascript>");
Response.Write("window.clo se()");
Response.Write("</script>" );
}
On parent window I need to change this
this.btnOK.OnClientClick = "window.open('WindowConfir mation.asp x?Paramete r1=" + this.Variable1 + "')";
to the window.showModalDialog(... )
Thanks a lot !
Now, the question is how to call window.showModalDialog() from the parent site on button click ?
If I simply change open () to showModalDialog() it doesn't work. Probably, I need different parameters.
Also, I have to pass parameters from the parent site to child site in the showModalDialog(), because I want to run C# function in the child site if the answer is YES. I will add on child:
<input type="button" onclick="btnYes_Click" value="Yes">
<input type="button" onclick="proceedNo()" value="No">
protected void btnYES_Click(object sender, EventArgs e)
{
.. My Code which is calling stored procedure in DB and using parameters from the parent site ...
....
Response.Write("<script language=javascript>");
Response.Write("window.clo
Response.Write("</script>"
}
On parent window I need to change this
this.btnOK.OnClientClick = "window.open('WindowConfir
to the window.showModalDialog(...
Thanks a lot !
You can find the description of the parameters passed to showModalDialog() along with an example on the following page:
http://msdn2.microsoft.com/en-us/library/ms536759.aspx
_______________
Nayer Naguib
http://msdn2.microsoft.com/en-us/library/ms536759.aspx
_______________
Nayer Naguib
_______________
Nayer Naguib