ASP.NET数据绑定的效率

在CodeProject上看到一篇数据绑定的测试评论,该评论已经被MVP认可了,我对这样的结果也感到十分的惊讶,看来,以后在写代码的习惯上要稍微有些修改了.

先给出测试的代码:

  1. public void initList(DataTable dt)
  2. {
  3.   DropDownList1.DataSource = dt;
  4.   DropDownList1.DataTextField = "empName";
  5.   DropDownList1.DataValueField = "empNumber";
  6.   DropDownList1.DataBind();
  7. }
  8. public void initList2(DataTable dt)
  9. {
  10.   foreach (DataRow r in dt.Rows)
  11.   {
  12.     DropDownList2.Items.Add(new ListItem(r["empName"].ToString(), r["empNumber"].ToString()));
  13.   }
  14. }
  15. public void initList3(DataTable dt)
  16. {
  17.   foreach (DataRow r in dt.Rows)
  18.   {
  19.     DropDownList3.Items.Add(new ListItem(r[0].ToString(), r[1].ToString()));
  20.   }
  21. }

initList的效率比initList2和initList3的效率低可能十倍以上(太可怕了,我是没有认真测试过,但是估计有点夸张),initList2和initList3的效率差不多,但是initList3的效率会比initList2的效率高些,因为使用列号的代码不用在绑定的时候绑定的名称不用转换为对应的下标,并关联的数据源中的数据.还有,使用列号的时候,会使用Cache的,但并不是每次都会用到.所以使用initList3的数据绑定才是效率最高的.

小结

使用微软的绑定方法效率就差这么多,那些GridView和ViewForm控件怎么办?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值