使用 PlaceHolder 控件动态加载用户控件到 Webform






2.38/5 (63投票s)
2004年8月6日

317704
使用 PlaceHolder 控件动态加载 WebForm 中的用户控件。
引言
在本文中,我将解释如何在 WebForm 中以编程方式加载用户控件。首先,将一个 PlaceHolder 控件拖放到 WebForm 上,您将在其上加载实际的用户控件。
在 WebForm 中添加指令
首先,您需要在 WebForm 中添加一个指令,告诉 WebForm 您将要动态加载用户控件。因此,在 WebForm 中,添加以下指令
<%@ Reference Control = "WebUserControl1.ascx" %>
一旦放置了此指令,您需要在 WebForm 中加载实际的控件。您可以在表单中的任何位置加载控件。一个好的位置是在 Page_Init
事件中。在示例中,我已在 Page_Load
事件中加载了控件。
if(!Page.IsPostBack)
{
WebUserControl1 uc =
(WebUserControl1) Page.LoadControl("WebUserControl1.ascx");
PlaceHolder1.Controls.Add(uc);
}
在代码中,WebUserControl1
是我们创建名为 "uc
" 的实例的用户控件类名。Page.LoadControl
将控件加载到页面上。最后,PlaceHolder 控件将其添加到其集合中并在 WebForm 上显示。
结论
您始终可以使用用户控件的拖放功能将其包含在页面上。但有时在应用程序发生某些事件时加载控件非常重要,为此您可以动态创建控件。