删除转发器中的用户控件

时间:2013-08-30 10:05:00

标签: c# asp.net user-controls repeater

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

我在用户控件外面有一个按钮,用于删除图像(每个图像)。

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

这是重复:

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

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

1 个答案:

答案 0 :(得分:1)

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

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

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