Ch06
{
[ToolboxData("<{0}:templatemenu runat=server>{0}:templatemenu>"),
Designer(typeof(TemplateMenuDesigner))]
public class TemplateMenu : CompositeControl
{
private ArrayList menuData;
public TemplateMenu()
: base()
{
menuData = new ArrayList()
//Uses new C# 3.0 Object and Collection Initializers
{
new MenuItemData{Title="Apress", Url="http://www.apress.com"},
new MenuItemData{Title="Microsoft", Url="http://www.microsoft.com"},
new MenuItemData{Title="ASP.Net", Url="http://asp.net"}
262 CHAPTER 6 ?– SERVER CONTROL TEMPLATES
};
}
private ITemplate headerTemplate;
[Browsable(false), Description("The header template"),
PersistenceMode(PersistenceMode.InnerProperty),
TemplateContainer(typeof(BasicTemplateContainer))]
public ITemplate HeaderTemplate
{
get
{
return headerTemplate;
}
set
{
headerTemplate = value;
}
}
private ITemplate footerTemplate;
[Browsable(false), Description("The footer template"),
PersistenceMode(PersistenceMode.InnerProperty),
TemplateContainer(typeof(BasicTemplateContainer))]
public ITemplate FooterTemplate
{
get
{
return footerTemplate;
}
set
{
footerTemplate = value;
}
}
private ITemplate separatorTemplate;
[Browsable(false), Description("The separator template"),
PersistenceMode(PersistenceMode.
Pages:
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373