14 messaggi dal 24 febbraio 2011
All'interno di ItemTemplates ho inserito dei link e delle immagini prelevate dal DB.

Volevo sapere che differenza c'è nell'usare i normali tag html e i controlli web perché per esempio con il controllo mi da errore nella concatenzaione:

html (FUNZIONA)
<img src="<%= configurazione.urlSito.ToString() %>/Images/Categorie/<%# eval("fotoCategoria") %>" alt="" />

Web Controls (ERRORE)
<asp:Image ID="Image1" runat="server" ImageUrl='~/Images/Categorie/<%# eval("fotoCategoria") %>' />
383 messaggi dal 23 aprile 2007
credo che la risposta sia perchè sia "<asp:Image" che "<%" sono tag che identificano oggetti lato server, inserendoli uno dentro l'altro immagino che il precompilatore(o chi per lui) non riesca ad interpretarli.

Cosa che non avviene se inserisci un tag "lato server" in uno lato client come nel primo caso
14 messaggi dal 24 febbraio 2011
Capito. Quindi nel repeater è sempre meglio usare i normali tag html?

Quando uso allora i web controls?
383 messaggi dal 23 aprile 2007
No, nel repeater puoi usare anche i normali tag lato server, ma devi modificare il tipo di bind, se posti un po' di codice forse posso darti un indicazione più precisa.

Oppure puoi anche provare a dare il path completo dentro il tag server, qualcosa del tipo:
<asp:image ID="Image1" runat="server" ImageUrl='<%#Eval("ImagePath")%>' />
questo dovrebbe funzionare.
Modificato da historyX il 03 aprile 2013 11.37 -
14 messaggi dal 24 febbraio 2011
REPEATER

<asp:Repeater ID="rptCategorie" runat="server" Visible="False">
<HeaderTemplate>
<div class="contenitoreBox" id="contenitoreCategorie">
<header class="headerBox" id="headerCategorie">
<h1 class="h1Box" id="h1Categorie">
Categorie</h1>
</header>
<section class="sectionBox" id="sectionCategorie">
</HeaderTemplate>
<ItemTemplate>
<div class="contenitoreCategoria">
<img src="<%= configurazione.urlSito.ToString() %>/Images/Categorie/<%# eval("urlFotoCategoria") %>" alt="" />
<h2 class="h2NomeCategorie">
<a href="<%= configurazione.urlSito.ToString() +"/"+ Lingua.codiceLingua.ToString() %>/<%# eval("urlCategoria") %>-<%# Eval("idCategoria")%>">
<%# Eval("nomeCategoria")%></a></h2>
</div>
</ItemTemplate>
<FooterTemplate>
</section>
<footer class="footerBox" id="footerCategorie">
</footer>
</div>
</FooterTemplate>
</asp:Repeater>
383 messaggi dal 23 aprile 2007
prova a dare il path completo:
<asp:image ID="Image1" runat="server" ImageUrl='<%#Eval("ImagePath")%>' />
ho ricordato che è la concatenazione della stringa e dar problemi.
Se crei un metodo che concatena i diversi valori e restituisce un unica stringa dovrebbe funzionare.
14 messaggi dal 24 febbraio 2011
Cioè, per esempio sul code behind devo fare una cosa del genere?

ImagePath = "stringa" & urlDB

Buona idea.

Grazie mille :-)

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.