注意看,在嵌套中的 Repeater 代码中指定一个 Rp2_ItemCommand 事件。
这个事件其实是一个函数,在后置代码中自定义的,当然可以更改的!这样就很方便的实现了嵌套中的 Repeater 事件触发
<asp:Repeater ID="Repeater1" runat="server"
onitemdatabound="Repeater1_ItemDataBound"
onitemcommand="Repeater1_ItemCommand">
<ItemTemplate>
<asp:Repeater ID="Repeater2" runat="server" OnItemCommand="Rp2_ItemCommand">
<ItemTemplate>
<asp:LinkButton ID="Del2" CommandName="Del"
CommandArgument='<%# DataBinder.Eval(Container.DataItem,"ID") %>' runat="server" Text="删除"></asp:LinkButton>
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:Repeater>
onitemdatabound="Repeater1_ItemDataBound"
onitemcommand="Repeater1_ItemCommand">
<ItemTemplate>
<asp:Repeater ID="Repeater2" runat="server" OnItemCommand="Rp2_ItemCommand">
<ItemTemplate>
<asp:LinkButton ID="Del2" CommandName="Del"
CommandArgument='<%# DataBinder.Eval(Container.DataItem,"ID") %>' runat="server" Text="删除"></asp:LinkButton>
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:Repeater>
这是在后置代码中的函数定义
protected void Rp2_ItemCommand(object source, RepeaterCommandEventArgs e)
{
string id = e.CommandArgument.ToString();
Response.Write(id);
//调用一个自定义函数(删除项),传入参数
}
{
string id = e.CommandArgument.ToString();
Response.Write(id);
//调用一个自定义函数(删除项),传入参数
}