【问题标题】:getting image src on click on image in data list单击数据列表中的图像获取图像src
【发布时间】:2023-03-10 17:35:01
【问题描述】:

我有 datalist 包含图片。

我通过从数据库中获取图像名称将这些图像绑定到datalist

我只想获取用户点击数据列表的src [图像路径]。

我的数据列表如下:

    <asp:DataList ID="dlImages" runat="server" RepeatColumns="4">
        <ItemTemplate>
           <asp:ImageButton ID="ImageButton1" Height="200px" Width="200px"  runat="server" />
        </ItemTemplate>
    </asp:DataList>

我已经将它限定如下:

   Protected Sub dlImages_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListItemEventArgs) Handles dlImages.ItemDataBound
            If e.Item.ItemType = ListItemType.AlternatingItem Or e.Item.ItemType = ListItemType.EditItem Then
                CType(e.Item.FindControl("ImageButton1"), ImageButton).ImageUrl = "~/ScreenMasterImages/" & e.Item.DataItem("PageName") & ".jpg"
            End If
        End Sub

请帮我获取用户点击数据源的特定图像的 src。

【问题讨论】:

    标签: asp.net .net vb.net visual-studio-2008


    【解决方案1】:

    我愿意这样做:

    Protected Sub ImageButton1_Click(sender As Object, e As ImageClickEventArgs)
        Dim btn As ImageButton = sender
        Dim selImage As String = btn.ImageUrl.ToString
        MsgBox(btn.ImageUrl.ToString)
        'Shorter:
        Dim selImage As String = sender.ImageUrl.ToString
    End Sub
    

    完整的测试代码:

    Public Class WebForm1
    Inherits System.Web.UI.Page
    
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not Page.IsPostBack Then
            Dim ditems As New List(Of di)
            For i As Integer = 0 To 10
                Dim dii As New di
                dii.d_Name = "x" & i
                ditems.Add(dii)
            Next
            dlImages.DataSource = ditems
            dlImages.DataBind()
        End If
    End Sub
    
    Protected Sub dlImages_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListItemEventArgs) Handles dlImages.ItemDataBound
        If e.Item.ItemType = ListItemType.AlternatingItem Or e.Item.ItemType = ListItemType.EditItem Then
            CType(e.Item.FindControl("ImageButton1"), ImageButton).ImageUrl = "~/ScreenMasterImages/" & DirectCast(e.Item.DataItem, di).d_Name & ".jpg"
        End If
    End Sub
    
    
    Protected Sub ImageButton1_Click(sender As Object, e As ImageClickEventArgs)
        Dim btn As ImageButton = sender
        Dim selImage As String = btn.ImageUrl.ToString
        MsgBox(btn.ImageUrl.ToString)
    End Sub
    

    结束类

    Public Class di
    
    Public Property d_Name() As String
        Get
            Return m_d_Name
        End Get
        Set(value As String)
            m_d_Name = value
        End Set
    End Property
    Private m_d_Name As String
    

    结束类

    还有asp:

    <asp:DataList ID="dlImages" runat="server" DataKeyField="d_Name" DataMember="d_Name"  RepeatColumns="4">
        <ItemTemplate>
           <asp:ImageButton ID="ImageButton1" OnClick="ImageButton1_Click" Height="200px" Width="200px"  runat="server" />
        </ItemTemplate>
    </asp:DataList>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-30
      • 1970-01-01
      • 1970-01-01
      • 2021-07-14
      • 2013-11-25
      • 2014-06-14
      • 2019-03-03
      相关资源
      最近更新 更多