Asp.Net Imagem em datalist evento onclick? é possível?
Pergunta
Ok eu tenho vindo a trabalhar sobre esta galeria por algum tempo e eu continuo recebendo pequenos petiscos. É agora tempo para terminá-lo fora. Eu tenho um datalist que se liga a uma série de urls * .aspx imagem que contêm um ID de miniatura que é enviado através da url. Agora eu preciso para implementar um evento onclick, que, quando um usuário clica em uma foto, ele os leva para a imagem real.
exemplo url:
(Miniatura) = ~ / userpages / Foto / GetThumbnail.aspx? Id = 7
(Actualpic) = ~ / userpages / Foto / GetPhoto.aspx? Id = 7
O que eu preciso: Como faço para obtê-lo de modo que cada foto tem um evento onclick? Eu tentei adicionar onclick para o src imag mas não funcionou. É difícil, porque não é um controle de imagem real, eles existem dentro de um datalist. Eu também preciso saber como extrair a miniatura url quando se clicado para que eu possa agarrar o id e redirecionamento para a imagem real. Ajuda por favor!
<asp:DataList ID="dlImages" runat="server"
RepeatColumns="5"
RepeatDirection="Horizontal"
RepeatLayout="Flow">
<ItemTemplate>
<img src="<%# ResolveUrl((string)Container.DataItem) %>" />
</ItemTemplate>
</asp:DataList>
Code Behind:
dlImages.DataSource = ImageUrls;
dlImages.DataBind();
Solução
Você pode envolvê-lo em uma tag a
?
<ItemTemplate>
<a href="<%# ResolveUrl(String.Format("~/UserPages/Photo/GetPhoto.aspx?id={0}", Container.DataItem)) %>"><img src="<%# ResolveUrl(String.Format("~/UserPages/Photo/GetThumbnail.aspx?id={0}", Container.DataItem)) %>" /></a>
</ItemTemplate>
Este assume o seu DataItem
contém apenas o ID.
Outras dicas
Tente:
<ItemTemplate>
<img src="<%# ResolveUrl((string)Container.DataItem) %>" onclick="doSomething(this)" />
</ItemTemplate>
Depois que você pode simplesmente implementar uma função doSomething que analisa o ID de fora do "this.src" e fazer o que quiser com ele.