1回顶部 ASP.NET(bata2)立即上手教程(c#版)-8
数据绑定服务器控件
下例说明绑定到ArrayList。
![]() ![]() ![]() ![]() 2回顶部
DataBinder.Eval方法
Asp.net框架提供了一个静态方法DataBinder.Eval,可以计算后期数据绑定表达式的值,并可以将结果任意格式化为字符串。DataBinder.Eval是很方便的,他排除了许多开发人员必须作的(通过强制改变值的类型来得到预期的数据类型)显式转换。尤其是在带有模板列表的数据绑定控件中,因为经常需要显式转换数据行和数据字段,所以它特别有用。
仔细看下面的代码,整数将被显示为货币型字符串。使用标准的asp.net数据绑定语法,为了得到数据字段IntegerValue,你必须首先显式转换数据行的类型,然后作为String.Format方法的参数才能得到结果
< %# String.Format("{0:c}", ((DataRowView)Container.DataItem)["IntegerValue"]) % >
这样的语法实在错综复杂的难以记忆。比较而言,DataBinder.Eval 就很简单了。它带有三个参数:数据项的命名容器、数据字段名称和格式化字符串。 在模板列表如DataList、DataGrid、或 Repeater,命名容器总是Container.DataItem。 Page 是另一个可以被DataBinder.Eval使用的命名容器。
< %# DataBinder.Eval(Container.DataItem, "IntegerValue", "{0:c}") % >
格式化字符串参数是可选的。如果忽略参数,DataBinder.Eval 返回对象类型的值,就象下面的代码这样:
< %# (bool)DataBinder.Eval(Container.DataItem, "BoolValue") % >
很重要的一点需要注意:由于受后期绑定影响,DataBinder.Eval与标准的数据绑定语法相比,在执行效率上有明显的差别。因此有选择地使用DataBinder.Eval,特别是不需要对字符串进行格式化的时候。
![]() |
鏀惰棌鎴愬姛鏌ョ湅鏀惰棌>>
正在阅读:ASP.NET(bata2)立即上手教程(c#版)-8-2ASP.NET(bata2)立即上手教程(c#版)-8-2
2004-02-14 09:34
出处:PConline
责任编辑:zwg