一、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() %>
本文详细介绍了ASP.NET中四种常用的数据绑定方法:Bind(), Eval(), DataBinder.Eval()以及其他绑定方法。每种方法都有其特定的应用场景和优缺点,如Bind()适合于需要更新的情况,Eval()和DataBinder.Eval()则适用于不同的数据格式化需求。
232

被折叠的 条评论
为什么被折叠?



