comunque, la sintassi per il check del valore in un repeater per l'URL e l'AlternateText di un'ImageButton negli items, è questa (ci vogliono gli apici singoli)
codice:<ItemTemplate> <asp:ImageButton runat="server" ID="img" AlternateText='<%# CheckValueTitolo(Convert.ToString(DataBinder.Eval(Container.DataItem, "Titolo"))) %>' ImageUrl='<%# CheckValueURL(Convert.ToString(DataBinder.Eval(Container.DataItem, "Immagine1"))) %>' /> </ItemTemplate>
Lato server (adattala tu):
codice:// URL public string CheckValueURL(string val) { if (!String.IsNullOrEmpty(val)) { return @"http://www.sito.it/" + val; } else { return String.Empty ; } } // TITOLO public string CheckValueTitolo(string val) { if (!String.IsNullOrEmpty(val)) { return val; } else { return String.Empty ; } }
ma credo che se vuoi far apparire l'immagine soltanto se il Path non è vuoto, devi agire dall'evento ItemDataBound del repeater, facendo un
codice:protected void rpt_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { if (....) // path immagine non e' vuoto { ((ImageButton)e.Item.FindControl("img"))..Visible = False; } } }
o qualcosa del genere, non ho provato (e non ricordo bene come prendere il valore, è qualcosa tipo e.Item.DataItem)

Rispondi quotando
