例如,我创建的用户控件是一个停靠面板,我想让它允许从 aspx 页面添加其他控件。
<uc1:dockPanel ID="dockPanel1" runat="server" >
--add control to here from aspx page--
</uc1:dockPanel>
例如,我创建的用户控件是一个停靠面板,我想让它允许从 aspx 页面添加其他控件。
<uc1:dockPanel ID="dockPanel1" runat="server" >
--add control to here from aspx page--
</uc1:dockPanel>
您可以通过 control.add 方法动态加载控件。首先获取用户控件的对象,然后为此使用 control.add 属性。
请参阅以下链接以获取参考。 http://msdn.microsoft.com/en-us/library/aa287574(v=vs.71).aspx
在我的研究中,我发现了类似的东西..所以我们可以在 WebUserControl 中添加一个内部属性,例如.. 但是我现在面临的问题是控件不是在 WebUserControl 中呈现,而是在页面中呈现。
HTML
<uc1:dockPanel ID="dockPanel1" runat="server">
<ContentTemplate>
<dx:ASPxButton ID="ASPxButton1" runat="server" Text="ASPxButton">
</dx:ASPxButton>
</ContentTemplate>
</uc1:dockPanel>
ASCX [ParseChildren(true)]
public partial class dockPanel :System.Web.UI.UserControl, INamingContainer
{
[PersistenceMode(PersistenceMode.InnerProperty)]
[TemplateContainer(typeof(dockPanel))]
public ITemplate ContentTemplate { get; set; }
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
if (ContentTemplate != null)
ContentTemplate.InstantiateIn(this);
}
}