2009-04-28 7 views
0

J'utilise un contrôle ListView pour afficher des images avec une description et une légende. J'avais l'habitude d'enregistrer le chemin complet de l'image dans le champ url, donc quand je les affiche dans le ListView je n'ai pas besoin d'éditer quoi que ce soit. Maintenant, je me sers quelque chose comme:Affichage liste Affichage des images

HttpContext.Current.Server.MapPath("~/photos/") + savedURL 

Comment puis-je modifier mon ListView pour le faire montrer les images?

que je faisais la même chose pour GridView quand en cas GridViews RowDataBound je manipuler le contenu comme:

Dim photo As New Image 
     photo.ImageUrl = "~/photos/" + e.Row.Cells(TheCellNumber).Text 
     e.Row.Cells(0).Controls.Clear() 
     e.Row.Cells(0).Controls.Add(photo) 

Répondre

1

Pourquoi ne pas vous suffit d'utiliser le contrôle de l'image dans ItemTemplate:

<asp:ListView ID="ListView1" runat="server" DataKeyNames="pictureId"> 
    <ItemTemplate> 
     <asp:Image 
     id="pictureControlID" runat="server" AlternateText='<% #Eval("pictureName") %>' 
     ImageUrl='<%# "~/photos/" + Eval("picturePath") %>' /> 
    </ItemTemplate> 
</asp:ListView> 
0

Avez-vous essayé

ResolveUrl("~/photos/") + savedURL; 
+0

Essayez où? Je n'ai pas édité la vue de liste, je demande comment l'éditer pour le faire fonctionner avec HttpContext.Current.Server.MapPath ("~/photos /") + savedURL ou le code que vous avez suggéré, où dois-je éditer? – Maen

+0

Pouvez-vous poster le code pour votre listview (ou tout ce que vous faites actuellement) afin que nous puissions voir où vous allez mal –

0

Avez-vous envisagé d'utiliser un répéteur et la mise juste la modèle de répéteur à afficher exactement comme vous avez besoin? Y a-t-il une raison spécifique pour laquelle vous vouliez utiliser un ListView sur un répéteur?