首先给GridView,DataList和Repeater这3大数据绑定控件作下比较。三者都能够绑定数据源,而不用去手动构造循环结构,GridView会自动生成许多布局控制,而DataList控件灵活性很好,它使用<table>进行数据展示(自动生成),但是现在的页面布局都倾向于用DIV来布局,Repeater则不会自动生成任何标签,它只用于绑定数据,我们可以用我们想要的方式去为它布局。显而易见,GridView因为生成很多标签,效率最差;DataList仅生成少量标签,效率远远高于GridView;Repeater不会生成任何标签,效率就属它最高了。
说了这么多,还是来个简单点的例子吧。
首先前台代码:
Container.DataItem相当于某个表或视图中的一行(Object类型),在得到该行的某个字段值时首先应该转换成DataRowView(DataRowView 对象将值公开为对象数组,这些数组按基础表中列的名称或序号引用来编制索引),引用DataRowView要用到System.Data命名空间,DataBinder.Eval()是另外一种绑定数据的方式,在这里是为了格式化日期(去除数据库中的时分秒,只显示年月日)。
关于数据绑定可以看李涛的博客http://www.cnblogs.com/terryli/archive/2008/03/25/1120482.html,这里面讲的很详细。
然后来看后台代码: