none
JQuery dialog y ASP.NET

    Question

  • Que tal muchachos,

    Me gustaria saber la manera mas optimia de usar jquery ui  y su control DIALOG con ASP.NET, para mi en PHP es muy simple, cargo una pagina en un div y luego lo renderizo como un dialog.

    Supongamos que tengo dos paginas .ASPX, una se llama padre.aspx y la otra hijo.aspx

    Ahora en la pagina padre, yo creo un div y dentro coloco un iframe, luego cargo la pagina hijo.aspx dentro del iframe y la levanto como un DIALOG, asi lo que programe en hijo.aspx me es indiferente, porque si hace postback no se pierde la pagina, ya que se refresca en el iframe y a su vez puedo programar la logica que quiero que haga hijo.aspx en su codebehind, y todos felices .... pero:

    - Tengo que crear cada dialog como una pagina independiente
    - Volver adjuntar los CSS,JS ya que no puedo obtenerlos de la pagina padre
    - Si quisiera mostrar un DIV que carge una imagen en tamaño real, la voy a limitar al tamaño del IFRAME
    - Cuando cierro el dialog, la pagina se vuelve a cargar por mas que borro el valor en el atributo src del iframe

    Ahora mi otra opcion seria que en mi DIV que hace el papel de DIALOG, ya no use IFRAME, sno me quede con el DIV, y carge la pagina HIJO dinamicamente mediante ajax .... $.load, las ventajas/desventajas serian estas

    - Heredaria las hojas de estilo, y JS de mi pagina PADRE
    - Como mantendria los eventos que programe en el codebehind de la pagina hijo?
    - Si hago click en un boton de la pagina hijo este va hacer postback (si es que hereda los eventos de la pagina hijo), haciendo que el dialog desaparesca.
    - Otra opcion podria hacerlo en un UPDATEPanel, pero no me gusta mucho el comportamiento de este
    - Otra opcion mas seria programar todo en mi javascript, y mandar cualquier accion como JSON a un asmx y hacer la logica ahi (Pero programaria demasiado, y no aprobecharia los eventos de webforms)

    Señores les pido su ayuda, y a personas que hayan llegado a una solucion a esto

    Adjunto el codigo de mi jquery dialog

    function __dialog(title) {
        $("#jqDialog").dialog({
            modal: true,
            width: 'auto',
            height: 'auto',
            resizable: false,
            title: title,
            beforeClose: function () {
                $("iframe", $(this)).attr('src','')
            },
            close: function () {
                $("#ContentPlaceHolder1_btnRefrescar").click();
            }
        });
    }

    Thursday, June 07, 2012 2:23 PM

Answers

  • es todo un tema el que planteas

    la cuestion seria que para que todo funcione bien deberias

    - olvidarte de los eventos de asp.net, o si los va a usar como bien comentas hacerlo con UpdatePanel

    - lo idea es que puedas usar $.ajax o similar para enviar acciones desde el cliente al server, con esto reemplazas a los eventos de asp.net, esto lo ahs comentado en el ultimo punto, es el mejor camino aunque se que es el mas trabajo dara

    jQuery – DropDownList anidados (nested DropDownList)

    en el link implemento algo de esto de invocaciones sin eventos

    lo que no me convences es usar iframe, no creo que se lleven bien el dialog con este y si lo hacen me genera dudas


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    Thursday, June 07, 2012 2:48 PM