【问题标题】:Forcing controls to contain only certain elements, such as ContentTemplate强制控件仅包含某些元素,例如 ContentTemplate
【发布时间】:2010-02-17 12:29:13
【问题描述】:

好的,我的团队在使用 ajaxToolkit Tabs 控件时遇到了问题,它不能很好地与我们网站的某些部分配合使用(主要是 jquery 问题,其他一些 javascript,要更改的东西太多)

所以,我打算编写一个不同的控件,使用 jQuery 来实现选项卡功能:我以前做过,jQuery 几乎是微不足道的。我遇到的问题是让控件本身模拟 AjaxToolkit 控件,我希望它是一个具有内容/标题模板结构的适当 web 控件。

但是,我似乎不能强制 asp 只允许这些标签在里面,就像转发器对它的各种 标签所做的那样,只能让它将这些标签显示为标记内的选项。我将如何实现此功能?

【问题讨论】:

    标签: c# asp.net web-controls


    【解决方案1】:

    ContentTemplate 就像Repeater 使用带有一些属性的ITemplate 属性,以下是相关信息:

    [ParseChildren(true), PersistChildren(false)]
    public class Repeater : Control, INamingContainer
    {
      [PersistenceMode(PersistenceMode.InnerProperty)]
      public virtual ITemplate HeaderTemplate { get; set; }
    
      [PersistenceMode(PersistenceMode.InnerProperty)]
      public virtual ITemplate ItemTemplate { get; set; }
    }
    

    它是ParseChildrenAttributePersistenceModeAttribute 的组合,并使用PersistChildrenAttribute 将它们显示为内部标签。

    【讨论】:

    • 谢谢,现在只是为了获得外层功能。 . .
    • @Ed - 我有同样的事情,我做了一点不同,我有一个父控件TabsTab 子控件的集合,最终结果是 jQuery 选项卡渲染工作不多的客户端,有这种可能吗?
    猜你喜欢
    • 1970-01-01
    • 2013-10-23
    • 1970-01-01
    • 2017-05-04
    • 1970-01-01
    • 1970-01-01
    • 2011-07-27
    • 2018-02-27
    • 2015-03-03
    相关资源
    最近更新 更多