最普通的动态创建铵钮方法,并为此铵钮处理它的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
网页在运行时,会显示一个Click me的铵钮,点击铵钮后: 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' 铵钮被点击,事件已经产生。 " ); }
于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