用Repeater三层嵌套,最外层Repeater可以生成自己的ItemCommand事件。但接下来中间层因为是嵌套了的,所以无法在属性窗口中生成自己的事件。如果手动敲入则无效。
解决办法是需要通过编码的方式来添加事件。
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
//假设在第一层里面嵌套了一个名叫Repeater2 的
var temp = e.Item.FindControl("Repeater2") as Repeater;
temp.ItemDataBound += new RepeaterItemEventHandler(temp_ItemDataBound);
} void temp_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
//假设在第二层里面嵌套了一个名叫Repeater3的
var temp = e.Item.FindControl("Repeater3") as Repeater;
temp.ItemDataBound += new RepeaterItemEventHandler(temp_ItemDataBound1);
} void temp_ItemDataBound1(object sender, RepeaterItemEventArgs e)
{
//..以此类推
}
四层、五层,以此类推。