下面看一个动态创建控件的例子
这个代码要放在protected void Page_Load(object sender, EventArgs e)中
这是因为不管是第一次打开或者回传时都必须创建同样的控件
for
(
int
i
=
ii; i
<=
10
+
ii; i
++
)
{ // 动态创建控件
LinkButton lbtn = new LinkButton();
lbtn.ID = " lbtnPageIndex " + i;
lbtn.Text = i + "" ;
lbtn.CommandName = i + "" ;
phPage.Controls.Add(lbtn);
phPage.Controls.Add( new LiteralControl( " " ));
lbtn.Command += new CommandEventHandler(lbtFirst_Command);
}
{ // 动态创建控件
LinkButton lbtn = new LinkButton();
lbtn.ID = " lbtnPageIndex " + i;
lbtn.Text = i + "" ;
lbtn.CommandName = i + "" ;
phPage.Controls.Add(lbtn);
phPage.Controls.Add( new LiteralControl( " " ));
lbtn.Command += new CommandEventHandler(lbtFirst_Command);
}
protected
void
Page_Load(
object
sender, EventArgs e)
{
}
{
}
protected
void
lbtFirst_Command(
object
sender, CommandEventArgs e)
{ // 响应代码
}
{ // 响应代码
}
创建的控件在哪里显示呢?可以用PlaceHolder控件装着他们,这样PlaceHolder放在哪里,创建的控件也就在那里了!
phPage.Controls.Add(lbtn);
//
放入到PlaceHolder中
phPage.Controls.Add( new LiteralControl( " " )); // 中间放一个空格
phPage.Controls.Add( new LiteralControl( " " )); // 中间放一个空格
要响应方法,必须要先注册哦!
lbtn.Command
+=
new
CommandEventHandler(lbtFirst_Command);
还有一个如何得到动态创建控件的值呢?用FindControl方法吧!
((LinkButton)Page.FindControl("lbtnPageIndex5")).Text
http://blog.csdn.net/ycyangcai/archive/2007/08/06/1728424.aspx