Usuário com melhor resposta
Repetir linhas na página!

Pergunta
-
Boa tarde pessoal!, vejam se podem me ajudar..
Na imagem abaixo.. eu trago do banco de dados a imagem o texto.
Porém eu não sei quantas imagens e textos virão, eu preciso saber qual componente usar, para fazer um "while" desta forma eu trago os valores para o componente e ele vai repetindo imagem na esquerda e texto na frente.
Douglas Bertelli
Respostas
-
Você pode usar
<%# DataBinder.Eval(Container.DataItem, "CAMPODOCODIGO") %>
no lugar onde quer que apareça a informação
Ou através do método ItemDataBound
Bruno Viegas D. Ribeiro
Analista Desenvolvedor de Sistemas www.brunoviegas.com.br- Marcado como Resposta Douglas Bertelli sexta-feira, 19 de outubro de 2012 19:25
Todas as Respostas
-
Douglas, Boa tarde
Usa o Repeater, abaixo tem alguns exemplos
http://www.macoratti.net/aspn_rep.htm
http://www.w3schools.com/aspnet/aspnet_repeater.asp
http://www.codigofonte.net/dicas/dotnet/325_trabalhando-com-repeater-no-aspnet
Bruno Viegas D. Ribeiro
Analista Desenvolvedor de Sistemas www.brunoviegas.com.br -
-
Douglas,
Como você costuma fazer os seus seus selects no banco?
Bruno Viegas D. Ribeiro
Analista Desenvolvedor de Sistemas www.brunoviegas.com.br -
no caso deste projeto.. bem simples.. camada DAL e UI..
select titulo, conteudo, imagem from xxxxxxxx
na coluna imagem gravo o diretorio, e na webpage chama o <asp:imagem depois via codebehind coloco imagem1.imageurl = xxxxx;
Douglas Bertelli
-
Basta você passar o retorno da sua consulta no banco para o datasource do repeat
Bruno Viegas D. Ribeiro
Analista Desenvolvedor de Sistemas www.brunoviegas.com.br -
-
sim, basta utilizar o evento ItemDataBound do repeater.
mas você vai precisar usar o controle HyperLink para fazer essa navegação
neste link tem um exemplo de como usar este evento
Bruno Viegas D. Ribeiro
Analista Desenvolvedor de Sistemas www.brunoviegas.com.br -
Bruno, a estrutura da minha table está assim>:
<asp:imagem no lugar da imagem
e
<asp:Label1 para receber o texto.
Quando eu jogar o resultado da query no datasource da repeat, como eu vou fazer para jogar o resultado dentro destes componentes?
Douglas Bertelli
-
Você pode usar
<%# DataBinder.Eval(Container.DataItem, "CAMPODOCODIGO") %>
no lugar onde quer que apareça a informação
Ou através do método ItemDataBound
Bruno Viegas D. Ribeiro
Analista Desenvolvedor de Sistemas www.brunoviegas.com.br- Marcado como Resposta Douglas Bertelli sexta-feira, 19 de outubro de 2012 19:25
-
Crie primeiro o seu html, Ex.:
<asp:Repeater ID="rptClientes" runat="server"> <ItemTemplate> <asp:Image ID="lblCliente" runat="server" ImageUrl='<%# DataBinder.Eval(Container.DataItem, @"CAMPODAIMAGEM") %>'/> | <asp:Label ID="Label1" runat="server"><%# DataBinder.Eval(Container.DataItem, "CAMPOTEXTO") %></asp:Label><br> </ItemTemplate> </asp:Repeater>
no seu code behind faça
if (!IsPostBack) { rptClientes.DataSource = ListarClientes(); // Utilize o método que você usa para fazer consultas rptClientes.DataBind(); }
Bruno Viegas D. Ribeiro
Analista Desenvolvedor de Sistemas www.brunoviegas.com.br -
Opaa.. obrigado por tda a ajuda Bruno, mas tive uma idéia aqui e achei mais simples de resolver..
na webpage, criei uma DIV e um literal
<div id="bg1_namidia">
<asp:Literal ID="Lit_Ct_Table" runat="server"></asp:Literal>
</div>no code ..
//Trazendo todas as mídias
DALBannerMidia dbm = new DALBannerMidia();
List<BannerMidia> bm = dbm.GetAllBannerMida();
foreach (BannerMidia img in bm)
{//Aki dentro vai joga outra div igual a outra que criamos e vai desenhando pelo css, trazendo o conteúdo aí..
Lit_Ct_Table.Text += "<div class='NaMidia'>";
Lit_Ct_Table.Text += "<img src='" + img.Imagemmidia + "' />";
Lit_Ct_Table.Text += "<p>" + img.Conteudo + "</p>";
Lit_Ct_Table.Text += "</div>";
}
//##SHow de bola né, achei mais prático que o repeat =)
Douglas Bertelli