ASP.NET 数据绑定常用代码

用DataBinder.eval 绑定不必关心数据来源(Dataread或dataset)。不必关心数据的类型eval会把这个数据对象转换为一个字符串。在底层绑定做了很多工作,使 用了反射性能。正因为使用方便了,但却影响了数据性能。当于dataset绑定时,DataItem其实式一个DataRowView(如果绑定的是一个 数据读取器(dataread)它就是一个IdataRecord。)因此直接转换成DataRowView的话,将会给性能带来很大提升。
     使用时注意:1.注意字段名的大小写(要特别注意)。如果和查询的不一致,在某些情况下会导致比<%# DataBinder.Eval(Container.DataItem, "字段名") %>还要慢。2.如果想进一步提高速度,可采用<%# ((System.Data.DataRowView)Container.DataItem)[0] %>的方法。不过其可读性不高。
  
  //以DataSet做数据源时
  
  //正常情况(C#)
  
  <%# ((System.Data.DataRowView)Container.DataItem)["Title"] %>
  
  
  //绑定日期字段格式字符串
  
  <%# Convert.ToDateTime(((System.Data.DataRowView)Container.DataItem)
  
  ["FbTime"]).ToString("yyyy年MM月dd日") %>
  
  <%# DataBinder.Eval(Container, "DataItem.FbTime","{0:yyyy年MM月dd日}") %>
  
  
  //字符串绑定超过指定长度截断
  
  <%# DataBinder.Eval(Container.DataItem, "Text").ToString().Trim().Length>7?
  
  DataBinder.Eval(Container.DataItem, "Text").ToString().Trim().Substring
  
  (0,7):DataBinder.Eval(Container.DataItem, "Text").ToString().Trim() %>
  
  
  //价格格试化为2位小数
  
  <%# Convert.ToDecimal(((System.Data.DataRowView)Container.DataItem) ["Price"]).ToString("F2") %>
  
  <%# DataBinder.Eval(Container, "DataItem.Price","{0:F2}") %>
  'VB.net中价格格式化后判断
  <%# IIf(DataBinder.Eval(Container.DataItem, "price","{0:F2}")="0.00","面议",DataBinder.Eval(Container.DataItem, "price","{0:F2}")+"万") %>
  
  'Vb.net常规
  <%# Ctype(Container.DataItem,DataRowView).Row("Title") %>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值