在Repeater上创建可由用户覆盖的默认模板

时间:2010-10-27 12:43:36

标签: asp.net templates webforms repeater

我有一个webforms控件,我的:Repeater,这是一个asp:Repeater。我想制作一个默认模板,例如:

<my:Repeater>
  <HeaderTemplate>
    My Default Header
  </HeaderTemplate>
  <ItemTemplate>
    My data
  </ItemTemplate>
  <FooterTemplate>
    My Default Footer
  </FooterTemplate>
</my:Repeater>

我希望此模板位于用户无法写入的某个文件中。如果用户只是

<my:Repeater/>

那么它应该使用我的默认模板。但是,用户可以覆盖<HeaderTemplate><ItemTemplate><FooterTemplate>中的一个或多个。

这是可能的,我该如何实现呢?

1 个答案:

答案 0 :(得分:0)

每个模板都是ITemplate;您可以通过实现ITemplate并可编程地向父容器添加控件,通过代码可编程地创建模板。在OnInit方法中,您可以设置默认模板,如果用户提供了ItemTemplate,理论上它应该覆盖您的模板。