0

我在用户控件中有一个控件图像。我正在使用中继器创建多个图像列表。

我在用户控件之外有一个按钮来删除图像(每张图像)。

我想知道,当我单击按钮删除图像时,如何引用特定行。

这是重复:

<asp:Repeater ID="ImageRepeater" runat="server" 
    onitemcommand="ImageRepeater_ItemCommand">
    <ItemTemplate>
        <div>
            <uc1:IVT_DisplayImage ID="IVT_DisplayImage1" runat="server" ImageURL="<%# Container.DataItem %>" />
            <asp:Button ID="RemoveDiplayImage" Text="Remove" runat="server" 
            CommandName="delete" 
            />
        </div>
    </ItemTemplate>
</asp:Repeater>

这是事件ItemCommand:

protected void ImageRepeater_ItemCommand(object source, RepeaterCommandEventArgs e)
{
    if (e.CommandName == "delete")
    {
        //????
    }
}

我想知道,如何通过代码识别我选择的行(用户控件)。

4

1 回答 1

1

您需要添加CommandArgument到您的按钮,如CommandArgument="<%# Container.ItemIndex %>".

这样,在代码中;e.CommandArgument为您提供项目编号,您可以使用该编号获得您想要的项目。

注意:实际上,您可以使用绑定到中继器的数据源中的任何主键(唯一标识符)而不是指定ItemIndexas ,从中您可以直接从列表对象(数据源)中获取记录。CommandArgument

于 2013-08-30T11:27:32.800 回答