前言
大家都知道,自定义控件会大大提高我们的速度,当我们设计了一个自定义控件后,我们想要成堆的显示出来,比如这样
每一个小动物都是一个控件,,这样就需要动态显示我们的自定义控件.
那么如何进行代码操作呢?
先給一段 测试代码,和测试结果
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