您的位置:首页 > 其它

如何实现动态加载用户控件

2005-09-12 17:47 836 查看
1.编程创建用户控件示例
(1)创建一个简单的用户控件
创建一个名为UserControlExample.ascx的用户控件,代码如下:
<%@ Control Language="c#" AutoEventWireup="false" %>
<script language="C#" runat="server">
void EnterBtn_Click(Object Sender, EventArgs E)
{
Label1.Text = "嗨 " + Name.Text + " ,欢迎来到ASP.NET!";
}
</script>
<H3>
<u>一个简单的用户控件</u>
</H3>
输入名字:
<asp:textbox id="Name" runat="server" />
<asp:button Text="Enter" OnClick="EnterBtn_Click" runat="server" ID="Button1" />
<br>
<br>
<asp:label id="Label1" runat="server" />
(2)在页面中编程创建用户控件的实例
创建一个名为UserControlTest.aspx的页面,代码如下:
<%@ Page language="c#" %>
<HTML>
<HEAD>
<script language="C#" runat="server">
void Page_Load(object sender, System.EventArgs e)
{
Control myControl = Page.LoadControl("UserControlExample.ascx");
PlaceHolder1.Controls.Add(myControl);
}
</script>
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<P><FONT face="宋体">编程创建用户控件的实例</FONT></P>
<asp:PlaceHolder id="PlaceHolder1" runat="server"></asp:PlaceHolder>
</form>
</body>
</HTML>
2.代码分析
看UserControlTest.aspx页面代码。Page.LoadControl()方法的参数是用户控件的虚拟路径,返回值是一个UserControl对象,UserControl对象是由Control类派生,因此可以用Control对象的引用指向LoadControl()方法的返回值。
Control myControl = Page.LoadControl("UserControlExample.ascx");
PlaceHolder1.Controls.Add(myControl);
通过PlaceHolder容器控件把用户控件的对象添加进来,完成动态加载用户控件的过程。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: