用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) { //..以此类推 }
四层、五层,以此类推。