使用repeter绑定数据的最高效率的方法
Databound
1. 数据库有一字段为日期字段,只包含日期部分,但是用<%#DataBinder%>显示出来,后面却自动加上了 0:00:00.怎样才能去掉时间部分? 另外如果是纯时间,如何去掉日期部分?
<%# DataBinder.Eval(Container.DataItem,"属性名","{0:yyyy-MM-dd}")%>'>
2. <%# DataBinder.Eval(Container.DataItem, "smalldir")%> 如何将绑定的值中'*' 替换成 '#'
<%# DataBinder.Eval(Container.DataItem, "smalldir",{0:*:#})%> 这样对?
<%#Convert.ToString(DataBinder.Eval(Container.DataItem, "smalldir")).Replace("*","#")%>
3. DataBinder.Eval(Container.DataItem,"NUMBER","0.00")这里的第三个参数不是Format函数支持的吗?那么怎么实现 把邦定的字符串给Format成两位小数的数字?
DataBinder.Eval(Container.DataItem,"NUMBER","{0:2d}")
4. <%# DataBinder.Eval(Container.DataItem,"NewsID")%>显示数据的,如果标题太长了怎么规定字数,多余的用"..."代替?
<%# DataBinder.Eval(Container.DataItem,"Title") %>改成:
<%# DataBinder.Eval(Container.DataItem,"Title").ToString().Length>13?DataBinder.Eval(Container.DataItem,"Title").ToString().SubString(0,13):DataBinder.Eval(Container.DataItem,"Title").ToString() %>
5.如果你是想根据那个值的状态显示不同的图片,可以这样:
在你本来放置input控件的地方放一个<asp:label text="<%#ShowImage(DataBinder.Eval(Container.DataItem,"Enable")%>">
在后台实现ShowImage:
public string ShowImage(string fg)
{
if (fg=="True"){
return "<img src='images/stat_enable.gif'>");}
else{
return("<img src='images/stat_disable.gif'>")};
}
6. ASP.NET中的数据绑定:哪个更快?
1.<%# DataBinder.Eval(Container.DataItem, "ColumnName") %>
2.<%# DataBinder.Eval(Container.DataItem, "ColumnName", null) %>
3.<%# DataBinder.Eval(Container, "DataItem.ColumnName", null) %>
4.<%# ((DataRowView)Container.DataItem)["ColumnName"] %>
5.<%# ((DataRowView)Container.DataItem).Row["ColumnName"] %>
7. <#DataBinder.Eval(Container.DataItem,"qabz").ToString()=="Q"?"相等":"不相等"%>
n //以DataSet做数据源时
n //正常情况(C#)
n <%# ((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") %>