Belothian
Belothian

Reputation: 165

Redirect to a page after a pop up opens

I am trying to redirect a web page after a condition is returned as true but I can't seem to get it work. In theory this should, shouldn't it. What am I missing, is it even possible!

        protected void btnVerify_Click(object sender, EventArgs e)
    {
        if (value == txtVerification.Text || txtVerification.Text == "****")
        {
            //defines a bool to tell if the popup window has been shown, this will only ever return true
            bool PopupShown = doRedirect();

            if(PopupShown)
            {
                Response.Redirect("somewebpage.aspx");
            }
        }
        else
        {
            lblVerificationFailed.Visible = true;
        }
    }


    //Opens the popup window to fire off the download and returns true
    bool doRedirect()
    {
        string url = "GetDocs.aspx";
        string s = "window.open('" + url + "', 'GetDocs', 'height=150,width=300,left=100,top=30,resizable=No,scrollbars=No,toolbar=no,menubar=no,location=no,directories=no, status=No');";
        ClientScript.RegisterStartupScript(this.GetType(), "script", s, true);
        return true;
    }

Upvotes: 2

Views: 908

Answers (2)

Belothian
Belothian

Reputation: 165

Sussed it, if I use window.location.replace instead of window.location it works exactly like I want it to. Many thanks all :)

Upvotes: 0

Bardo
Bardo

Reputation: 2523

You are trying to do in the server things that can be much more easily done on the client side.

You're using a server event to catch the click of a button on your view, launch a client popup and later redirect your page execution.

Try with something like this on javascript:

var btnVerify = document.getElementById("btnVerify");
btnVerify.addEventListener("click", function() {
    window.open('GetDocs.aspx', 'GetDocs', 'height=150,width=300,left=100,top=30,resizable=No,scrollbars=No,toolbar=no,menubar=no,location=no,directories=no, status=No');
    window.location.href = "somewebpage.aspx";
});

Upvotes: 1

Related Questions