我这个BUTTON是动态实例出来的,设置了ID和TEXT之后,我想设置它的事件,但是不起作用,特向各位牛人请教。
由于我初学,献上所有分了。我现在是这样写的。 protected void Page_Load(object sender, EventArgs e)
{
Button btn = new Button();
btn.ID = "22009-9-21 21:10:38";
btn.Text = "第一个周期";
btn.Click += new EventHandler(Button1_Click);
btn.Click += new EventHandler(btn_Click);
Panel1.Controls.Add(btn);
} void btn_Click(object sender, EventArgs e)
{
Button btns = (Button)sender;
string xx = btns.ID;
string bb = btns.Text;
}
由于我初学,献上所有分了。我现在是这样写的。 protected void Page_Load(object sender, EventArgs e)
{
Button btn = new Button();
btn.ID = "22009-9-21 21:10:38";
btn.Text = "第一个周期";
btn.Click += new EventHandler(Button1_Click);
btn.Click += new EventHandler(btn_Click);
Panel1.Controls.Add(btn);
} void btn_Click(object sender, EventArgs e)
{
Button btns = (Button)sender;
string xx = btns.ID;
string bb = btns.Text;
}
解决方案 »
- 菜鸟第一次发帖,希望各位老哥来答下我啦!!希望能在这里得到帮助的新手
- 求一段可以对整体页面进行无刷新功能的代码就像C#.net2005中的“总控中心”那样儿
- 请问一些控件的AccessKey到底有什么用?
- DataGrid疑难杂症:在页导航那一行中加入控件并精确控制显示位置。
- asp.net版本問題!
- asp.net页面里怎么加入飘浮广告?
- 在asp.net中怎样创建动态的导航菜单
- 作好的程序,其中使用了水晶报表,然后在其他机器上发布,出现错误,怎么回事?
- 怎么把写好的asp程序转换成为aspx程序
- ----------------DATALIST控件的问题.大家都来看看.------------------
- thickbox in dropdownlist in ContentPage 问题
- 三层中的model
btn.Click += new EventHandler(btn_Click);
为什么要两句?去掉第一句
//btn.ID = "22009-9-21 21:10:38";
btn.CommandArgument = "22009-9-21 21:10:38";
btn.Text = "第一个周期";
btn.Click += new EventHandler(btn_Click);
this.Panel1.Controls.Add(btn);
是id的问题,你可以把22009-9-21 21:10:38放在CommandArgument里
取的时候 string xx = btns.CommandArgument;
string bb = btns.Text;
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
<asp:Label ID="Label1" runat="server"></asp:Label> protected void Page_Load(object sender, EventArgs e)
{
Button btn = new Button();
btn.ID = "22009-9-21 21:10:38";
btn.Text = "第一个周期";
btn.Command += new EventHandler(this.Button1_Click);
Panel1.Controls.Add(btn);
} public void Button1_Click(Object Sender, CommandEventArgs e)
{
Label1.Text = "Button 1";
}
否则你的事件永远调用不到
因为提交页面后,没有执行
btn.Click += new EventHandler(btn_Click);
那代码就不知道这个按钮有这个事件(不要想当然,http就是这样无状态的)经过我测试,发现你的代码问题是在那个id的设定
把btn.ID = "22009-9-21 21:10:38";
这句修改为btn.ID = "a1";
你的代码就完全正常了。
至于为什么,我还不太清楚,察看Request.Form,这个id也能正常提交,很奇怪但是你的id弄得这么奇怪,也是够奇怪的。
id应该是英文与数字的集合,你弄个时间干吗?
{
Button btn = new Button();
btn.ID = "22009-9-21 21:10:38";
btn.Text = "第一个周期";
btn.Click += new EventHandler(Button1_Click);
btn.Click += new EventHandler(btn_Click);
Panel1.Controls.Add(btn);
} void btn_Click(object sender, EventArgs e)
{
Button btns = (Button)sender;
string xx = btns.ID;
string bb = btns.Text;
}btn.Click += new EventHandler(btn_Click); 是多播 多加几句这样的语句是没问题的
应该定义一个属于EventHandler 委托的事件event
然后定义btn_Click 为event 类型
这样才可以调用的