Ciao Mostri... questa domanda è per voi:


Prima di tutto incollo una piccola parte di codice:


<asp:DataList ID="DataList1" runat="server" CellPadding="4" DataSourceID="AccessDataSource1"
ForeColor="#333333" Width="100%">
<FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<EditItemStyle HorizontalAlign="Left" />
<SelectedItemStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
<ItemTemplate>
<span style="font-size: 12pt">
<table style="font-size: 12pt" width="100%">
<tr>
<td colspan="2" rowspan="3">
<asp:Label ID="dataLabel" runat="server" Text='<%# Eval("data", "{0:d}") %>' Font-Bold="True"></asp:Label><span style="font-size: 8pt">
- </span>
<asp:Label ID="nomebandLabel" runat="server" Font-Bold="True" Text='<%# Eval("nomeband") %>'></asp:Label><br />
<br />
<strong>Oggetto:</strong>
<asp:Label ID="oggettoLabel" runat="server" Text='<%# Eval("oggetto") %>'></asp:Label><br />
<asp:Label ID="descrizioneLabel" runat="server" Text='<%# Eval("descrizione") %>'></asp:Label><br />
web:<a target="_blank" href="http://www.my-band.it/public/<%# Eval("PERCORSO") %>"><%#Eval("nomeband")%></a>
</td>
<td rowspan="3" style="width: 6px">
<img border="0" src="GetThumbnailImage.aspx?FileName=../public/_archivio_img/<%# Eval("percorso")%>/<%# Eval("img")%>&ScaleFactor=5" width="50" height="50"></td>
</tr>
<tr>
</tr>
<tr>
</tr>
</table>
</span>


</ItemTemplate>
<AlternatingItemStyle BackColor="White" ForeColor="#284775" />
<ItemStyle BackColor="#F7F6F3" ForeColor="#333333" HorizontalAlign="Left" />
<HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" Font-Italic="True" Font-Overline="False" Font-Size="Larger" Font-Strikeout="False" HorizontalAlign="Right" VerticalAlign="Middle" />
<HeaderTemplate>
BAND.NEWS
</HeaderTemplate>
</asp:DataList>


Bene! Questo che ho incollato è un DataList che mi crea una sequenza di NEWS inserite dagli utenti del mo sito.


Adesso concentriamoci sul rigo: <img border="0" src="GetThumbnailImage.aspx?FileName=../public/_archivio_img/<%# Eval("percorso")%>/<%# Eval("img")%>&ScaleFactor=5" width="50" height="50">

Quello che si nota è che passo il valore Eval("percorso") al file GetThumbnailImage.aspx che lo utilizzerà per effettuare una Thumbnail in maniera dinamica dei loghetti dei miei utenti.



DOMANDA:

Poichè non tutti i miei utenti hano il loghetto, quando mi capita un Eval("percorso") con valore vuoto, logicamente il GetThumbnailImage.aspx non elabora nulla.


Come faccio a rintracciare da codice queso benedetto valore e fare almeno un If in maniera tale che se mi risulta vuoto cambio il loghetto con una immagine standard!!!???????!!!!!!!!



Mammmmmaaaaaaaaaammmaaaaaaaaaaaaaaaaaa... ma mi so spigato????


Scometto che il DataList1_ItemCreated serve a qualche cosa... giuro che prima di postare c'ho provato ma non riesco a rintracciare il valore di Eval(percorso)... che frevaaaaaaaaaaaaaaa!!!

Attendo fiducioso un vostro contributo!
Ciao,

semplicemente stai "sbagliando" l'apporoccio. Usa un 0ggetto asp:image.
 <asp:Image ID="imgLogoCliente" runat="server" EnableViewState="False" ImageUrl='<%# Eval("percorso")%>' />


Poi devi gestire l'evento OnItemDataBound del tuo DataList.
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
    {
//Verifico di trovarmi in una "riga" di dati
        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
        {
            Image imgLogoCliente= e.Item.FindControl("imgLogoCliente") as Image;
            imgLogoCliente.Visible = imgLogoCliente.ImageUrl != string.Empty;
        }
    }

Ho buttato giu il codice al volo, spero non ci siano errori.

Fabrizio Canevali
Aspetta... aspetta... ma usando l'oggetto Image posso sempre usare il GetThumbnailImage.aspx esterno???
posillipo ha scritto:
Aspetta... aspetta... ma usando l'oggetto Image posso sempre usare il GetThumbnailImage.aspx esterno???

Gia, ma da quel che ho capito devi semplicemente fare binding.

Fabrizio Canevali
25 messaggi dal 17 aprile 2002
Puoi utilizzare una funzione:
protected string EvalImage(string image)
{
if(!string.IsNullOrEmpty(image))
{
return image;
}
else
{
// restituisci un valore predefinito per mostrare la thumbnail vuota
}
}

e poi la utilizzi così:
<%# this.EvalImage(Eval("Campo") as string) %>

Dovrebbe funzionare
Bene:

in ogni caso questa parte di codice va inserito nel DataList1_ItemDataBound???


In ogni caso corro subito a provare!
posillipo ha scritto:
Bene:

in ogni caso questa parte di codice va inserito nel DataList1_ItemDataBound???


In ogni caso corro subito a provare!
Non se usi la funzione suggerita da cobain81.

Fabrizio Canevali
Ho fatto come mi hai detto, o almeno credo perche di C ci capisco poco. Ho tradotto così quello chemi hai suggerito:



Nel codice VB:
Function EvalImage(ByVal image As String)

If (String.IsNullOrEmpty(image)) Then
Return image

Else
Return image = "VUOTA"
End If
End Function


Nella parte INLINE:
<img border="0" src="GetThumbnailImage.aspx?FileName=../public/_archivio_img/<%# Eval("percorso")%>/<%# this.EvalImage(Eval("img") as string) %>&ScaleFactor=50" width="50" height="50">



Errore riportato:
Compilation Error
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

Compiler Error Message: BC30451: Name 'this' is not declared.

Source Error:



Line 28: <td rowspan="3" style="width: 6px">
Line 29:
Line 30: <img border="0" src="GetThumbnailImage.aspx?FileName=../public/_archivio_img/<%# Eval("percorso")%>/<%# this.EvalImage(Eval("img") as string) %>&ScaleFactor=50" width="50" height="50">
Line 31:
Line 32: </td>


AIUTOOOOO!!!

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.