2009-02-10 27 views
5

Sto visualizzando i dati utilizzando il controllo ripetitore. Diciamo che ci sono 2 campi nell'origine dati: productName e ProductIDCreazione di collegamenti dinamici con controllo ripetitore

Nel codice seguente:

<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1"> 
<HeaderTemplate> 
<ul> 
</HeaderTemplate> 
<ItemTemplate> 
<li> 
<%#Eval("productName")%> <br/> 
<asp:HyperLink ID="lnkDetails" runat="server" NavigateUrl="~/Details.aspx?ID=">See Details</asp:HyperLink> 
</li> 
</ItemTemplate> 
<FooterTemplate> 
</ul> 
</FooterTemplate> 

cosa ho bisogno di modificare in

<asp:HyperLink ID="lnkDetails" runat="server" NavigateUrl="~/Details.aspx?ID=">See Details</asp:HyperLink> 

per includere il valore recuperato i da il ProductID nel collegamento NavigateUrl = "~/Details.aspx? ID ="

risposta

15

NavigateUrl="~/Details.aspx?ID=<%# Eval("productID") %>" dovrebbe funzionare ...

... ma non è così!

Il modo più elegante dovrebbe essere:

<asp:HyperLink ID="lnkDetails" runat="server" NavigateUrl='<%# Eval("ProductID", "~/Details.aspx?ID={0}") %>'>See Details</asp:HyperLink> 
+0

Che ciò che ho effettivamente fatto, ma non sembra funzionare. Putting NavigateUrl = "~/Details.aspx? ID = <% # Eval (" productID ")%>" couse: Generazione del file designer non riuscita: il tag del server non è ben formato. Quando cambio un set di virgolette per singolo crea il collegamento Details.aspx? ID = <% # Eval ('productID')%> – padn

+0

Modifica: eri corretto poiché il metodo iniziale non funzionava, ma il metodo aggiornato ... "Il valore del parametro expression deve valutare una proprietà pubblica ". Fonte: http://msdn.microsoft.com/en-us/library/4hx47hfe.aspx –

+0

Ora funziona bene grazie – padn

Problemi correlati