后台编程添加的Button怎样给它添加事件

xxqqpp 2005-04-15 09:45:08
后台编程添加的Button怎样给它添加事件
...全文
288 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
怕那没啦 2005-04-18
  • 打赏
  • 举报
回复
把你的代码贴点出来看看呢
xxqqpp 2005-04-18
  • 打赏
  • 举报
回复
我就是这样写的,事件根本就没有加上去,所以我才来这里向大家请教的呀
怕那没啦 2005-04-18
  • 打赏
  • 举报
回复
private void Page_Load(object sender, System.EventArgs e)
{
Button btn = new Button();
btn.ID = "btn";
btn.Text = "testBtn";
btn.CommandName = "b1";
btn.CommandArgument = "arg1";
btn.Command += new CommandEventHandler(btnClick);
Page.Controls[1].Controls.Add(btn);
}

public void btnClick(object sender, CommandEventArgs e)
{
Response.Write(((Button)sender).CommandArgument.ToString());
}

跟踪一下你的程序看btn.Command += new CommandEventHandler(btnClick);这一句有没有执行,是不是别的原因导致没有触发事件。
楼主用的是C#吧?VB.NET的跟这个写法不一样
xxqqpp 2005-04-18
  • 打赏
  • 举报
回复
请高手们再指点一下
xxqqpp 2005-04-15
  • 打赏
  • 举报
回复
我可确定没有触发事件
gdstfox 2005-04-15
  • 打赏
  • 举报
回复
没有起作用??
没有触发到事件吗?
你是否跟踪过代码?
xxqqpp 2005-04-15
  • 打赏
  • 举报
回复
我就是这样写的,根本就没起作用
gdstfox 2005-04-15
  • 打赏
  • 举报
回复
例如
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
System.Web.UI.WebControls.Button btn1=new Button();
btn1.CommandName="cn";
btn1.CommandArgument="arg1";
btn1.Command+=new CommandEventHandler(MyCommand);

System.Web.UI.WebControls.Button btn2=new Button();
btn2.CommandName="cn";
btn2.CommandArgument="arg2";
btn2.Command+=new CommandEventHandler(MyCommand);
}

private void MyCommand(object sender, CommandEventArgs e)
{
//可以判断e.CommandName,e.CommandArgument来处理
}
coldpanth 2005-04-15
  • 打赏
  • 举报
回复
不好意思,帖错帖了,上面的话不是放这帖里的,呵呵.
xxqqpp 2005-04-15
  • 打赏
  • 举报
回复
这样写根本就没用
11262215 2005-04-15
  • 打赏
  • 举报
回复
你是说在DataGrid模板里面得Button把??
如果是
Protected Sub GridItem_Command(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
Select Case e.CommandArgument
Case "Oderby"
OderByCommand(sender, e)
Case "Del"
DelCommand(sender, e)
Case "DisPlay"
DisPlayCommand(sender, e)
Case Else
End Select
End Sub
所有有CommandArgument属性的控件都会被判断。
coldpanth 2005-04-15
  • 打赏
  • 举报
回复
注意,以上代码要放在 if (!Page.IsPostBack){}里哦
xxqqpp 2005-04-15
  • 打赏
  • 举报
回复
不好意思,我没讲请楚
我是在后台一次添加了多个按钮,然后给这些Button的CommandArgument赋值,所有的Button都调用一个后台Command事件,我要在Command事件取出Button的CommandArgument的值
njuzgj 2005-04-15
  • 打赏
  • 举报
回复
Mark
11262215 2005-04-15
  • 打赏
  • 举报
回复
后台添加时赋予Button id属性,后台直接用Button的id属性来写事件。
Private Sub Buttonid(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Insert.Click
可以不用onclick触发事件。
gdstfox 2005-04-15
  • 打赏
  • 举报
回复
例:
在Page_Load里面写

System.Web.UI.WebControls.Button btn=new Button();
btn.Click+=new EventHandler(btn_Click); //添加委托

另外
private void btn_Click(object sender, EventArgs e)
{
//事件处理
}

这个按钮要在在Page_Load里写,要不刷一下按钮就没了,而且不管IsPostBack是true还是false都要运行到这段程序
xiedan79 2005-04-15
  • 打赏
  • 举报
回复
Button1.Attribute.Add("<script language='javascript'>……</script>");

62,046

社区成员

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

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

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

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