GridView的DataSourceID vs. DataSource属性

  GridView在绑定数据源方面同时支持DataSourceID与DataSource这两种属性,除了像DataGrid 1.0版原本的DataSource属性外,又增加另外一个DataSourceID属性,这两者之间有什么差别呢?以下是说明。

DataSourceID:这个新属性是用于专门搭配ASP.NET 2.0的DataSource控件,如SqlDataSource、AccessDataSource等等,若GridView以DataSourceID指定DataSource控件就能够享有内置的分页、排序、更新、删除,一行程序都不必写,甚至连GridView.DataBind()都可以免了,因为它会自动做Binding操作,好处多多,故ASP.NET 2.0的数据绑定应该优先使用此属性。

DataSource:这是以前就存在的属性,若GridView使用这个属性来绑定数据,那很抱歉不但要明确声明GridView.DataBind(),并且无法享受内置分页、排序、更新、删除的好处,请自己慢慢Coding吧!

 警告

(1)如果使用GridView通过DataSourceID绑定到数据源控件(如SqlDataSource等),您还是习惯性地下GridView.DataBind()指令进行数据绑定操作,结果会发生什么事情呢?这样会造成“重复绑定”,也就是您要多浪费一次系统绑定性能与内存,故不可不慎呀!

(2)不可以同时设置DataSource及DataSourceID两个属性,否则会产生Exception异常错误。

相较于GridView控件的优秀,DataGrid是否有时不我予之感呢?情况的确如此,在默认工具箱中根本看不到DataGrid影子,但它并不是被.NET 2.0废除掉了,而是没有加入工具箱菜单之中,因为微软希望您优先使用GridView,但还是可以自行将它加入工具箱之中,眼尖的朋友从图9-6中会发现DataGrid控件的版本为2.0,没错它正是2.0版!也支持DataSourceID属性,若搭配DataSource控件也同样享有自动DataBinding的好处,但是无法像GridView可以享有全部自动化Code Free功能。虽然GridView是长江后浪推前浪,但我给DataGrid的评语是:“老而未朽!”放眼望去ASP.NET 1.0许多旧系统哪儿没有DataGrid影子,要废掉或重新改写谈何容易,谁又有那么多时间呢,结论是DataGrid仍有其存在与维护的价值。

注:

GridView或DataGrid的“DataSourceID属性”之所以会有ID字眼,其实是指Data Source控件的ID,下一章的动态程序篇范例皆会用到,届时各位即可了解

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值