帮帮忙!如何给动态添加的控件增加事件相应方法?

memoriccell 2003-08-21 05:06:01
Table Table1 = new Talbe();
TableRow row = new TalbeRow();
TableCell cell1 = new TableCell();
CheckBox cb = new CheckBox(); <--这里
cb.ID = "1";
cell1.Controls.Add(cb);
row.Cells.Add(cell1);
Table1.Rows.Add(row);
标注的地方生成了一个CheckBox控件,我怎么都不能为它增加事件响应函数。
请问怎样才能为它绑定一个onServerChange函数?
谢谢!!
...全文
35 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
fly_miss 2003-08-22
  • 打赏
  • 举报
回复
CheckBox cb = new CheckBox(); <--这里
addhandler checkBox.click address of checkbox_click
woodfish 2003-08-22
  • 打赏
  • 举报
回复
在pageload里加入如下代码:
If Me.IsPostBack = True Then
Dim sPostEventSourceID As String
Dim sPostEventArgumentID As String

sPostEventSourceID = Me.Request.Form.Get(Me.postEventSourceID)
sPostEventArgumentID = Me.Request.Form.Get(Me.postEventArgumentID)
End If
用sPostEventSourceID可以判断你是哪个web控件发的post,然后再掉你的方法
memoriccell 2003-08-22
  • 打赏
  • 举报
回复
搞定了,谢谢各位!
memoriccell 2003-08-22
  • 打赏
  • 举报
回复
我把cb1的AutoPostBack属性设置成true就可以了;不过cb2还是不能响应事件。
memoriccell 2003-08-22
  • 打赏
  • 举报
回复
各位,我试过了,还是没有用啊??一个都不响应。
完整代码如下:
public class WebForm2 : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
CheckBox cb1 = new CheckBox();
cb1.ID = "test1";
cb1.CheckedChanged += new System.EventHandler(cb1_CheckedChanged);
HtmlInputCheckBox cb2 = new HtmlInputCheckBox();
cb2.ID = "test2";
cb2.ServerChange += new System.EventHandler(cb2_ServerChange);
(Page.FindControl("Form1")).Controls.Add(cb1);
(Page.FindControl("Form1")).Controls.Add(cb2);
}

private void cb1_CheckedChanged(object sender,System.EventArgs e)
{
Response.Write("成功了!");
}

private void cb2_ServerChange(object sender,System.EventArgs e)
{
Response.Write("也成功了!");
}
}
rabbitwy 2003-08-21
  • 打赏
  • 举报
回复
控件生成后加上(假设控件名为lb)
lb.Click += new System.EventHandler(this.lb_Click);

在private void lb_Click(object sender, System.EventArgs e)
{
}
添加你的处理代码
luckysusan 2003-08-21
  • 打赏
  • 举报
回复
cb.CheckedChanged += new System.EventHandler(onServerChange);
luckysusan 2003-08-21
  • 打赏
  • 举报
回复
cb.CheckedChanged += new System.EventHandler(onServerChange);
dongchuanlu 2003-08-21
  • 打赏
  • 举报
回复
private void cb_CheckedChanged(object sender, System.EventArgs e)
{
}
cb.CheckedChanged += new System.EventHandler(cb_CheckedChanged);

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧