none
Paso de valores de pagina hijo a padre (ambas con masterpage diferentes)

    Pregunta

  • Saludos.

     

    Agradeceria mucho su ayuda.  Me urge solucionar el siguiente problema:

     

    Tengo el siguiente escenario:


    Paginas padre e Hijo(Ambos utilizan MasterPage). 

    Desde la padre se abre la pagina hijo para realizar
    una consulta(gridview), el usuario al seleccionar una fila, se debe retornar par de valores.

    Utilizo una función javascript en la pagina hijo que deberia hacer:

    1. Retornar los valores
    2. Cerrar la ventana hijo
    3. Hacer un dopostback que ejecute un procedimiento en el servidor(pagina padre) que actualice
       los datos con base a los valores retornados.
      
      
    Sobre el item 2 he realizado pruebas con el siguiente codigo y solo me funciona cuando
    los controles estan en la misma pagina.

    document.getElementById('<%= Page.Master.FindControl("ContentPlaceHolderPopup").FindControl("txtrs").ClientID %>').value = razonsocial;


    La idea es hacer la modificación necesaria sobre la line anterior pero para que retorne los valores
    en objetos de la pagina padre.

     

    La ventana hijo se presenta mediante lightwindow(prototype)

     

    Gracias por su ayuda.

     

    lunes, 28 de junio de 2010 23:06

Todas las respuestas

  • hola

    no lo has aclarado pero imagino que estas ventanas que dices son padre e hijo es proque la hijo se abre en un popup, quizas usando window.open() ?

    si es asi lo que podrias hacer es en la pagina hijo al seleccionar un item, este haces un postback a si mismo en la seleccion y deje el valor en un objeto de Session

    luego cuando vuelve realizas dos acciones en ese jaavscript de la pagina hijo que se retorna al cliente,

    - una es el close de la propio ventana

    - la otra es el submit de la pagina padre

    por supeusto aqui el problema es como ahcer el submit de otra ventana

    Refresh or Submit the Parent page from PopUp Window Using Javascript in ASP.Net

    como veras se usa el window.opener y con este ahces el submit del webform padre y cierras el hijo

    como la seleccion dejo un valor en Session con al seleccion, el form padre puede tomar este valor y usarlo

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    martes, 29 de junio de 2010 3:04
  • Gracias leandro.

     

    Pero el escenario no es simple.  Ambas paginas son masterpage y no estan declaradas como padre/o hijo.

     

    La pagina hijo(por decirlo de esa forma) se muestra utilizando ligthwindows(con la libreria javascript prototype).

     

    El problema en si es que no logro asignar valores de la pagina hijo a objetos en la pagina padre.

     

    El codigo que haye en internet para pasar valores entre paginas que utilizan MasterPage es:

     

    document.getElementById('<%= Page.Master.FindControl("ContentPlaceHolderPopup").FindControl("txtrs").ClientID %>').value = razonsocial;

    Pero este solo funciona si los objetos estan en la misma pagina.  Ya he realizado variantes de este pero no logro que funcione.

     

    martes, 29 de junio de 2010 14:40
  • ahh pero por padre-hijo te refererias a que son uan master page de la otra, o sea master page anidadas

    en ese caso si usa el FindControl() solo que no necesitas poner el ContentPlaceHolderPopup

    usa

    Page.Master.FindControl("txtrs")

    pero en este caso seria una master page que usa una master page y necesitas acceder a un control de la primera desde la segunda

    saludo


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    martes, 29 de junio de 2010 15:37