|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
前几天同学问我学习方向的问题。有点想法,不知道对不对,怕误导同学,现在“开源一下”。注:括号内是我现在整理的时填加上的。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")%>
我之所以想学。NET,是因为一直觉的BILLGATES好厉害,希望有一天能去微软,虽然现在还距离遥远,呵呵:) |
|