如何获得在asp.net中继器控制项目单击事件? [英] How to get item click event in asp.net repeater control?

查看:119
本文介绍了如何获得在asp.net中继器控制项目单击事件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用的是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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆