职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 885|回复: 0

ASP.NET 数据绑定常用代码

[复制链接]
joe 发表于 2007-2-8 19:01 | 显示全部楼层 |阅读模式
  用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)ataBinder.Eval(Container.DataItem, \"Text\").ToString().Trim() %>


//价格格试化为2位小数

<%# Convert.ToDecimal(((System.Data.DataRowView)Container.DataItem) [\"rice\"]).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\") %>
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-5-12 14:47 , Processed in 0.113340 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表