Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Como crear "frames" con asp.net

Iniciado por Haddd, 14 de Agosto de 2006, 05:58:25 PM

« anterior - próximo »

Haddd

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?

zupervaca

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:

Haddd

¿porque no frames? Con las tablas tengo que cargar de nuevo toda la página

zupervaca

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

Haddd

¿ 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...

tiutiu

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.
b>:: Pandora's Box project ::
Notas e ideas sobre desarrollo de engines para juegos

shephiroth

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 ^^

Haddd


StraT

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
quot;Solo hay dos cosas infinitas, el universo y la estupidez humana, aunque de lo primero no estoy muy seguro\\\" Einstein

fiero

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
www.videopanoramas.com Videopanoramas 3D player

Haddd

Gracias por las ayudas, creo que lo tengo claro  :D

StraT

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
quot;Solo hay dos cosas infinitas, el universo y la estupidez humana, aunque de lo primero no estoy muy seguro\\\" Einstein






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.