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)