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.

Preguntas similare

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.


.

Respuesta Responder a este mensaje
#2 Sergio Florez M.
08/07/2004 - 14:48 | Informe spam
Generalmente prefiero tener la menor cantidad de codigo posible en en el
aspx ya que me parece mas ordenado trabajar con codebehind, pero eso no es
mas que una opinion personal. Otra cosa es que te recomiendo que uses el
skmMenu que es un control que te construye eso mismo, un menu, y de esta
forma te salvaras de tener que construir todo ese HTML de forma manual.
http://skmmenu.com/menu/ - Busca la "Guia en español" .

El que persevera insiste
Sergio Florez M.
Medellín, Colombia


"Jose" escribió en el mensaje
news:
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.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida