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

Mostrar la cita
donde poner cierto
Mostrar la cita
pagina .aspx
Mostrar la cita
que es programacion en
Mostrar la cita
lo saco de base de
Mostrar la cita
partir de ahí, montar
Mostrar la cita
htmlTableRow y htmlTableCells y
Mostrar la cita
todos los menus.
Mostrar la cita
("onmouseover", "javascript:MostrarMenu('Menu1');");
Mostrar la cita
('Menu1');");
Mostrar la cita
();
Mostrar la cita
mas sencillo ponerlo
Mostrar la cita
necesidad de utilizar
Mostrar la cita
¿normalmente como se hace?, es
Mostrar la cita
codigo en linea o en
Mostrar la cita
#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.
Ads by Google
Search Busqueda sugerida