不要这样动态添加control
用new Button(),然后this.Controls.Add()来将这个button加到page中
thisButton.Click += new System.EventHandler(this.button_Click);
这样就可以个他添加事件
然后在button_Click(object sender,System.EventArgs e)
中,根据他的sender的ID来判断是点了那个button
用new Button(),然后this.Controls.Add()来将这个button加到page中
thisButton.Click += new System.EventHandler(this.button_Click);
这样就可以个他添加事件
然后在button_Click(object sender,System.EventArgs e)
中,根据他的sender的ID来判断是点了那个button
a.ID=i.ToString().Trim();
a.Text=i.ToString().Trim();
DIV1.Controls.Add(a);做了这些后事件的添加还不太明白,希望 jupiterII() 兄能说详细一点
thisButton.Click += new System.EventHandler(this.button_Click);
上面这句我应该怎么来写呢?我对事件的原理还不是太明白,看上面你的意思是这几个button共用一个事件函数,然后通过sender来区分不同的button,是这样吗?
button_Click(object sender,System.EventArgs e)
{
Button a = (Button)sender;
if(a.ID = ....)
...
}
while(m_fkrq<m_now)
{
Button a=new Button();
a.Click+=new System.EventHandler(this.button_Click);
a.ID=i.ToString().Trim();
a.Text=i.ToString().Trim();
DIV1.Controls.Add(a);
m_fkrq=m_fkrq.AddYears(1);
i++;
}private void button_Click(object sender,System.EventArgs e)
{
Button a=(Button)sender;
TextBox3.Text=a.ID.ToString();
if(a.ID=="1")
TextBox3.Text="1";
}
还有为什么事件没有响应呢?
先是Page_Load () ,然后才是你createbutton代码,如果你在page_load()后没有CreateButton的话,那么找不到你写的事件了。所以你需要在page_load 的时候重新创建一次
或者使用
if(!IsPostBack){
// Create Button code here
}