Hola despues de haber estado preguntando e investigando, he logrado hacer mi primer webForm con consulta a base de datos usando el control repeater, pero tengo una duda, cara a diseño, he conseguido hacer las cosas como quería, pero no sé si la manera como lo hice es la manera correcta.
Os dejo el código para que me den su opinion y miren exactamente qué es lo que quiero hacer y si la solución que he usado es aceptada o estoy haciendo una barbaridad (sé que es mucho código solo me interesa ver si utilizo correctamente los repeater, las consultas y los #eval):
Código:
[...]
///// ABRO LAS CONEXIONES Y PONGO LAS CONEXIONES
<asp:SqlDataSource ID="inmuebles" runat="server"
ConnectionString="<%$ ConnectionStrings:pryconsaWebConnectionString %>"
SelectCommand="SELECT [inmueble_id], [promocion_id], [inmueble_tipo_id], [descripcion], [long_desc], [existencia], [letraTipo], [precioVenta],[precioAlquiler], [entrada], [mensualidades], [habitaciones] FROM [inmuebles] WHERE ([promocion_id] = @promocion_id)">
<SelectParameters>
<asp:QueryStringParameter DefaultValue="3" Name="promocion_id"
QueryStringField="promocionID" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
<asp:SqlDataSource ID="consultaPromociones" runat="server"
ConnectionString="<%$ ConnectionStrings:pryconsaWebConnectionString %>"
SelectCommand="SELECT * FROM [promociones] WHERE ([promocion_id] = @ciudad_id)">
<SelectParameters>
<asp:QueryStringParameter DefaultValue="3" Name="ciudad_id"
QueryStringField="ciudad_id" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
<asp:SqlDataSource ID="consultaPlanos" runat="server"
ConnectionString="<%$ ConnectionStrings:WebConnectionString %>"
SelectCommand="SELECT * FROM [imgs] WHERE ([promocion_id] = @ciudad_id And [img_tipo_id] = 1)">
<SelectParameters>
<asp:QueryStringParameter DefaultValue="3" Name="ciudad_id"
QueryStringField="ciudad_id" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
<asp:SqlDataSource ID="consultaImagenes" runat="server"
ConnectionString="<%$ ConnectionStrings:WebConnectionString %>"
SelectCommand="SELECT imgs.imgs_id, imgs.img_tipo_id, imgs.promocion_id, imgs.img_nombre, imgs.nombre_long, imgs.letraTipo, imgs.alt, imgs.long_desc, imgs.img_path FROM imgs INNER JOIN img_tipo ON imgs.img_tipo_id = img_tipo.img_tipo_id WHERE (imgs.promocion_id = @ciudad_id) AND (imgs.img_tipo_id = 2) OR (imgs.img_tipo_id = 3)">
<SelectParameters>
<asp:QueryStringParameter DefaultValue="3" Name="ciudad_id"
QueryStringField="ciudad_id" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
//////Pongo un repeater////
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="ConsultaPromociones">
<ItemTemplate>
<div id="tituloPromo"><span class="promo"><asp:Label ID="Label2" runat="server" Text='<%# Eval("nombre") %>'></asp:Label></span> (<asp:Label ID="Label1" runat="server" Text='<%# Eval("direccion") %>'></asp:Label>)</div>
[...]
<span class="desc"><asp:Label ID="Label3" runat="server" Text='<%# Eval("descripcion") %>'></asp:Label></span>
<div class="listas">
<span class="fechasCabeza">Descrierea proiecetului:</span><br>
<asp:Label ID="Label4" runat="server" Text='<%# Eval("long_desc") %>'></asp:Label> <br />
<span class="fechasCabeza">Fechas Estimadas</span><br />
<span class="inicios">Inicio estimado de la Obra</span><br />
<span class="fechas"><asp:Label ID="Label5" runat="server" Text='<%# Eval("inicio") %>'></asp:Label></span><br />
<span class="inicios">Entrega estimada de llaves</span><br />
<span class="fechas"><asp:Label ID="Label6" runat="server" Text='<%# Eval("entrega") %>'></asp:Label></span></div>
</div>
[...]
//////Pongo dentro del repeater consultaPromociones otro consultaImagenes////
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="consultaImagenes">
<ItemTemplate>
<li class="images"><a href="imgspromos/<%# Eval("promocion_id") %>/fotografias/<%# Eval("img_path") %>" title='<%# Eval("nombre_long") %>' rel="lightbox[roadtrip]"><img src='<%# Eval("img_path") %>' alt='<%# Eval("alt") %>' name='<%# Eval("img_nombre") %>' width="123" height="80" border="0"></a></a></a><span><%#Eval("img_nombre")%></span><br /></li>
</ItemTemplate>
</asp:Repeater>
[...]
<div class="bco"> <br />
<table class="precios" width="500" border="0" align="center" cellspacing="0">
<tr>
<td width="227" class="header">Tipo de Vivienda</td>
<td width="107" class="header">Precio Total desde*</td>
<td width="71" class="header">Entrada</td>
<td width="87" class="header">Mensualidades</td>
</tr>
<tr>
<td class="cuerpoIniTop">(28/04/2008)</td>
<td class="cuerpoIniTop"> </td>
<td class="cuerpoIniTop"> </td>
<td class="cuerpoIniTop"> </td>
</tr>
<asp:Repeater ID="Repeater4" runat="server" DataSourceID="inmuebles">
<ItemTemplate>
<tr>
<td class="cuerpoIniTop"><p class="tipos"><%#Eval("long_desc")%></p></td>
<td class="cuerpoIniTop" ><strong><%#Eval("precioVenta")%> €</td>
<td class="cuerpoIniTop"><%#Eval("entrada")%> €</td>
<td class="cuerpoIniTop"><%#Eval("mensualidades")%> €</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
</ItemTemplate>
</asp:Repeater>
[...]
Bueno espero que alguien tenga el tiempo, la pasciencia y las ganas de darme su opinión.
Gracias