32 messaggi dal 20 marzo 2004
Salve,
come posso abbinare un link che cambia dinamicamente a seconda dei dati su db (DataNavigateUrlFormatString="details.aspx?field={0}") ad una immagine che prendo tramite DataImageUrlFormatString="images/img{0}.jpg" su un gridview?
Praticamente invece di avere immagine e link, posso cliccare l'immagine per andare alla pagina richiesta?

Grazie.

..... ;)
637 messaggi dal 12 agosto 2005
Personalmente ricorrerei a questa soluzione:

<asp:HyperLink ID="MyLink" runat="server" 
NavigateUrl='<% "default.aspx?field=" + Eval("miocampo")%>'
ImageUrl='<% string.Format("images/img{0}.jpg", Eval("miocampo"))%>'


Altrimenti può provare inserendo dentro l'HyperLink una Image ed utilizzare i formati automatici.
32 messaggi dal 20 marzo 2004
Ciao e grazie per il codice.
L'ho utilizzato dentro un templatefield del gridview ma il risultato non è stato quello sperato,
l'immagine che cerca di visualizzare è questa

http://localhost:4678/abd/<%%20string.Format("images/img{0}.jpg",%20Eval("id"))%>

il relativo link è questo:

http://localhost:4678/abd/<%%20"default.aspx?field=" + Eval("id")%>

Non è possibile fare qualcosa con l'hyperlinkfield oppure con l'imagefield dello stesso gridview?

..... ;)
637 messaggi dal 12 agosto 2005
Mi scusi, ho dimenticato un carattere : #, fondamentale nelle espressioni di binding. Questo è il codice corretto:
<asp:HyperLink ID="MyLink" runat="server" 
NavigateUrl='<%# "default.aspx?field=" + Eval("miocampo")%>' 
ImageUrl='<%# string.Format("images/img{0}.jpg", Eval("miocampo"))%>' />


Una distrazione capita a tutti.  Si accerti di prestare attenzione agli apici singoli e non doppi, così come li ho indicati. È importante affinche il runtine effettui il parse correttamente.
32 messaggi dal 20 marzo 2004
Perfetto! O quasi...
Infatti appena aggiunti i "#" mi restituiva un errore riguardante una conversione da String a Double, ho dovuto allora mettere la "&" al posto del "+" nel NavigateUrl.

Grazie mille!!!

..... ;)
637 messaggi dal 12 agosto 2005
Se il suo linguaggio è VB.NET ha ragione. Io adopero C#, per cui la sintassi è diversa. Comunque nessun problema.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.