删除中继器中的用户控件

本文关键字:用户 控件 中继器 删除 | 更新日期: 2023-09-27 18:29:47

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

我有一个按钮从用户控件外部删除图像(每个图像)。

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

这是重复:

<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")
    {
        //????
    }
}

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

删除中继器中的用户控件

您需要像CommandArgument="<%# Container.ItemIndex %>"一样将CommandArgument添加到按钮中。

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

注意:事实上,您可以使用绑定到转发器的DataSource中的任何主键(唯一标识符),而不是将ItemIndex指定为CommandArgument,从中您可以直接从列表对象(DataSource)获取记录。