动态创建按钮及处理OnClick事件
最普通的动态创建铵钮方法,并为此铵钮处理它的OnClick的事件。为了演示效果更佳,在aspx使用Ajax,
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
<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>
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
</ContentTemplate>
</asp:UpdatePanel>
.aspx.cs,程序中有详注释:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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' 铵钮被点击,事件已经产生。");
}
{
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代码:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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