2009-04-09 5 views
1

Der folgende Code funktioniert perfekt zum Binden von tatsächlichen URLs aus dem Netz. Mein Problem ist, dass es nicht für * .aspx-URLs funktioniert, die ein Bild generieren. Wenn ich auf die * .aspx-Seite "~/UserPages/Photo/GetThumbnail.aspx? Id = 7" gehe, erscheint ein Bild gut. Es funktioniert jedoch nicht für den Datenverteiler. Irgendwelche Ideen, warum und wie ich dieses Problem lösen kann. Vielen Dank! Das String-Array 'imageurls' besteht aus vielen * .aspx-Bild-URLs.Asp.Net DataList Bind Array von * .aspx ImageUrls

<asp:DataList ID="dlImages" runat="server" 
    RepeatColumns="5" 
    RepeatDirection="Horizontal" 
    RepeatLayout="Flow"> 

    <ItemTemplate> 
     <img src="<%# (string)Container.DataItem %>" /> 
    </ItemTemplate> 

</asp:DataList> 

-Code hinter

protected void BindImages(string[] imageurls) 
{ 
    dlImages.DataSource = imageurls; 
    dlImages.DataBind(); 
} 

Antwort

5

Versuchen

<%# ResolveUrl((string)Container.DataItem) %>

+0

erstaunlich, dass es tat! Vielen Dank! Was macht das? – user84786

+0

Es löst eine URL-Zeichenfolge in eine tatsächliche URL innerhalb Ihrer Webanwendung auf. Da Ihr Pfad mit ~ beginnt, wollten Sie offensichtlich den ApplicationPath, ResolveUrl macht genau das. – SirDemon

+0

Großartig Danke! – user84786