如果您使用 ASP.NET,那么一定会对DataGrid控件十分熟悉。DataGrid提供了在 Web 页面上以表格形式显示数据的所有功能。但是,如果不想使用 HTML 表格呢?这里就涉及到一个DataGrid鲜为人知的兄弟控件—— Repeater 控件。Repeater 控件为你提供了充分的灵活性,依照您的需要显示数据。
Repeater 是一个重复性的控件,即用很容易配置的模板来显示数据源中的内容。这就包含了数据体,标题及脚注区域。Repeater 空间循环访问数据项,同时应用显示模板。
不像DataGrid或DataList数据控件,Repeater 控件并不是从WebControl类继承而来的。因此,这个控件并不包含对字体,颜色以及其他常用样式的属性。与 Repeater 一起,HTML(或样式表)以及 ASP.NET 的类共同处理这些属性。
Repeater 与DataGrid (包括DataList) 最主要的区别在于对 HTML 的处理方法。ASP.NET 创建了显示DataGrid控件的 HTML 代码(一张 HTML 表格),但是 Repeater 控件允许开发者来决定如何显示数据。所以,你可以选择用 HTML 表格显示数据,同样也可以用一个列表。选择完全在你,不过你必须把正确的 HTML 代码插入 ASP.NET 页中。
Repeater 空间,如DataList控件一样,只支持模板。有下列模板可供选择:
你可以使用这些模板来显示你想要的东西。唯一必需的元素是ItemTemplate (数据实际显示需要的);其他的模板都是可选的。
Repeater 用与DataGrid和DataList相同的属性访问数据源:
此外,还有一个 Items 属性允许编程访问 Repeater 空间中数据的单个项(行)的集合。这个属性返回一个RepeaterItemCollection对象,为一组RepeaterItem对象的集合,代表 Repeater 数据的每一行。
ASP.NET Web 数据控件有另外一个共性:他们都使用DataBind方法来产生用户界面。通过调用这个方法,获得数据并令其得以显示(假设DataSource与DataMember属性都已正确设置)。在我们查看DataBind方法之前,先来看一看在 Web 页面中使用 Repeater 的具体方法。