我在用户控件中有一个控制图像。我正在使用转发器来创建多个图像列表。
我在用户控件外面有一个按钮,用于删除图像(每个图像)。
我想知道,当我点击按钮删除图片时,如何引用特定行。
这是重复:
<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")
{
//????
}
}
我想知道,如何通过代码识别我正在选择的行(用户控件)。
答案 0 :(得分:1)
您需要将CommandArgument
添加到按钮,例如CommandArgument="<%# Container.ItemIndex %>"
。
这样,在代码中; e.CommandArgument
为您提供商品编号,您可以使用该编号获取所需的商品。
注意:实际上,您可以使用绑定到转发器的DataSource中的任何主键(唯一标识符),而不是将ItemIndex
指定为CommandArgument
。您将能够直接从列表对象(DataSource)获取记录。