Codebehind o Codigo en linea

08/07/2004 - 10:50 por Jose | Informe spam
Hola,

Soy un novato en asp.net.

Estoy haciendo una web, y me ha surgido la duda de donde poner cierto
codigo, si en el codebehind o directamente en la pagina .aspx

Tenia pensado que el html lo pondria en el aspx y lo que es programacion en
el aspx.cs

Pero tengo que montar unos menus donde su contenido lo saco de base de
datos. Y claro tengo que conectar a la base de datos y a partir de ahí, montar
el html.

Esto puedo hacerlo desde el codebehind, con htmlTableRow y htmlTableCells y
con htmlanchor, etc... De esta manera podria construir todos los menus.

EJEMPLO

CODIGO PARA ACCEDER A LA BASE DE DATOS
-
while (MiDataReader.Read())
{
HtmlTableCell MiCelda = new HtmlTableCell();
HtmlAnchor Link = new HtmlAnchor();
tblMenuPrincipal.EnableViewState = false;
tblMenuPrincipal.Rows.Add(MiFila);
MiCelda.EnableViewState = false;
MiCelda.Width = "100%";
Link.Attributes.Add("onmouseover", "javascript:MostrarMenu('Menu1');");
Link.Attributes.Add("onmouseout", "javascript:Ocultar('Menu1');");
Link.Attributes.Add("class","LKBlanco");
Link.HRef = Archivo;
Link.InnerHtml = MiDataReader.GetSqlString(3).ToString();
MiCelda.Controls.Add(Link);
MiFila.Cells.Add(MiCelda);
}
CERRAR OBJETOS BBDD



, pero ¿seria buena idea?. Es decir, seguramente seria mas sencillo ponerlo
directamente en el aspx y que se valla montando ahi, sin necesidad de utilizar
los objetos htmlTableRow, etc...

EJEMPLO:

CODIGO PARA ACCEDER A LA BASE DE DATOS
-
while (MiDataReader.Read())
{
<td width="100%"><a
href=<%=Archivo%>"><%=MiDataReader.GetSqlString(3)%></a></td>
}

CERRAR OBJETOS BBDD


Que deberia hacer, ¿Que seria mas correcto?. ¿normalmente como se hace?, es
que soy novato y todavia no se cuando tengo que poner un codigo en linea o en
el codebehind.

Gracias de antemano.

Un saludos a todos,
Jose.
 

Leer las respuestas

#1 Eduard Tomàs
08/07/2004 - 12:41 | Informe spam
MMmm...
Yo te recomendaría el control Repeater.
Echale un vistazo, porque está pensado precisamente para
esto (para repetir tags HTML en función de datos sacados
de una BBDD).

Edu

Hola,

Soy un novato en asp.net.

Estoy haciendo una web, y me ha surgido la duda de


donde poner cierto
codigo, si en el codebehind o directamente en la


pagina .aspx

Tenia pensado que el html lo pondria en el aspx y lo


que es programacion en
el aspx.cs

Pero tengo que montar unos menus donde su contenido


lo saco de base de
datos. Y claro tengo que conectar a la base de datos y a


partir de ahí, montar
el html.

Esto puedo hacerlo desde el codebehind, con


htmlTableRow y htmlTableCells y
con htmlanchor, etc... De esta manera podria construir


todos los menus.

EJEMPLO

CODIGO PARA ACCEDER A LA BASE DE DATOS
-
while (MiDataReader.Read())
{
HtmlTableCell MiCelda = new HtmlTableCell();
HtmlAnchor Link = new HtmlAnchor();
tblMenuPrincipal.EnableViewState = false;
tblMenuPrincipal.Rows.Add(MiFila);
MiCelda.EnableViewState = false;
MiCelda.Width = "100%";
Link.Attributes.Add


("onmouseover", "javascript:MostrarMenu('Menu1');");
Link.Attributes.Add("onmouseout", "javascript:Ocultar


('Menu1');");
Link.Attributes.Add("class","LKBlanco");
Link.HRef = Archivo;
Link.InnerHtml = MiDataReader.GetSqlString(3).ToString


();
MiCelda.Controls.Add(Link);
MiFila.Cells.Add(MiCelda);
}
CERRAR OBJETOS BBDD



, pero ¿seria buena idea?. Es decir, seguramente seria


mas sencillo ponerlo
directamente en el aspx y que se valla montando ahi, sin


necesidad de utilizar
los objetos htmlTableRow, etc...

EJEMPLO:

CODIGO PARA ACCEDER A LA BASE DE DATOS
-
while (MiDataReader.Read())
{
<td width="100%"><a
href=<%=Archivo%>"><%=MiDataReader.GetSqlString(3)%
</a></td>
}

CERRAR OBJETOS BBDD


Que deberia hacer, ¿Que seria mas correcto?.


¿normalmente como se hace?, es
que soy novato y todavia no se cuando tengo que poner un


codigo en linea o en
el codebehind.

Gracias de antemano.

Un saludos a todos,
Jose.


.

Preguntas similares