【问题标题】:Asp.Net Image in datalist onclick event? is it possible?数据列表 onclick 事件中的 Asp.Net 图像?可能吗?
【发布时间】:2009-04-09 02:18:42
【问题描述】:

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

示例网址:
(缩略图)= ~/UserPages/Photo/GetThumbnail.aspx?id=7
(实际图片) = ~/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();

【问题讨论】:

    标签: asp.net image onclick extract datalist


    【解决方案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。

    【讨论】:

    • 哇...我永远也想不通。谢谢!我不知道没有这个网站我会做什么。再次感谢您!
    【解决方案2】:

    试试:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-26
      • 2015-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-25
      相关资源
      最近更新 更多