动态创建按钮及处理OnClick事件

本文介绍了一种在ASP.NET中动态创建铵钮并处理其Click事件的方法,通过使用Ajax和UpdatePanel实现了页面局部刷新,提供了C#和VB.NET两种语言的示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最普通的动态创建铵钮方法,并为此铵钮处理它的OnClick的事件。为了演示效果更佳,在aspx使用Ajax,

View Code
<asp:ScriptManager ID="ScriptManager1" runat="server">
    
</asp:ScriptManager>
    
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
        
<ContentTemplate>
            
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
        
</ContentTemplate>
    
</asp:UpdatePanel>

 

.aspx.cs,程序中有详注释:

View Code
 protected void Page_Load(object sender, EventArgs e)
    {
        GenerateButton();
    }

    
private void GenerateButton()
    {
        
//new 一个Button控件。
        Button button = new Button();

        
//为此button控件添加属性ID和ID的值为Button1。
        button.Attributes.Add("ID""Button1");

        
//为此button控件添加属性,设button为服务器控件。
        button.Attributes.Add("runat""server");

        
//使用Text属性来指定或确定在Button控件中显示的标题
        button.Text = "Click me";

        
//为button控件添加Click事件。
        button.Click += new EventHandler(this.Button1_Click);

        
//把button控件load到aspx的PlaceHolder控件里。
        this.PlaceHolder1.Controls.Add(button);
    }

    
//实现Button1_Click事件
    private void Button1_Click(object sender, EventArgs e)
    {
        Insus.NET.InsusJsUtility js 
= new Insus.NET.InsusJsUtility();
        js.JsAlert(
"'Click me' 铵钮被点击,事件已经产生。");
    }


网页在运行时,会显示一个Click me的铵钮,点击铵钮后:

 

 

 于2013-05-29 14:00补充以下VB.NET代码:

Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
        GenerateButton()
    End Sub

    Private Sub GenerateButton()
        'new 一个Button控件。
        Dim button As New Button()

        '为此button控件添加属性ID和ID的值为Button1。
        button.Attributes.Add("ID", "Button1")

        '为此button控件添加属性,设button为服务器控件。
        button.Attributes.Add("runat", "server")

        '使用Text属性来指定或确定在Button控件中显示的标题
        button.Text = "Click me"

        '为button控件添加Click事件。
        AddHandler button.Click, AddressOf Me.Button1_Click

        '把button控件load到aspx的PlaceHolder控件里。
        Me.PlaceHolder1.Controls.Add(button)

    End Sub

    '实现Button1_Click事件
    Private Sub Button1_Click(sender As Object, e As EventArgs)
        Dim js As New Insus.NET.InsusJsUtility()
        js.JsAlert("'Click me' 铵钮被点击,事件已经产生。")
    End Sub
View Code


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值