Repeater控件三层嵌套-内层Repeater添加绑定事件

时间:2022-08-03 19:39:25

用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)
        {
            //..以此类推
        }


四层、五层,以此类推。