现在的位置: 首页 > 综合 > 正文

asp.net为控件动态添加事件

2013年10月09日 ⁄ 综合 ⁄ 共 933字 ⁄ 字号 评论关闭

 实现的功能是在网页上的Panel中动态添加一个Button,并为这个Button写一个单击事件。

动态添加控件的事件,语句:


Control.Command += new CommandEventHandler(this.EventFun);

具体的代码请看下面:

需要特别注意的是:

添加控件和给控件加事件时绝对不能放到 if(!IsPostback){}里面,那样的话,点击一次后控件会消失,而且事件也不

会执行。


protected void Page_Load(object sender, EventArgs e)
    {
       
//将输入字符串分析为System.Web.UI.Control对象,b为传进去的值
        Control c = ParseControl("<asp:Button Text = '按我' ID = 'myButton' commandargument = 'b' runat = 'server' />");

        //将控件添加大Panel中
        this.Panel1.Controls.Add(c); 

        //查找页面名为myButton的控件
        Button Button = (Button)Page.FindControl("myButton");  

        //添加事件On_Button
        Button.Command += new CommandEventHandler(this.On_Button);
        
    }

    //CommandEventArgs为command事件提供数据
    protected void On_Button(Object sender,CommandEventArgs e)
    {
        Response.Write(
"<script language = 'javascript' type = 'text/javascript'>alert('" + e.CommandArgument.ToString() + "');</script>");
    }

抱歉!评论已关闭.