ASP.NET动态添加用户控件的方法
本文实例讲述了ASP.NET动态添加用户控件的方法。分享给大家供大家参考。具体实现方法如下:
为了让用户控件能ASP.NET页面实现动态添加,首先写一个接口IGetUCable,这个接口有一个函数,返回对象类型是UserControl.
usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Web; usingSystem.Web.UI; ///<summary> ///SummarydescriptionforIGetUCable ///</summary> namespaceInsus.NET { publicinterfaceIGetUCable { UserControlGetUC(); } }
有了接口之后,需要创建用户控件Calculator.ascx:
<%@ControlLanguage="C#"AutoEventWireup="true"CodeFile="Calculator.ascx.cs"Inherits="Calculator"%> NumberA:<asp:TextBoxID="TextBox1"runat="server"></asp:TextBox><br/> +<br/> NumberB:<asp:TextBoxID="TextBox2"runat="server"></asp:TextBox><br/> <asp:ButtonID="ButtonEqual"runat="server"Text="=" OnClick="ButtonEqual_Click1"/> <br/> Result:<asp:LabelID="LabelResult"runat="server"Text=""></asp:Label>
Calculator.ascx.cs,cs实现接口:
usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Web; usingSystem.Web.UI; usingSystem.Web.UI.WebControls; usingInsus.NET; publicpartialclassCalculator:System.Web.UI.UserControl,IGetUCable { protectedvoidPage_Load(objectsender,EventArgse) { } protectedvoidButtonEqual_Click1(objectsender,EventArgse) { decimala=decimal.Parse(this.TextBox1.Text.Trim()); decimalb=decimal.Parse(this.TextBox2.Text.Trim()); this.LabelResult.Text=(a+b)。ToString(); } publicUserControlGetUC() { returnthis; } }
最后是在需要加载用户控件的aspx的Page_load事件写:
protectedvoidPage_Load(objectsender,EventArgse) { IGetUCableuc1=(IGetUCable)LoadControl("~/Calculator.ascx"); this.form1.Controls.Add(uc1.GetUC()); }
希望本文所述对大家的asp.net程序设计有所帮助。