注意看,在嵌套中的 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);
// 调用一个自定义函数(删除项),传入参数
}