Foros - Stratos

Programadores => General Programadores => Mensaje iniciado por: Haddd en 14 de Agosto de 2006, 05:58:25 PM

Título: Como crear "frames" con asp.net
Publicado por: Haddd en 14 de Agosto de 2006, 05:58:25 PM
Sé que quizás no es el sitio apropiado, pero aquí hay gente que sabe mucho  :D

Quiero hacer un página con un lateral a la izquierda donde hay un menú. Cuando pulso en el menú que se cargue la pantalla de la derecha, donde están la página web.

Vamos el típico. Lo lógico es tener un frame a la izquierda y otro a la derecha mucho más grande.

Pero no se como hacer esto con asp. ¿podeis ayudarme?
Título: Como crear "frames" con asp.net
Publicado por: zupervaca en 14 de Agosto de 2006, 07:37:54 PM
Yo lo hago con variables de sesion, con esto imprimo en el html (main.asp por ejemplo) otro html:

...
     <%server.execute session("pagina")%>
...


Para indicar el html tengo por ejemplo esto:

session( "pagina" ) = "news/2005/2005.html"
server.execute "main.asp"

Yo pongo un html por cada session("pagina") que tengo, el motivo es engañar a google para que piense que son paginas diferentes ya que si haces un html que le indicas el valor del html o direccion url a mostrar google no la agregara, es decir, solo la agregara una vez.

Se me olvidaba, la maquetacion la puedes hacer mediante tablas o css, nada de frames :wink:
Título: Como crear "frames" con asp.net
Publicado por: Haddd en 15 de Agosto de 2006, 01:08:17 PM
¿porque no frames? Con las tablas tengo que cargar de nuevo toda la página
Título: Como crear "frames" con asp.net
Publicado por: zupervaca en 15 de Agosto de 2006, 01:55:53 PM
Los frames... jeje como no quiero escribir algo que luego me puedan rebatir diciendo cualquier cosa, prefiero poner una web de internet donde explican los problemas de los frames: http://www.danielclemente.com/html/frames.html
asi si alguien tiene algo que objetar a lo que dice que le manden un mail a este tio :P
Título: Como crear "frames" con asp.net
Publicado por: Haddd en 16 de Agosto de 2006, 09:19:52 AM
¿ y como puedo crear una tabla con cabecera, cuerpo y pie de forma que el pie salga en la parte de abajo independientemente del tamaño del body? Vamos, lo que sería un pie de página...
Título: Como crear "frames" con asp.net
Publicado por: tiutiu en 16 de Agosto de 2006, 11:35:51 AM
La creacion de webs ha cambiado bastante, aunque mucha gente aun sigue en la edad antigua, pero bueno.

Lo mas sencillo es tirar de DIVs y CSS para el layout de la pagina. El DIV tiene una propiedad genial llamada innerHTML, asi que con javascript es muy sencillo cargar un .html dentro de un DIV, con lo que te ahorras recargar la pagina entera (mirate el AJAX, gmail creo que lo utiliza, al menos la idea es la misma).

Puedes maquetar lo que dices de tener dos frames con un par de DIVs, uno para el menu y otro para el contenido. Una opcion del menu simplemente cambia el innerHTML del DIV de contenido. El JavaScript lo puedes generar dinamicamente con ASP.
Título: Como crear "frames" con asp.net
Publicado por: shephiroth en 16 de Agosto de 2006, 11:37:30 AM
La solucion sería usar un iframe, pero si usando frames te encuentras con problemas de identificar navegador, usando iframe esos problemas se acentuan.

Realmente te aconsejo personalmente evitar el uso de iframes e intentar hacer un codigo interno basado en tablas y usando el execute que te indican por arriba, te ahorraras problemas de compatibilidades y muuuuuchos quebraderos de cabeza.

EDITADO: Mucho mejor la idea de tiutiu de las divs, sigue su consejo :D

SALUDOS ^^
Título: Como crear "frames" con asp.net
Publicado por: Haddd en 16 de Agosto de 2006, 11:48:59 AM
¿Y sería mucho pedir un ejemplo?
Título: Como crear "frames" con asp.net
Publicado por: StraT en 16 de Agosto de 2006, 03:13:15 PM
Wenas Haddd ^^

El xhtml



<div id = "web" >

  <div id = "top" >

     //Aqui el contenido del top
     //Opcionalmente puedes usar php
     //<? include('top.htm'); ?>

  </div>

  <div id = "center" >

     <div id = "menu" >

        //Aqui el contenido del menú
        //Opcionalmente puedes usar php
        //<? include('menu.htm'); ?>

     </div>

     <div id = "content" >

        //Aquí va el contenido de la página, es la parte que cambie así que
        //no hacen faltan includes

     </div>

  </div>

  <div id = "footer" >

     //Aqui el contenido del pie de página
     //Opcionalmente puedes usar php
     //<? include('footer.htm'); ?>

  </div>

</div>



El css



#web {

  width: 750px;
  float: left;
  margin: auto;
  padding: 0px;

}

#top {

  width: 750px;
  margin: 0px;
  padding: 0px;
  float: left;

}

#center {

  width: 750px;
  margin: 0px;
  padding: 0px;
  float: left;

}

#menu  {

  width: 200px;
  float: left;
  padding: 0px;
  margin: 0px;

}

#content

{

  width: 550px;
  padding: 0px;
  margin: 0px;
  float: left;

}

#footer {

  width: 750px;
  margin: 0px;
  padding: 0px;
  float: left;

}




Y con esto tendrias el típico ejemplo de una web con top, footer y menú a la izquierda, como stratos.

Saludos
Título: Como crear "frames" con asp.net
Publicado por: fiero en 16 de Agosto de 2006, 04:47:47 PM
Cita de: "Haddd"¿Y sería mucho pedir un ejemplo?

Hola Haddd,

Puedes ver mi web www.devalvr.com , yo uso una función en Javascript para crear la cabecera y la fima en todas las páginas. En todas las páginas incluyo el fichero http://www.devalvr.com/scripts/funciones.js en la cabecera y luego llamo a inicio() y firma() al principio y al final de la página. El 99.9 % de los navegadores actuales tienen Javascript habilitado, así que no hay problemas de navegación.

Las funciones están un poco guarras, fruto de años de parcheo, pero te puedes fijar en firma(), que es bien sencilla. En la función inicio() genero la tabla de arriba, con links, menús, logo, y el link de paypal.

Esta podría ser una de las páginas más sencillas en mi web, la de error 404, que solo tiene cabecera, un texto y la firma: http://www.devalvr.com/404.html (El menú de la izquierda lo genero también con la función de cabecera, según los parámetros)


un saludo
Título: Como crear "frames" con asp.net
Publicado por: Haddd en 16 de Agosto de 2006, 05:45:28 PM
Gracias por las ayudas, creo que lo tengo claro  :D
Título: Como crear "frames" con asp.net
Publicado por: StraT en 16 de Agosto de 2006, 09:03:02 PM
Como comentario opcional añadir que los lenguajes tipo javascript son, hoy en día, ampliamente soportados. No obstante, los lenguajes como ASP y PHP, si el server los soporta, los soporta todo el mundo, ya que son lenguajes interpretados por el servidor, de forma que te aseguras que se va a ejecutar igual sea cual sea la plataforma.

Saludos