0

好的,我已经在这个画廊工作了一段时间,而且我不断收到一些小花絮。现在是完成它的时候了。我有一个数据列表,它绑定到一组 *.aspx 图像 url,其中包含通过 url 发送的缩略图 id。我现在需要实现一个 onclick 事件,当用户点击一张照片时,它会将他们带到实际的图片中。

示例 url:
(thumbnail) = ~/UserPages/Photo/GetThumbnail.aspx?id=7
(actualpic) = ~/UserPages/Photo/GetPhoto.aspx?id=7

我需要什么:我如何获得它以便每张照片都有一个 onclick 事件?我尝试将 onclick 添加到 imag src 但它没有用。这很困难,因为它不是实际的图像控件,它们存在于数据列表中。我还需要知道如何在被点击时提取缩略图 url,以便我可以获取 id 并重定向到实际图片。请帮忙!

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

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

</asp:DataList>

代码背后:

dlImages.DataSource = ImageUrls;
dlImages.DataBind();
4

2 回答 2

1

你能把它包装在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>

这假设您DataItem只包含 ID。

于 2009-04-09T02:24:33.407 回答
0

尝试:

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

之后,您可以简单地实现一个 doSomething 函数,该函数从“this.src”中解析出 id 并用它做任何你想做的事情。

于 2009-04-09T02:27:40.187 回答