Abrir una ventana popup con un botón en ASP.NET
Tips de uso para ASP.NET

Fecha: 07/Feb/2005 (03/02/2005)
Autor: Gabriel Mendes - gabriel_mendes@hotmail.com

 

 


Muchas veces queremos las apariencias de nuestras páginas totalmente originales de forma que no parezcan a otras páginas, el problema de un hipervínculo es que es un control que no se puede personalizar mucho y nos limita demasiado, aquí se explica como colocar una función de javascript en un botón de los controles Web para ASP.NET para así personalizar nuestros controles y que a la vez puedan hacer ejecuciones mucho más amplias gracias a las ventajas que nos ofrece el JavaScript como lenguaje...

Primero nos creamos un WebForm en ASP.NET, en este caso de VB.NET y le agregamos un botón:

<asp:Button id="btnPopup" runat="server" Text="Microsoft.com!!" BackColor="White"></asp:Button>

Luego tendremos que asignar la acción a realizar con este botón para esto haremos dos pasos primero declarar la función JavaScript y especificar que se quiere hacer, en nuestra página en vista HTML agregamos nuestro script, sería:

<SCRIPT LANGUAGE="JavaScript">

 

function url() {

hidden = open('http://www.microsoft.com','NewWindow','top=0,left=0,width=800,height=600,status=yes,resizable=yes,scrollbars=yes');

}

</SCRIPT>

Luego en nuestra página de CodeBehind colocamos nuestro código al botón, para esto agregamos en el evento Page_Load de nuestra página un atributo al botón de esta forma:

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

       

        btnPopup.Attributes.Add("onclick", "javascript:url();")

  End Sub

El código HTML de la página completa sería

<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb" Inherits="WebApplication1.WebForm1"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>

      <HEAD>

            <title>Página con PopUp</title>

            <meta name="GENERATOR" content="Microsoft Visual Studio.NET 7.0">

            <meta name="CODE_LANGUAGE" content="Visual Basic 7.0">

            <meta name="vs_defaultClientScript" content="JavaScript">

            <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">

            <SCRIPT LANGUAGE="JavaScript">

function url() {

hidden = open('http://www.microsoft.com','NewWindow','top=0,left=0,width=800,height=600,status=yes,resizable=yes,scrollbars=yes');

}

            </SCRIPT>

      </HEAD>

      <body>

            <form id="Form1" method="post" runat="server">

                  <asp:Button id="btnPopup" runat="server" Text="Microsoft.com!!" BackColor="White"></asp:Button>

            </form>

      </body>

 

 

Y el código de la página de CodeBehind en este caso WebForm1.aspx.vb sería:

 

Public Class WebForm1

    Inherits System.Web.UI.Page

    Protected WithEvents btnPopup As System.Web.UI.WebControls.Button

 

#Region " Web Form Designer Generated Code "

 

    'This call is required by the Web Form Designer.

    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

 

    End Sub

 

    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init

        'CODEGEN: This method call is required by the Web Form Designer

        'Do not modify it using the code editor.

        InitializeComponent()

    End Sub

 

#End Region

 

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        'Put user code to initialize the page here

        btnPopup.Attributes.Add("onclick", "javascript:url();")

    End Sub

 

End Class


ir al índice