Usuário com melhor resposta
Listando Produtos com fotos

Pergunta
-
Olá galera,
Estou fazendo meu primeiro projeto com visual studio .net e c#. Queria saber se alguem sabe como fazer uma page que liste os produtos com fotos, estilo essas que lista os produtos (foto, detalhes e um link para mais informações). Exemplo: http://www.humortadela.com/megalojinha/index.php?cPath=10&osCsid=46762a1269ed649d00ffe8e3f2e88467
Minha duvida é: Qual componente usar? Gridview? Sei que o Gridview posso por uma coluna com a foto e outra com os dados, mais como adicionar 3 produtos por linha em 5 linhas.
Alguém pode me ajudar?
Att,
Thiago Padilha
Respostas
-
Olá Thiago,
Como falei pra você na sua outra thread, eu trabalhei a pouco tempo atrás com fotos.
No caso, creio que você esteja pegando fotos do banco (conforme você disse na outra thread).
Não pude ver como é o esse link do humortadela no momento, mas creio que posso te dar alguma sugestão:
vai ae +- o código:
eu criei um Panel (pnlFoto) que vai ser onde vai ficar minhas fotos. Ae no meu método eu faço:
Table tblGaleria = new Table();
TableRow tblRowGaleria1 = new TableRow();
TableCell tblCellGaleria1 = new TableCell();
HyperLink hlkFoto;
Label lblDescFoto;
dentro de um foreach (no caso, para cada foto que voce tiver):
{
hlkFoto = new HyperLink();
lblDescFoto = new Label();
hlkFoto.ImageUrl="uma página" + "?cod=" + codigo da foto;
hlkFoto.Attributes.Add("onclick", "uma página para acessar no click da foto"); // no meu caso eu uso em javascript para mostra-la no tamanho normal.
lblDescFoto.Text = "descricao da foto";
tblCellGaleria1.Controls.Add(hlkFoto); //adiciona o hyperlink na tableCell
tblCellGaleria1.Controls.Add(lblFoto); //adiciona o label na tableCell
tblRowGaleria1.Cells.Add(tblCellGaleria1);
//Também deve-se criar um dataset para armazenar pelo menos o ID da foto e ela em byte[];
}
e jogar este dataset numa session
Depois de adicionar várias linhas com as fotos, você insere ela na Table:
tblGaleria.Rows.Add(tblRowGaleria1);
e depois insere a table no Panel
pnlFoto.Controls.Add(tblGaleria);
na página onde você colocou o hyperlink como imageUrl, deve-se pegar o código da foto no querystring e fazer um foreach achar a foto.
no meu caso, eu faço aquele método para me retornar um byte de thumbnail que eu te mandei na outra thread, e depois eu coloco um:
Response.ContentType = "image.Jpge";
Response.BinaryWrite = <o byte[] que contem sua foto>
Qualquer duvida thiago, manda que eu tento te ajuda.
Atenciosamente,
Pedro
Todas as Respostas
-
Olá Thiago,
Como falei pra você na sua outra thread, eu trabalhei a pouco tempo atrás com fotos.
No caso, creio que você esteja pegando fotos do banco (conforme você disse na outra thread).
Não pude ver como é o esse link do humortadela no momento, mas creio que posso te dar alguma sugestão:
vai ae +- o código:
eu criei um Panel (pnlFoto) que vai ser onde vai ficar minhas fotos. Ae no meu método eu faço:
Table tblGaleria = new Table();
TableRow tblRowGaleria1 = new TableRow();
TableCell tblCellGaleria1 = new TableCell();
HyperLink hlkFoto;
Label lblDescFoto;
dentro de um foreach (no caso, para cada foto que voce tiver):
{
hlkFoto = new HyperLink();
lblDescFoto = new Label();
hlkFoto.ImageUrl="uma página" + "?cod=" + codigo da foto;
hlkFoto.Attributes.Add("onclick", "uma página para acessar no click da foto"); // no meu caso eu uso em javascript para mostra-la no tamanho normal.
lblDescFoto.Text = "descricao da foto";
tblCellGaleria1.Controls.Add(hlkFoto); //adiciona o hyperlink na tableCell
tblCellGaleria1.Controls.Add(lblFoto); //adiciona o label na tableCell
tblRowGaleria1.Cells.Add(tblCellGaleria1);
//Também deve-se criar um dataset para armazenar pelo menos o ID da foto e ela em byte[];
}
e jogar este dataset numa session
Depois de adicionar várias linhas com as fotos, você insere ela na Table:
tblGaleria.Rows.Add(tblRowGaleria1);
e depois insere a table no Panel
pnlFoto.Controls.Add(tblGaleria);
na página onde você colocou o hyperlink como imageUrl, deve-se pegar o código da foto no querystring e fazer um foreach achar a foto.
no meu caso, eu faço aquele método para me retornar um byte de thumbnail que eu te mandei na outra thread, e depois eu coloco um:
Response.ContentType = "image.Jpge";
Response.BinaryWrite = <o byte[] que contem sua foto>
Qualquer duvida thiago, manda que eu tento te ajuda.
Atenciosamente,
Pedro
-