Web2.0新增加了几款数据绑定控件(如DetailsView,FormView),还有1.x时代从来没有的数据源控件如:SqlDataSourse,AccessDataSourse,ObjectDataSourse,XmlDataSourse,SiteMapDataSource...有关使用这类控件与后台代码绑定之间,到底孰优孰劣,是否有必要使用这些控件,或者说什么情况下该用...以及两者的机制有甚它们的性能对比,另外就是对于一般的服务器控件后台输出的效率体现在哪里,希望各位见仁见智,在此谢谢...

解决方案 »

  1.   

    简单的操作,比如单纯的查询一些数据,我会用到数据源控件不过一些其他的我还是比较喜欢自己写sql语句或者是存储过程我感觉这个就是微软乃至整个开发方向的一个趋势,就是尽可能的让你去少写代码可是他们定死的东西总是不够灵活,所以我们就自己去写一些东西了~服务器控件,能不用尽量不用
      

  2.   

    方便快捷,开发效率高
    但是运行效率没话说。
    这些控件被放到.net基础类库中,不知道那些人脑里面想什么,搞得.net的3.5安装完有几百M,
    大多数只用了其中了1、2M内容.
      

  3.   

    我有用数据控件,感觉还是比较灵活的,可以传参数,可以使用存储过程,也可以使用视图.
    在数据长绑定的时候使用感觉比较好,不用注意太多的细节
    如果数据只是在需要的时候绑定,就可以自己写了.还有如果不喜欢GridView,FormView这类控件,自己写也是比较好的.
    ObjectDataSourse还可以绑定到实例类中,帮助对象的持久化.在使用泛化类的时候也比较好用.
    在使用报表控件的时候,偶尔会出现字段重复绑定的问题.
    具体应用具体使用吧,我的原则是控件满足不了的时候,自己再写.
      

  4.   

    目的是减少代码量。我是从asp.net 2.0开始才接触asp.net的,一开始就是数据源控件。
    觉得挺好的,比如一个GridView的编辑操作,期间发生的有
    GridView.RowUpdating, GridView自动赋值UpdateParameters,ObjectDataSource.Insert(), ObjectDataSource.Inserting, ObjectDataSource调用实际的Insert方法, ObjectDataSource.Inserted, GridView.RowUpdated虽然看似复杂,不过在一个简单的更新操作里给了你这么多控制的机会,包括捕获Exception等。我是能用DataSource控件的地方就一定会用它。
      

  5.   

    3层架构的话就不应该用数据源控件,个人觉得那个只是用来学习的时候使用方便些,就像在winform底下那个显示数据源那个东西呢,脱一下就能出现个具有管理表的自动生成的界面,没多大意思的,先感觉很兴奋,一句代码都不写,就能实现,其实灵活度很底