(使用 VB.NET 但如果可以在 c# 中找到解决方案,那么我也可以在 VB.NET 中进行转换)
我有包含多个图像的数据列表和包含图像名称的标签。
我想在单击特定图像时获取标签的文本(即图像名称)。
我的数据列表:
<asp:DataList ID="dlImages" runat="server" RepeatColumns="4">
<ItemTemplate>
<asp:ImageButton ID="ImageButton1" Height="200px" Width="200px" runat="server" CommandName="imgClick" ImageUrl='<%# Eval("PageName") %>' />
<asp:Label ID="lblImageName" runat ="server" Text='<%# Eval("PageName") %>'></asp:Label>
</ItemTemplate>
</asp:DataList>
用于绑定数据源的 .cs 代码:
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
为了获取数据列表中标签文本的值,单击数据列表中的图像后,我尝试了以下操作:
Protected Sub dlImages_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) Handles dlImages.ItemCommand
If e.CommandName = "imgClick" Then
imgURL = TryCast(e.Item.FindControl("lblImageName"), Label).Text
'((Label)e.Item.FindControl("lblImgName")).Text;'
'Response.Redirect("dailydealsdetail.aspx?imgurl=" + imgURL);
End If
End Sub
不幸的是,这个事件没有被触发,我没有在点击数据源中的 imagebutton 时得到图像的名称。
请帮我。