ASP.net 自定义控件动态添加

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mayong1234567/article/details/81911626

前言

大家都知道,自定义控件会大大提高我们的速度,当我们设计了一个自定义控件后,我们想要成堆的显示出来,比如这样
这里写图片描述

每一个小动物都是一个控件,,这样就需要动态显示我们的自定义控件.
那么如何进行代码操作呢?

先給一段 测试代码,和测试结果

      private int rowNum = 3;
        private int i = 0;
        protected void Page_Load(object sender, EventArgs e)
        {
            TableRow tr = new TableRow();//table中的一行
            for (i = 1; i < 5; i++)
            {
                TableCell tc = new TableCell();                     //采用loadControl, 而不是new,,因为不是一个类.
                WebUserControl1 hpc = (WebUserControl1)LoadControl("WebUserControl1.ascx");
                ((Label)hpc.FindControl("Label1")).Text = i.ToString ();   // 同时可以对 自定义控件中的元素进行赋值等.
                tc.Controls.Add(hpc);    
                tr.Controls.Add(tc);
                if (i% rowNum ==0)
                {
                    Table1.Controls.Add(tr);
                    tr = new TableRow();
                }
            }
            if (i%rowNum !=0)                 //对最后一行 进行显示.
            {
                Table1.Controls.Add(tr);
            }      
        }
    }

测试结果:
这里写图片描述

注意,,
1要设定自定义控件的长宽高,也就是 height 和weidth, 这样如果添加控件,就会原样添加, 否则,就会和我一样,出现变形,但是功能是实现了!
2 自定一控件,,不能用new ,原因 : 它是控件,不是类,,所以要用loadControl

猜你喜欢

转载自blog.csdn.net/mayong1234567/article/details/81911626
今日推荐