ASP.NET - Repeater dinámico

 
Vista:

Repeater dinámico

Publicado por Encar (1 intervención) el 29/12/2008 12:00:59
Hola!!

Tengo un problemilla que no sé cómo resolver. Les cuento....

A ver... en la portada de una página web tengo un div que muestra noticias, en dicho div, aparece la noticia más reciente, y un enlace a una noticia anterior y otro a una noticia siguiente.

Los datos de las noticias los obtengo de una base de datos de la siguiente forma:

comando.CommandText = "SELECT clave, fecha, titular, contenido " +
"FROM noticias";

MySqlDataAdapter adaptador = new MySqlDataAdapter(comando);
adaptador.Fill(dsNoticias, "noticias");

repeaterNoticias.DataSource = dsNoticias.Tables["noticias"].DefaultView;
repeaterNoticias.DataBind();

* dsNoticias es un DataSet

y en el div lo muestro mediante un Repeater de la siguiente forma:

<div id="div1" runat="server">
<asp:Repeater ID="repeaterNoticias" runat="server">
<ItemTemplate>
<p><span class="titularNoticia"><%# DataBinder.Eval(Container.DataItem,"titular").ToString() %></span><span class="fechaNoticia"><%# DataBinder.Eval(Container.DataItem,"fecha").ToString() %></span><%# DataBinder.Eval(Container.DataItem,"contenido").ToString() %> <a href="#">anterior</a> | <a href="#">siguiente</a></p>
</ItemTemplate>
</asp:Repeater>
</div>

Mi problema viene, que si lo hago así, dentro del div me muestra una noticia, y el resto de noticias de la BD me los muestra debajo, y no sé como hacer que no se muestren esas noticicas, es decir, que sólo muestre una noticia dentro del div, y al pulsar en "siguiente" que cambie de noticia.

Espero que me hayan entendido y que puedan ayudarme.

Un saludo y gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:Repeater dinámico

Publicado por apis (51 intervenciones) el 08/01/2009 06:00:07
lo que puedes hacer es alguna de estas 2 opciones:
Que el select solo te regrese un dato, algo asi como
comando.CommandText = "SELECT top 1 clave, fecha, titular, contenido " +
"FROM noticias where id="+valor;
donde valor pues seria como quien dice una variable global que tendria el id de la noticia,
y al prinicipio pues tomarias el numero total de registros que lo puedes tener con el select count form noticias
luego segun el boton anterior o siguiente incrementas o decrementas la variable global valor
Y la otra es si realmente es necesario que uses el repeater? podrias usar un DetailsView que solo te muestra un registro en forma de
nombre del campo1: campo1
nombre del campo1: campo1
o incluso un datagrid esos hasta tiene paginacion y asi ya no necesitarias programar el boton anterior, siguiente, aunque bueno si necesitas un formato especifico que no se ajuste al datagrid o details view pues puedes usar el repeater pero ya es hacer todo mas manual.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar