是否可以从aspx页面将控件添加到WebUserControl中

本文关键字:添加 控件 WebUserControl aspx 是否 | 更新日期: 2023-09-27 18:25:42

例如,我创建的用户控件是一个dock面板,我想让它允许从aspx页面添加其他控件。

<uc1:dockPanel ID="dockPanel1" runat="server" >
  --add control to here from aspx page--
</uc1:dockPanel>

是否可以从aspx页面将控件添加到WebUserControl中

通过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);
        }
}