3

这是我的屏幕:

在此处输入图像描述

这是我在中继器中的 ItemTemplate 的代码:

<ItemTemplate>
    <div style="float: left; overflow: hidden; display: inline-block; border-style: solid; margin: 5px; background-color: Silver">
        <div style="text-align:center">
            <asp:Label ID="lblImage" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "image") %>'></asp:Label>
        </div>
        <asp:Image runat="server" ID="image1" Width="250px" Height="250px" ImageUrl='<%# DataBinder.Eval(Container.DataItem, "url") %>' />
        <div style="text-align: center;">
            <asp:Button runat="server" ID="btnNew" Text="New" />
            <asp:Button runat="server" ID="btnOriginal" Text="Original" />
        </div>
    </div>

Repeater 在我的程序中使用数据集来填充 ItemTemplate 的标签和图像控件。我的数据集中还有另一个字段名为graphicID. 我想以某种方式将该字段中的值传递给“原始”按钮,这样如果用户按下该按钮,该特定graphicID值就会传递给点击事件。这有意义吗?

例如,第二张图片是哈洛克船长。此graphicID图像的93. 如果用户按下Captain Harlock 下的Original 按钮,我想传递93onClick事件。不过,我不确定该怎么做。如果有人能指出我正确的方向,我将不胜感激!

4

1 回答 1

4
<div style="text-align: center;">
        <asp:Button runat="server" ID="btnNew" Text="New" />
        <asp:Button runat="server" CommandName="cmd_original" CommandArgument="name of field which you want to access" ID="btnOriginal" Text="Original" />
    </div>

编辑

在中继器控制中

您必须添加一个事件,如下所示:

 onitemcommand="Repeater1_ItemCommand"

在后面的代码中

 protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
{
    if (e.CommandName == "cmd_original")
    {
        Int32 id = Convert.ToInt32(e.CommandArgument);
    }
}
于 2013-04-12T14:37:51.453 回答