Domanda

Ok Ho lavorato su questa galleria per qualche tempo e continuo a ricevere piccoli bocconcini. E 'giunto il momento di finirlo. Ho un DataList che si lega ad una serie di URL di immagine * aspx che contengono un ID miniatura che viene inviato attraverso l'url. Ora ho bisogno di attuare un evento onclick, che quando un utente fa clic su una foto, che li porta a l'immagine reale.

URL di esempio:
(Miniature) = ~ / UserPages / Foto / GetThumbnail.aspx? Id = 7
(Actualpic) = ~ / UserPages / Foto / GetPhoto.aspx? Id = 7

Che cosa ho bisogno: Come faccio ad avere in modo che ogni foto ha un evento onclick? Ho provato ad aggiungere onclick alla src imag, ma non ha funzionato. È difficile perché non è un controllo immagine reale, esistono all'interno di una datalist. Ho anche bisogno di sapere come estrarre l'url miniatura quando si ricevono clic in modo che io possa afferrare l'id e reindirizzare l'immagine reale. Aiuto per favore!

<asp:DataList ID="dlImages" runat="server" 
    RepeatColumns="5" 
    RepeatDirection="Horizontal" 
    RepeatLayout="Flow">

    <ItemTemplate>
        <img src="<%# ResolveUrl((string)Container.DataItem) %>" />
    </ItemTemplate>

</asp:DataList>

Codice Dietro:

dlImages.DataSource = ImageUrls;
dlImages.DataBind();
È stato utile?

Soluzione

Si può avvolgerlo in un 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>

Questo presuppone che il DataItem contiene solo l'ID.

Altri suggerimenti

Prova:

<ItemTemplate>
    <img src="<%# ResolveUrl((string)Container.DataItem) %>" onclick="doSomething(this)" />
</ItemTemplate>

Dopo di che si può semplicemente implementare una funzione doSomething che analizza l'id di "this.src" e fare quello che vuoi con esso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top