日期:2014-05-18  浏览次数:20405 次

[进来]一个按钮创建另外一个按钮,这个按钮的事件不激发..
原因如题:
这些写的.
private   void   Button1_Click(object   sender,   System.EventArgs   e)
{
LinkButton   lk=new   LinkButton();
lk.ID= "btnID ";
lk.Text= "测试 ";
lk.Click+=new   EventHandler(lk_Click);
this.Panel1.Controls.Add(lk);
}

public   void   lk_Click(object   sender,   EventArgs   e)
{
Response.Write( "successful. "+i++);
}
我通过点击Button1创建一个.LinkButton后,这个LinkButton没有激发事件,点击后LinkButton就消失..


------解决方案--------------------
当然,因为你是动态创建的,页面回传后,就没有了,一般这种情况是在每次Page_Load中都初始化就行了。
------解决方案--------------------
Page_Load(..)
{
if(ViewState[ "Added "] != null)
{
CreatLinkButton();
}
}
void CreatLinkButton()
{
LinkButton lk=new LinkButton();
lk.ID= "btnID ";
lk.Text= "测试 ";
lk.Click+=new EventHandler(lk_Click);
this.Panel1.Controls.Add(lk);
}
private void Button1_Click(object sender, System.EventArgs e)
{
CreatLinkButton();
ViewState[ "Added "]=1;
}
------解决方案--------------------
控件隐藏或层替代动态创建不好么