• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 444
  • Last Modified:

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

0
Ammar Iqbal
Asked:
Ammar Iqbal
  • 7
  • 5
  • 3
  • +1
2 Solutions
 
jagssiduralaCommented:
0
 
jagssiduralaCommented:
0
 
Ammar IqbalAuthor 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
Free recovery tool for Microsoft Active Directory

Veeam Explorer for Microsoft Active Directory provides fast and reliable object-level recovery for Active Directory from a single-pass, agentless backup or storage snapshot — without the need to restore an entire virtual machine or use third-party tools.

 
rajapandian_81Commented:
Hi,

Move the code which is inside "Opennewwindow" function to "Page_Load" event.
0
 
Ammar IqbalAuthor 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_81Commented:
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
 
rajapandian_81Commented:
Try below code:
Page.ClientScript.RegisterClientScriptBlock(Me.GetType(), "NewWindow", "<script type='text/javascript'> window.open('" & PagePath & "'); </script>")

Open in new window

0
 
Ammar IqbalAuthor Commented:
wherei try this code.. IS it in the bytton on click event handler?
0
 
rajapandian_81Commented:
YES.
0
 
Ammar IqbalAuthor 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 IqbalAuthor Commented:
code is posted in the first post of this question
0
 
Ammar IqbalAuthor 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 IqbalAuthor 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

Featured Post

New feature and membership benefit!

New feature! Upgrade and increase expert visibility of your issues with Priority Questions.

  • 7
  • 5
  • 3
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now