惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

有赞技术团队
有赞技术团队
G
Google Developers Blog
T
Tailwind CSS Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
人人都是产品经理
人人都是产品经理
J
Java Code Geeks
P
Proofpoint News Feed
V
Visual Studio Blog
爱范儿
爱范儿
The Cloudflare Blog
博客园 - 叶小钗
V
V2EX
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
M
MIT News - Artificial intelligence
Microsoft Security Blog
Microsoft Security Blog
博客园 - 聂微东
H
Help Net Security
B
Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 【当耐特】
量子位
宝玉的分享
宝玉的分享
WordPress大学
WordPress大学
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

博客园 - wander

代码编写规范说明书(c#.net与asp.net)转 常用正则表达式 b/s开发常用javaScript技术分类 在c#中如何在WINDOWS FORM 中访问超级链接? - wander 收藏 Meta标签详解 在ASP.NET中上传图片并生成带版权信息的缩略图 Ajax无刷新实现图片切换特效 在.NET下多层架构企业管理系统的开发 浏览器滚动条的参数总结 在ASP.NET中实现AJAX AJAX实现无刷新三联动下拉框 初识AJAX 基于动态页面的静态页面实现 Visual C#实现Windows信使服务 c#.net常用的小函数和方法集 DataGrid使用心得 ASP.NET之精通弹出窗口 利用OWC生成统计图表(代码+注释)
ASP.NET 数据绑定常用代码 (转)
wander · 2006-10-12 · via 博客园 - wander

 用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") %>