jueves, febrero 09, 2012

Cargar pagina en un iframe el href de un treeview, el treeview como menu (asp,javascript,jquery)

Hace un tiempo se tenia un problema de que se cargaba un menu en un treeview con el contenido desde la base de datos.

Pero al hacer clic se refrescaba o se renderizaba toda la pagina. Asi que habia que separar el menu o poner el contenido necesario dentro de un frame.

Bueno encontre la solucion en esta pagina.

http://www.codeproject.com/Tips/165927/Load-page-in-IFRAME-based-on-TreeView-node-selecti

Pero sorpresa dicho proceso no funcionaba en IE ya saben cosas de micro soft. Lo que hacen no es compatible con lo otro. Ya se que me diran el open source. Pero el conocimiento te hace libre.

No funcionaba ya que
 nodes[n].setAttribute('onclick', strclick);

No reconoce el IE, no se el motivo

En fin luego varios intentos la solucion resulto de esta manera.

        < script type="text/javascript" >
            $("#tv1 a").click(function (event) {
                var url = $(this).attr("href");
                if (url.indexOf(".aspx") > 3) {
                    var frmPage = document.getElementById('frame1');
                    frmPage.src = url;
                    event.preventDefault();
                }
            });
        < /script >

       
donde tv1 es el treeview y frmPage es el frame donde vamos a cargar nuestra pagina.

Ojo que a veces esto se necesita poner al ultimo de la pagina si ponen antes de cerrar el tag mejor.