首页 > 编程 > .NET > 正文

ASP.NET 数据绑定常用代码

2024-07-10 13:09:57
字体:
来源:转载
供稿:网友

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表