Controllo Reapeter

domenica 06 gennaio 2008 - 10.12

valerik Profilo | Junior Member

Ciao a tutti,
vorrei farvi una domanda, ma magari dico una castroneria...

Ho un reapeter dove mi visualizzo le mie categorie, qualcosa del tipo....

<asp:Repeater ID="rptSubs" runat="server" >
<ItemTemplate>
<a href="<%#Utility.GetRewriterUrl("catalog", categoryGUID, "cid=" & Eval("categoryID").ToString())%>"
class="subcategory" >
<%#Eval("categoryName")%>
</ItemTemplate>
</asp:Repeater>

E poi nel code-Behind avrei:

Private Sub BindSubs()
rptSubs.DataSource = ds.Tables(1)
rptSubs.DataBind()
End Sub

Ora se volessi aggiungere un oggetto label dove potermi che so richiamare il numero dei prodotti di ogni categoria(con un' altra query) e' possibile?Come si puo fare?
quindi fare qualcosa del genere:

<asp:Repeater ID="rptSubs" runat="server" >
<ItemTemplate>
<a href="<%#Utility.GetRewriterUrl("catalog", categoryGUID, "cid=" & Eval("categoryID").ToString())%>"
class="subcategory" >
<%#Eval("categoryName")%><asp:label ID=label1 runat=server></asp:label>(e qui vorrei associargli il valore che mi riprendo dal DB
</ItemTemplate>
</asp:Repeater>
Grazie
Ciao



valerik

alx_81 Profilo | Guru

>Ciao a tutti,
Ciao!

>vorrei farvi una domanda, ma magari dico una castroneria...
>Ho un reapeter dove mi visualizzo le mie categorie, qualcosa
>del tipo....
>
><asp:Repeater ID="rptSubs" runat="server" >
><ItemTemplate>
><a href="<%#Utility.GetRewriterUrl("catalog", categoryGUID,
>"cid=" & Eval("categoryID").ToString())%>"
> class="subcategory" >
> <%#Eval("categoryName")%>
></ItemTemplate>
></asp:Repeater>
>
>E poi nel code-Behind avrei:
>
>Private Sub BindSubs()
>rptSubs.DataSource = ds.Tables(1)
>rptSubs.DataBind()
> End Sub
>
>Ora se volessi aggiungere un oggetto label dove potermi che so
>richiamare il numero dei prodotti di ogni categoria(con un' altra
>query) e' possibile?Come si puo fare?
>quindi fare qualcosa del genere:
>
><asp:Repeater ID="rptSubs" runat="server" >
><ItemTemplate>
><a href="<%#Utility.GetRewriterUrl("catalog", categoryGUID,
>"cid=" & Eval("categoryID").ToString())%>"
> class="subcategory" >
> <%#Eval("categoryName")%><asp:label ID=label1 runat=server></asp:label>(e
>qui vorrei associargli il valore che mi riprendo dal DB
></ItemTemplate>
></asp:Repeater>

Il consiglio che posso darti è di fare una query unica per tutto, mettendo in join, ad esempio, le tue categorie con i prodotti, per ottenerne il conteggio.
In questo modo puoi usare la funzione Eval("CampoConteggio") nella proprietà Text dellla Label. Qualcosa tipo:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Ricorda di usare gli apici singoli per effettuare il binding.
Se proprio pvuoi fare query di lookup riga per riga (attenzione, perchè perdi prestazioni), puoi gestire l'evento ItemDataBound del repeater, lanciare l'eventuale query e valorizzare la proprietà text della Label, ottenuta tramite FindControl("IDControllo"). Ma ti sconsiglio questo metodo..

>Grazie
Di nulla!
Alx81 =)

http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5