We help IT Professionals succeed at work.

javascript confirm in c# code behind

chris_desborough
on
Medium Priority
2,122 Views
Last Modified: 2012-06-21
Trying to figure out how to determine if the user hit 'OK' or 'Cancel' from the javascript confirm in code behind.

If the user hits 'OK' it needs to call another method else just return to the page.
ClientScript.RegisterStartupScript(this.GetType(), "Orders", "<script>confirm(" + strConfirmMessage + ")</script>");
        return;

Open in new window

Comment
Watch Question

Developer User Interface
CERTIFIED EXPERT
Commented:
Unlock this solution and get a sample of our free trial.
(No credit card required)
UNLOCK SOLUTION
Saqib KhanSenior Developer

Commented:
ClientScript.RegisterStartupScript(this.GetType(), "Orders", "<script>msg=confirm(" + strConfirmMessage + ");if(msg){alert('ok was clicked')}</script>");
Anurag ThakurTechnical Manager

Commented:
as far as i understand the postback will happen only if the user select ok in the confirm box
if the user clicks cancel then nothing will happen and the control will remian on the page itself
May be this helps
use the two events , onClientclick and onClick, onClick event will be triggered once the onClientclick event returns true.
So use a javascript funtion which pops a message box on client side and if that funtion returns true it will trigger the onclick event.
Rahul Goel ITILSenior Consultant - Deloitte
CERTIFIED EXPERT

Commented:
ClientScript.RegisterStartupScript(this.GetType(), "Orders", "<script>msg=confirm(" + strConfirmMessage + ");if(msg){ __dopostback(this, "okParameter");}else{__dopostback(this, "CancelParameter");}(</script>"); return;

Author

Commented:
Hi Rahu,

I had to use single quotes instead on okParameter and CancelParameter otherwise works ok. When the javascript is executed I get an error "Object expected". Debug says that __dopostback is not defined. Method in code snippet.
protected void LinkButton1_Click(object sender, EventArgs e)
    {
 
        strConfirmMessage = @"ORDER SUMMARY: Please review the items in your order\n\n";
 
        if (dt.Rows.Count > 0)
        {
 
            foreach (DataRow row in dt.Rows)
            {
 
                strConfirmMessage = @strConfirmMessage + (string)row["Desc"] + @"\n\n";
 
            }
 
 
            strConfirmMessage = @strConfirmMessage +
        @"\nClick OK to place your order or Cancel to continue modify your order.".ToString();
 
        ClientScript.RegisterStartupScript(this.GetType(), "Orders", "<script>msg=confirm('" + strConfirmMessage + "');if(msg){ __dopostback(this, 'okParameter');}else{__dopostback(this, 'CancelParameter');}</script>"); return; 
        
        }
 
 
        else
        {
            Response.Write("<script>alert('Unable to checkout - there are no items in the order.')</script>");
            return;
 
        }

Open in new window

Unlock the solution to this question.
Thanks for using Experts Exchange.

Please provide your email to receive a sample view!

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.