如何获得在asp.net中继器控制项目单击事件? [英] How to get item click event in asp.net repeater control?
问题描述
我使用的是Repeater控件来显示我的网页上的一些数据。
I am using a repeater control to show some data on my page.
转发器项目模板具有一个图像和一个标签字段。
The repeater item template has an image and a label field.
我想,当我点击的形象,我得到包含我的数据项的ID字段的事件。
I want that when i click the image , I get an event containing the id field of my data item.
我怎样才能做到这一点?
How can I achieve this ?
其实,当我点击我要到另一个页面,并想表明我的数据项的详细信息,图像,直放站I M只是显示的短信息。
Actually when I click the image i want to go to another page and want to show detailed information of my data item, in repeater i m just showing short information.
我的中继器看起来是这样的:
My repeater looks like this:
<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
事件当我点击的形象。
我的照片类看起来是这样的:
My photo class looks like this:
public class PhotoDC
{
public byte[] ImagebyteArray { get; set; }
public string Name { get; set; }
public int PhotoID { get; set; }
}
我一直在做的winform编程刚刚起步的网络,也许是容易的,但我为努力找到一个解决方案。
I have been doing winform programming just started web, maybe it is easy but i m struggling to find a solution.
我总算显示手形光标时,我的形象,虽然徘徊。
I somehow managed to show hand cursor when i hover the image though.
推荐答案
试试这个:
<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
}
}
这篇关于如何获得在asp.net中继器控制项目单击事件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!