none
Abrir una pagina mediante JavaScrpt y pasarle parametros RRS feed

  • Pregunta

  • Hola estoy trabajando con ASP.NET y cuando ocurre el usuario cierra la pagina en la X, manda llamar otra pagina y la abre, el prpblema que tengo es el siguiente tengo:

     window.open("Unlock.aspx?MUN1=" + TxtMun.Text + "&SOL1=" + TxtSol.Text, "myWindow", "status = 1, height = 300, width = 300, resizable = 0");

    Abre la página correctamente pero no se como leer los parámetros en la página que abrió Unlock.aspx.

    De antemano gracias por la información.

    ManoloT

    viernes, 30 de noviembre de 2018 21:07

Respuestas

  • Hola, puedes mostrar el código de tu página aspx donde estás habilitando esa función? Porque deberías hacer que dicha función no dependa de ningún elemento de la interfaz de usuario. Esto quiero decir de hacer asi, establece parámetros en tu función 

    <script type="text/javascript" language="javascript" >
       
         function EjecutaProcedimiento(mun1, sol1) {
             window.open("Unlock.aspx?MUN1=" + mun1 + "&SOL1=" + sol1, "myWindow", "status = 1, height = 300, width = 300, resizable = 0");
             Unlock.aspx.document.write("Escribiendo en la nueva ventana");
    </script>

    O inclusive puedes modificar así tu function

    <script type="text/javascript" language="javascript" >
       
         function EjecutaProcedimiento() {
            var mun1 = document.getElementById('<%= TxtMun.ClientID %>').value;
            var sol1 = document.getElementById('<%= TxtSol.ClientID %>').value;
             window.open("Unlock.aspx?MUN1=" + mun1 + "&SOL1=" + sol1, "myWindow", "status = 1, height = 300, width = 300, resizable = 0");
             Unlock.aspx.document.write("Escribiendo en la nueva ventana");
    </script>


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    • Marcado como respuesta ManoloT123 lunes, 3 de diciembre de 2018 21:01
    lunes, 3 de diciembre de 2018 19:59
    Moderador

Todas las respuestas

  • Hola. Lo primero es saber dónde vas a leer esos parámetros de la querystring. Si es en el code behind tienes la propiedad HttpRequest.QueryString Property en la request. Al ser un conjunto de clave/valor puedes acceder a los elementos de esta forma

    string id = Request.QueryString["id"].ToString();


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    sábado, 1 de diciembre de 2018 20:44
    Moderador
  • Si ya lo había intentado, pero no funciona.

    La función la tengo el JavaScript en la pagina ASP:NET

     

    <script type="text/javascript" language="javascript" >
       
         function EjecutaProcedimiento() {
             window.open("Unlock.aspx?MUN1=" + TxtMun.Text + "&SOL1=" + TxtSol.Text, "myWindow", "status = 1, height = 300, width = 300, resizable = 0");
             Unlock.aspx.document.write("Escribiendo en la nueva ventana");

    </script>

    Donde TxtMun.Text  y TxtSol.Text son 2 cajas de texto de la página.

    Esta se ejecuta cuando el usuario cierra la ventana.

    <body style="height: 1013px" onunload="EjecutaProcedimiento()" >

    y en la página que abre tengo

     protected void Page_Load(object sender, EventArgs e)
        {
            
            if (Request.QueryString["MUN1"] != null)
            {
                string MUN1 = Request.QueryString["MUN1"].ToString();
                Label1.Text = MUN1;

            }
            if (Request.QueryString["SOL1"] != null)
            {
                string SOL1 = Request.QueryString["SOL1"].ToString();
                Label1.Text = Label1.Text + SOL1;
            }
            
            
        }

    pero no me muestra nada en las variables

    ¿Estoy haciendo algo incorrecto?

    ¿La llamada si toma los valores de variables?

      window.open("Unlock.aspx?MUN1=" + TxtMun.Text + "&SOL1=" + TxtSol.Text, "myWindow", "status = 1, height = 300, width = 300, resizable = 0");

    De antemano gracias por la información.

    ManoloT

    lunes, 3 de diciembre de 2018 17:19
  • Hola, puedes mostrar el código de tu página aspx donde estás habilitando esa función? Porque deberías hacer que dicha función no dependa de ningún elemento de la interfaz de usuario. Esto quiero decir de hacer asi, establece parámetros en tu función 

    <script type="text/javascript" language="javascript" >
       
         function EjecutaProcedimiento(mun1, sol1) {
             window.open("Unlock.aspx?MUN1=" + mun1 + "&SOL1=" + sol1, "myWindow", "status = 1, height = 300, width = 300, resizable = 0");
             Unlock.aspx.document.write("Escribiendo en la nueva ventana");
    </script>

    O inclusive puedes modificar así tu function

    <script type="text/javascript" language="javascript" >
       
         function EjecutaProcedimiento() {
            var mun1 = document.getElementById('<%= TxtMun.ClientID %>').value;
            var sol1 = document.getElementById('<%= TxtSol.ClientID %>').value;
             window.open("Unlock.aspx?MUN1=" + mun1 + "&SOL1=" + sol1, "myWindow", "status = 1, height = 300, width = 300, resizable = 0");
             Unlock.aspx.document.write("Escribiendo en la nueva ventana");
    </script>


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    • Marcado como respuesta ManoloT123 lunes, 3 de diciembre de 2018 21:01
    lunes, 3 de diciembre de 2018 19:59
    Moderador
  • Muchas Gracias Sergio, ya lo solucione con:

    <script type="text/javascript" language="javascript" >
       
         function EjecutaProcedimiento() {
            var mun1 = document.getElementById('<%= TxtMun.ClientID %>').value;
            var sol1 = document.getElementById('<%= TxtSol.ClientID %>').value;
             window.open("Unlock.aspx?MUN1=" + mun1 + "&SOL1=" + sol1, "myWindow", "status = 1, height = 300, width = 300, resizable = 0");
             Unlock.aspx.document.write("Escribiendo en la nueva ventana");
    </script>

    lunes, 3 de diciembre de 2018 21:02