可以从aspx页面向WebUserControl添加控件吗?

时间:2013-08-01 07:13:00

标签: c# asp.net user-controls custom-controls webusercontrol

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

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

2 个答案:

答案 0 :(得分:0)

您可以通过control.add方法动态加载控件。首先获取用户控件的对象,然后使用control.add属性。

请参阅以下链接以获取参考。 http://msdn.microsoft.com/en-us/library/aa287574(v=vs.71).aspx

答案 1 :(得分:0)

在我的研究中我发现了类似这样的内容..所以我们可以在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(真)]

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