65.9K
CodeProject 正在变化。 阅读更多。
Home

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

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.38/5 (63投票s)

2004年8月6日

viewsIcon

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 上显示。

结论

您始终可以使用用户控件的拖放功能将其包含在页面上。但有时在应用程序发生某些事件时加载控件非常重要,为此您可以动态创建控件。

© . All rights reserved.