Inquiridor
ListView Binding Image and title

Pergunta
-
Ola pessoal quer ter o que a seguinte imagem ilustra:
Mas não estou conseguindo apontar no codebehind que a imagem é para um sitio e o titulo para o outro.
O que tenho é o seguinte no html:
<asp:ListView runat="server" ID="ImageListView" ItemPlaceholderID="itemPlaceHolder" GroupPlaceholderID="groupPlaceHolder" > <%--OnItemCommand="ImageListView_ItemCommand"--%> <LayoutTemplate> <h1> <asp:Label Text="" runat="server" ID="titleLabel" /> <%-- OnLoad="titleLabel_Load"--%> </h1> <div runat="server" id="groupPlaceHolder"> </div> </LayoutTemplate> <GroupTemplate> <span> <div id="itemPlaceHolder" runat="server"></div> </span> </GroupTemplate> <ItemTemplate> <asp:ImageButton ID="itemImageButton" CssClass="avatarUBox" runat="server" CommandArgument="<%# Container.DataItem %>" ImageUrl="<%# Container.DataItem %>"/> <asp:Label ID="label" runat="server" Text="898" /> </ItemTemplate> <EmptyItemTemplate> <td /> </EmptyItemTemplate> <EmptyDataTemplate> <h3>No images available</h3> </EmptyDataTemplate> </asp:ListView>
e no CodeBehind tenho o seguinte:
List<Pessoas> pessoasList = GetAvatar(id); List<Pessoas> outInfo = new List<Pessoas>(); Pessoas favorite = new Pessoas(); foreach (Pessoas url in pessoasList ) { if (url.AvatarURL != null) { imagepath = url.AvatarURL; } else { imagepath = "UserAvatar.png"; } favorite.Name = url.Name; favorite.AvatarURL = imagepath; outInfo.Add(favorite); } ImageListView.DataSource = outInfo; ImageListView.DataBind();
Com isto não estou conseguindo obter o pretendido, alguem me consegue ajudar nisso ai?
Obrigado
Todas as Respostas
-
Cara seu código aspnet esta bem confuso por que vc não utiliza um repeat para fazer isso e tente utilizar sua estrutura html com divs e não tables pois isso dificulta bastante a utilização de componentes do asp.net.
Nome : Romy G. Moura Cargo: Analista Programador
-
Já consegui colocar todos os dados que queria, só não fica é nada alinhado. A solução que encontrei foi :
<LayoutTemplate> <div runat="server" id="groupPlaceHolder"> </div> </LayoutTemplate> <GroupTemplate> <span> <div id="itemPlaceHolder" runat="server"></div> </span> </GroupTemplate> <ItemTemplate> <asp:ImageButton ID="itemImageButton" CssClass="avatarUBox" runat="server" ImageUrl='<%#Eval("url") %>'/> <asp:Label ID="label" runat="server" CssClass="avatarUBox" Text='<%#Eval("name") %>' /> </ItemTemplate> <EmptyItemTemplate> <td /> </EmptyItemTemplate> <EmptyDataTemplate> <h3>No images available</h3> </EmptyDataTemplate> </asp:ListView>
Meu problema agora é que o texto não fica alinhado com a imagem. Como assim divs?