Bind()、Eval()、DataBinder.Eval()区别

来源:互联网 发布:如何增强手机网络信号 编辑:程序博客网 时间:2024/04/30 12:20

一、Bind()

格式:

<%# Bind("字段名") %>

说明:

Bind()是可更新的,是Bind绑定列可编辑,并且可以和数据源控件交互,直接和数据库交互,但是用Bind的话,无法对字段使用格式化方法;

二、Eval()

格式:

<%# Eval("字段名") %>

说明:

ASP.NET 2.0改善了模板中的数据绑定操作,把v1.x中的数据绑定语法DataBinder.Eval(Container.DataItem, fieldname)简化为Eval(fieldname)。Eval方法与DataBinder.Eval一样可以接受一个可选的格式化字符串参数。缩短的Eval语法与DataBinder.Eval的不同点在于,Eval会根据最近的容器对象(例如DataListItem)的DataItem属性来自动地解析字段,而DataBinder.Eval需要使用参数来指定容器。由于这个原因,Eval只能在数据绑定控件的模板中使用,而不能用于cs层。参见下面使用

三、DataBinder.Eval()

格式:

<%# DataBinder.Eval(Container.DataItem, "[n]") %>
<%# DataBinder.Eval(Container.DataItem, "ColumnName") %>
<%# DataBinder.Eval(Container, "DataItem.ColumnName") %>

<%# DataBinder.Eval(Container.DataItem, "ColumnName", null) %>

<%# DataBinder.Eval(Container.DataItem,"dateandtime","{0:D}")%>简写

全称

格式
输入1.42
输入-12400
输入日期

c

Currency

{0:c}

$1.42

$12,400

d

Decimal

或者DateTime

{0:d}

-12400

2006年10月27日

e

Scientific

{0:e}

1.420000e+000

-1.240000e+004

f

Fixed point

{0:f}

1.42

-12400.00

g

General

{0:g}

1.42

-12400

n

Number

{0:n}

1.42

-12,400

p

Percent

{0:p}

14200%

x

Hexadecimal

{0:x}

cf90

 

 

 

 

 

 

 

 

 

 

 

 


以上空格处表示异常。

说明:

1、不区分大小写,如n与N相同;

2、格式数值时,可以类似这样写{0:n4} ,4表示小数位数;或者{0:000.00},但只能显示不超过1000的数;

3、格式日期时,可以{0:yyyy-mm-dd} 按格式顯示年月日。

4、更多格式请看看:http://www.cnblogs.com/ShineTan/archive/2007/11/14/958846.html

5、详细分析DataBinder.Eval方法研究 收藏

四、其他绑定方法

格式:

<%# ((DataRowView)Container.DataItem)["ColumnName"] %>
<%# ((DataRowView)Container.DataItem).Row["ColumnName"] %>
<%# ((DataRowView)Container.DataItem)["adtitle"] %>
<%# ((DataRowView)Container.DataItem)[n] %>
<%# ((DbDataRecord)Container.DataItem)[0] %>
<%# (((自定义类型)Container.DataItem)).屬性.ToString() %>




原创粉丝点击