【背景】还记得牛腩老师说过,Repeater产生的多余代码特别少,所以最好是用Repeater。那么,既然Repeater没能取代Gridview,就说明它们肯定是各有各的优缺点。
【问题】问题来了,到底什么时候该用Repeater,什么时候用Gridview?
【比较】
Griview:
优点:1、GridView是从WebControl派生出来的,拥有WebControl样式属性,自身会被解析为table,其中的每一行会被解析为tr-td ;
2、功能最强大,提供分页,编辑,删除,选择等等很多功能,使用最方便,直接拖拽到页面上,建立新的数据源,点几下鼠标就可以维护一个表的浏览、增加、删除和修改了;
3、模板已经定制好。
缺点:1、占用系统资源大,他的分页是把整个表的数据取出来,到gridview上分页的,因此如果数据量比较大的时候,速度非常非常慢,效率极低;
2、而且因为模板已经定制好,想自己灵活控制,不太容易。
Repeater:
优点:1、功能简单,效率高,容易灵活控制生成的HTML代码,整体来说,如果用习惯repeater就会喜欢上,适合前台使用;
2、他只是循环内容,不用产生.net指定的一系列垃圾代码;
缺点:1、Repeater是从Control派生出来的,它只是重复模板中的内容,这也是为什么repeater没有提供ItemStyle,SelectItemTemplate这些模板和样式控制的原因;
2、虽不用产生.net指定的一系列垃圾代码,但同时他也失去了.net提供的部分功能。
【总结】
从使用上讲的话,就要看你比较善于使用哪个了,Repeater比较容易设置样式,GridView比较容易做增删改等操作。我觉得从功能上说,GridView-->Reperter,是这么一个顺序。当从效率上说,是倒着来的。