2010-10-27 72 views
0

我有一個webforms控件,my:Repeater,它是一個asp:Repeater。我想打一個默認的模板,如:在Repeater上創建用戶可覆蓋的默認模板

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

我想這個模板是在某些文件不被用戶寫入的。如果用戶只是做

<my:Repeater/> 

那麼它應該使用我的默認模板。但是,用戶可以忽略,<ItemTemplate><FooterTemplate>中的一個或多個。

這是可能的,我該如何實現它?

回答

0

每個模板都是一個IT模板;您可以通過實現ITemplate並可編程地向父容器添加控件來通過代碼來編程創建模板。在OnInit方法中,您可以設置默認模板,並且如果用戶提供ItemTemplate,理論上它應該覆蓋您的模板。

+0

你能舉個例子嗎?我不認爲我理解你。我在談論ASPX模板,我的意思是生成HTML代碼的位置。 – Johan 2010-10-27 13:07:04

+0

如果您希望用戶不必擔心設置的自定義控件的默認模板,則不能使用ASPX模板。他們必須是代碼模板就是我想要解釋的。 – 2010-10-28 12:52:37