上一篇说要对以前进行补充,那个补充就先留着吧.写总结比较累,所以这篇为第16篇,第15篇先留着

这次我们继续讨论.主题是模板控件,模板控件将是复杂控件的起步

1.asp.net内置的模板控件,了解模板控件

如下图,以下为asp.net内置的模板控件

asp.net控件开发基础(16)

上图的控件一方面是模板控件,另一方面又是数据绑定控件.这里我们暂且不讨论如何实现数据绑定.

使用上面控件的话,应该熟悉控件存在着不同的模板,如下图Repeater控件的模板类型.

asp.net控件开发基础(16)

在不同模板内你可以定义控件显示内容会呈现不同效果.典型的运用就是GridView,其呈现代码会是一个表格代码,而Repeater则是自定义的.其实其是内部已经实现了的,暂且先不管这些.下面一步步看下来如何实现.


2.实现模板控件

2.1简单实现模板控件(静态模板)

(1)模板控件为特殊的复合控件
,你还是需要实现INamingContainer接口,因为在模板属性的内容是为子控件集合添加到模板控件中,为保证控件具有唯一标识符.其实现将在CreateChildControls方法中创建子控件.

asp.net2.0中可以直接继续CompositeControl就可

(2)定义控件属性

模板属性为System.Web.UI. asp.net控件开发基础(16)        //声明变量
asp.net控件开发基础(16)
        private ITemplate _itemTemplate;
asp.net控件开发基础(16)
asp.net控件开发基础(16)
asp.net控件开发基础(16)        
//属性
asp.net控件开发基础(16)
        [Browsable(false)]
asp.net控件开发基础(16)        [TemplateContainer(
typeof(Article))]
asp.net控件开发基础(16)        [PersistenceMode(PersistenceMode.InnerProperty)]
asp.net控件开发基础(16)        
public ITemplate ItemTemplate
        }

相关文章:

  • 2022-02-11
  • 2022-01-08
  • 2021-08-19
  • 2021-09-28
  • 2021-08-22
  • 2021-10-14
猜你喜欢
  • 2022-12-23
  • 2021-12-29
  • 2022-03-10
  • 2021-10-06
  • 2021-10-05
相关资源
相似解决方案