Solved

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

Posted on 2011-09-29
16
421 Views
Last Modified: 2012-06-27
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
Comment
Question by:Ammar Iqbal
  • 7
  • 5
  • 3
  • +1
16 Comments
 
LVL 12

Expert Comment

by:jagssidurala
ID: 36850046
0
 
LVL 12

Expert Comment

by:jagssidurala
ID: 36850634
0
 
LVL 1

Author Comment

by:Ammar Iqbal
ID: 36890148
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
Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

 
LVL 12

Expert Comment

by:rajapandian_81
ID: 36890672
Hi,

Move the code which is inside "Opennewwindow" function to "Page_Load" event.
0
 
LVL 1

Author Comment

by:Ammar Iqbal
ID: 36890924
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
 
LVL 12

Accepted Solution

by:
rajapandian_81 earned 500 total points
ID: 36891013
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
 
LVL 12

Assisted Solution

by:rajapandian_81
rajapandian_81 earned 500 total points
ID: 36891029
Try below code:
Page.ClientScript.RegisterClientScriptBlock(Me.GetType(), "NewWindow", "<script type='text/javascript'> window.open('" & PagePath & "'); </script>")

Open in new window

0
 
LVL 1

Author Comment

by:Ammar Iqbal
ID: 36891096
wherei try this code.. IS it in the bytton on click event handler?
0
 
LVL 12

Expert Comment

by:rajapandian_81
ID: 36891119
YES.
0
 
LVL 1

Author Comment

by:Ammar Iqbal
ID: 36891123
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
 
LVL 12

Expert Comment

by:rajapandian_81
ID: 36891135
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
 
LVL 1

Author Comment

by:Ammar Iqbal
ID: 36891140
code is posted in the first post of this question
0
 
LVL 1

Author Comment

by:Ammar Iqbal
ID: 36892519
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
 
LVL 12

Expert Comment

by:jagssidurala
ID: 36893146
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
 
LVL 1

Author Comment

by:Ammar Iqbal
ID: 36895962
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
 
LVL 28

Expert Comment

by:sybe
ID: 36901838
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

Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
This article shows how to deploy dynamic backgrounds to computers depending on the aspect ratio of display
Two types of users will appreciate AOMEI Backupper Pro: 1 - Those with PCIe drives (and haven't found cloning software that works on them). 2 - Those who want a fast clone of their boot drive (no re-boots needed) and it can clone your drive wh…
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…

809 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question