Opening a new window in ASP.NET/VB.NET

The attached code opens a form with the query string a parmeter in the same browser window. I need to open this  form in a new window in stead of a same window.

Urgently required
If Not Request("eid") Is Nothing Then
            Dim strEvtGUID As String = "Select EventGUID FROM Events WHERE EventID='" + Request("eid") + "' "
            Dim evtGUID As Guid = Dbc.ExecScalar(strEvtGUID, PageDbConn)
   
             Response.Redirect(String.Format("~/events/RegForm.aspx?id={0}", evtGUID))
                End If

Open in new window

LVL 1
Ammar IqbalSenior IT Consultant/senior Software engineerAsked:
Who is Participating?
 
rajapandian_81Connect With a Mentor Commented:
ok.. So do you want to open new window in button click event, the new window url will be determined in button click event.

Try below code:
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "NewWindow", "<script type=\"text/javascript\"> window.open('" & PagePath & "'); </script>")

Open in new window

0
 
jagssiduralaCommented:
0
 
jagssiduralaCommented:
0
Introducing Cloud Class® training courses

Tech changes fast. You can learn faster. That’s why we’re bringing professional training courses to Experts Exchange. With a subscription, you can access all the Cloud Class® courses to expand your education, prep for certifications, and get top-notch instructions.

 
Ammar IqbalSenior IT Consultant/senior Software engineerAuthor Commented:
Please see my attached scripts  . I manged to open a new window  by clicking 2  times on a button using this script . I want to do this by only one click.

Public Shared Sub Opennewwindow(ByVal Opener As System.Web.UI.WebControls.WebControl, ByVal PagePath As String)


        Dim Clientscript As String
        Clientscript = "window.open('" & PagePath & "')"
        Opener.Attributes.Add("Onclick", Clientscript)
    End Sub

Open in new window

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
        '    Me.mpe.Show()
        Try
            'If Not Request("eid") Is Nothing Then

            Dim strEvtGUID As String = "Select EventGUID FROM Events WHERE EventID='" + Request("eid") + "' "
            Dim evtGUID As Guid = Dbc.ExecScalar(strEvtGUID, PageDbConn)
            Dim str As String = String.Format("../../../../events/RegForm.aspx?id={0}", evtGUID)

Catch ex As Exception

        End Try
       

    End Sub

Open in new window

0
 
rajapandian_81Commented:
Hi,

Move the code which is inside "Opennewwindow" function to "Page_Load" event.
0
 
Ammar IqbalSenior IT Consultant/senior Software engineerAuthor Commented:
but how, i need to get page_path  in this code from the  on click event handler of button.how can this be accomodated. Page_pathh will only be generated when i click "button1"
0
 
rajapandian_81Connect With a Mentor Commented:
Try below code:
Page.ClientScript.RegisterClientScriptBlock(Me.GetType(), "NewWindow", "<script type='text/javascript'> window.open('" & PagePath & "'); </script>")

Open in new window

0
 
Ammar IqbalSenior IT Consultant/senior Software engineerAuthor Commented:
wherei try this code.. IS it in the bytton on click event handler?
0
 
rajapandian_81Commented:
YES.
0
 
Ammar IqbalSenior IT Consultant/senior Software engineerAuthor Commented:
i hav etried this the button  on click event ahandler. it does not  go up after single click infact it does not open at all
0
 
rajapandian_81Commented:
Can you post the code of Button1_Click event handler?

Problem may be in some other line. Because the code provided by me works fine here.
0
 
Ammar IqbalSenior IT Consultant/senior Software engineerAuthor Commented:
code is posted in the first post of this question
0
 
Ammar IqbalSenior IT Consultant/senior Software engineerAuthor Commented:
Hei rajapandian_81,
Yes i ccan open ta newwindow using your code script. but the problem is that i haveto press Ctrl-alt along with pressing the mouse button. but   the requirement of my client is that  we should be open a new window withourt clicking vtrl + alt .
it n be able to open simply by csingle clicking button.
0
 
jagssiduralaCommented:
May be you are using ajax(update panels) then the script calling in button click should be as below.

ScriptManager.RegisterStartupScript(this, this.GetType(), "NewWindow", "<script type=\"text/javascript\"> window.open('" & PagePath & "'); </script>", false);

0
 
Ammar IqbalSenior IT Consultant/senior Software engineerAuthor Commented:
By using scriptmanger.registerstartupscript(....), it does not open at all, and by using page.registerstartupscript(...) it opens bu clikcing ctrl-alt , adn mouse click(pop up blocker )in internet explorer , and there is not pop up blocker instaled in my broweser.
on safari , it does not open at all, when i use page.registerstartup script
0
 
sybeCommented:
Windows and frames are client-side concepts.

If you want to the browser to open a new window then either you need to send some javascript to the browser,  or specify a target.

In this case it seems easier to specify a target in the form. The new window will be opened when the user clicks the button.

<form target="_blank" method="post" action="yourscript.aspx">
<input type="submit" value="Ok" />
</form>

If you need, you can write a script that changes the target on the click on the button.

<form method="post" action="yourscript.aspx">
<input type="button" value="Ok" onclick="this.form.target='_blank';this.form.submit();" />
</form>


I realize that this is basic HTML/javascript, and that ASP.Net sometimes makes it very hard to use basic HTML coding. But maybe it is of use to you.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.