订餐系统——Gridview、Repeater和DataList 区别

   上篇主要介绍了我们项目中用到的Gridview控件,而与该控件相关的还有两种:DataList 和repeater。之前也用过repeater控件,那么他们的主要区别是什么呢?

   GridView:

     相对来说它的功能最强大,提供分页,编辑,删除,选择等等很多功能,使用最方便,而且支持分页功能。但是因为模板已经定制好,灵活控制性相对较低。
     缺点:占用系统资源大,他的分页是把整个表的数据取出来,到gridview上分页的,因此如果数据量比较大的时候,速度非常非常慢。效率极低。
     综合以上考虑:gridview适合数据量小,效率要求不高的情况使用,比如后台。我们在项目中主要是通过对每种菜进行勾选操作,这就涉及到前台的编辑和后台的数据处理,而且考虑到数据量不是太多,所以就选择了GridView控件进行开发。

   Repeater:

     Repeater控件自带的功能是最弱的,所有的功能都需自己写代码实现比较麻烦,但是它效率高,容易灵活控制生成HTML代码。 一般用于只读的数据,对数据呈现的列表不具备编辑,排序,分页等功能。如果需要实现这些功能的话需要自己去实现。

     所以涉及到需要操作数据时不使用repeater控件,而那些简单的显示界面时,使用repeater控件会提高效率。本次就在一些用来显示数据界面用到了repeater控件。

   DataList:

     介于Gridview和Repeater控件之间,DataList 与GridView不同,必须通过自定义的template 来显示数据项。DataList 与 GridView相比不支持排序,分页功能,在这点上又与Repeater控件相似。它提供模板内置布局,而Repeater控件不支持。

     DataList 一般适用于显示“单列多行”关系的数据,例如用于显示产品列表,每一个ListItem显示一件产品的信息,你可以为ListItem 定义自己需要的格式。


   通过这次使用GridView控件,对ASP.NET中的一些控件的了解加深,而且想到在牛腩中也使用过这些控件,当时就知道这么做,具体的为什么却没有想过,这次的实践让自己能够熟练的应用,并且知道不同场景应该用哪个控件,当然这并不是唯一的,还需要考虑我们具体的需求。


原文地址:https://www.cnblogs.com/victor-grace/p/7253764.html