关于控件数组触发事件?
public void getgroup(int count)
{
lik=new LinkButton[count];
for(int i=0;i <count;i++)
{
lik[i]=new LinkButton();
lik[i].Text=i.ToString()+ "-- ";
lik[i].Click+=new System.EventHandler(this.lik_Click);
this.Panel1.Controls.Add(lik[i]);
}
}
private void lik_Click(object sender, System.EventArgs e)
{
Response.Write(((LinkButton)sender).Text + " was clicked ! "); //通过sender判断激发事件的控件
}
private void Button1_Click(object sender, System.EventArgs e)
{
int num=(int)Session[ "num "];
getgroup(num);
}
为什么我样触发不到事件 要如何设置呢? 谢谢
[解决办法]
在每次page_load的时候,必须创建这些linkbutton
必须先创建服务器控件,它的事件才会执行
[解决办法]
不想在pageload创建就要自己写自定义控件
[解决办法]
getgroup的postback时有没有调用?
[解决办法]
1.把初始化代码的放在page_load里,不管IsPostBack真假都要执行初始化代码。
2.如果lik_Click函数放在.cs文件里,要改成protected,不要用private
[解决办法]
每次都要初始化这些控件,要不然点击postback回来,这些控件没有创建,就不会执行事件处理函数