在自定义 ServerControl 中的 Template 标记内呈现控件?
我正在开发自定义导航菜单,
我在我的 MenuItem
类中添加了以下属性,以允许用户将控件添加到其中。
public class MenuItem : INamingContainer
{
.
.
.
[PersistenceMode(PersistenceMode.InnerProperty)]
public ITemplate Template { get; set; }
}
我可以毫无问题地在 ASP.NET 中添加标签,但是 Template
中的控件不会呈现!我没有收到任何异常或错误!
<MdsMenu:Menu ID="Menu1" runat="server">
<MdsMenu:MenuItem Text="MenuItem 01" href="#" />
<MdsMenu:MenuItem Text="MenuItem 02" href="#">
<MdsMenu:MenuItem href="#" Text="Template">
<Template>
<asp:Button ID="Button1" runat="server" Text="Button" />
</Template>
</MdsMenu:MenuItem>
</MdsMenu:MenuItem>
<MdsMenu:MenuItem Text="MenuItem 03" href="#" />
<MdsMenu:MenuItem Text="MenuItem 04" href="#" />
</MdsMenu:Menu>
我该如何渲染它们?
I'm working on a custom navigation menu,
I've added the following property within my MenuItem
class to allow users add them controls into it.
public class MenuItem : INamingContainer
{
.
.
.
[PersistenceMode(PersistenceMode.InnerProperty)]
public ITemplate Template { get; set; }
}
I can add the tags in asp.net without any troubles but the controls within Template
aren't render!!! and I'm not receive any Exceptions or Errors !
<MdsMenu:Menu ID="Menu1" runat="server">
<MdsMenu:MenuItem Text="MenuItem 01" href="#" />
<MdsMenu:MenuItem Text="MenuItem 02" href="#">
<MdsMenu:MenuItem href="#" Text="Template">
<Template>
<asp:Button ID="Button1" runat="server" Text="Button" />
</Template>
</MdsMenu:MenuItem>
</MdsMenu:MenuItem>
<MdsMenu:MenuItem Text="MenuItem 03" href="#" />
<MdsMenu:MenuItem Text="MenuItem 04" href="#" />
</MdsMenu:Menu>
How can I render them ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您必须在某个容器中实例化您的模板。有关如何开发基于模板的控件,请参阅以下文章:
http://msdn.microsoft。 com/en-us/library/36574bf6.aspx - 请参阅快速入门示例
http://msdn.microsoft.com/en-us/library/aa478964.aspx - 这是更详细的文章
You have to instantiate your template within some container. See below article for how to develop template based controls:
http://msdn.microsoft.com/en-us/library/36574bf6.aspx - see example for quick start
http://msdn.microsoft.com/en-us/library/aa478964.aspx - this is more detailed article