我正在使用转发器控件在我的页面上显示一些数据.
转发器项模板具有图像和标签字段.
我希望当我点击图像时,我得到一个包含我的数据项的id字段的事件.
我怎样才能做到这一点?
实际上当我点击图像我想要转到另一个页面并希望显示我的数据项的详细信息时,在转发器中我只是显示简短的信息.
我的转发器看起来像这样:
<asp:Repeater ID="itemRepeater" runat="server" OnItemCreated="itemRepeater_ItemCreated" > <ItemTemplate> <tr> <td colspan="2"> <asp:Image ID="phImage" runat="server" ImageUrl='<%#"~/ImageHandler.ashx?id=" + DataBinder.Eval(Container.DataItem,"PhotoID")%>' /> </td> <td> <asp:Label ID="lblImageName" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"Name") %>' /> </td> </tr> </ItemTemplate> </asp:Repeater>
我想在单击图像时获取PhotoID.
我的照片类看起来像这样:
public class PhotoDC { public byte[] ImagebyteArray { get; set; } public string Name { get; set; } public int PhotoID { get; set; } }
我一直在做刚刚启动web的winform编程,也许这很容易,但我很难找到解决方案.
我以某种方式设法在我悬停图像时显示手形光标.
解决方法
试试这个:
<asp:Repeater ID="itemRepeater" runat="server" OnItemCreated="itemRepeater_ItemCreated" > <ItemTemplate> <tr> <td colspan="2"> <asp:ImageButton ID="phImage" runat="server" ImageUrl='<%#"~/ImageHandler.ashx?id=" + DataBinder.Eval(Container.DataItem,"PhotoID")%>' OnCommand="Image_Click" CommandName="ImageClick" CommandArgument='<%# Eval("PhotoID") %>' /> </td> <td> <asp:Label ID="lblImageName" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"Name") %>' /> </td> </tr> </ItemTemplate> </asp:Repeater> protected void Image_Click(object sender,CommandEventArgs e) { if (e.CommandName == "ImageClick"){ //e.CommandArgument --> photoid value //Do something } }