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程序设计有所帮助。
