- 自从进行.NET开发后,一直在使用.NET中的数据绑定技术,但是对其技术原理在概念上一直有点模糊,于是借助
MSN ,写了下面这篇文章。
对于用.NET做开发的程序员,数据绑定是再熟悉不过的技术。数据绑定可以说是最令人愉快的功能之一。这种非常灵活的语法允许开发人员不仅可以绑定到数据源,而且可以绑定到简单属性、集合、表达式甚至是从方法调用返回的结果。下表显示了语法的一些例。
简单属性
Customer:
集合
Orders:
表达式
Contact:
方法结果
Outstanding Balance:
一、简单属性绑定
对于第一种简单属性示例如下:
前台代码:

后台代码:

运行结果:

尽管该语法看起来与 ASP 的 Response.Write 快捷方式 相似,但其行为完全不同。ASP Response.Write 快捷方式语法在处理页时计算,而 ASP.NET 数据绑定语法仅在调用 DataBind 方法时计算。
DataBind 是页和所有
DataList1.DataBind()
将因此对 DataList 模板中的每一控件调用 DataBind 方法。在页上调用 DataBind —
Page.DataBind()
或只是
DataBind()
— 会导致计算页上的所有数据绑定表达式。
下面我们这个是MSN上的一个绑定简单属性的例子,代码如下:
到页属性的数据绑定
客户:
未结的订单:
运行结果:
注意这些值在
DataBind()
调用前初始化,这个例子中定义了两个页面属性custID、orderCount,然后进行页面绑定。
二、绑定到集合和列表
像 GridView、DropDownList 这样的列表服务器控件将集合用作数据源。下面的示例说明如何绑定到通常的
下面这个是MSN上将ArrayList绑定到DropDownList上的例子,代码如下:
数据绑定 DropDownList
< asp:DropDownList id="DropDown1" runat="server" />
< asp:button Text=" 提交" OnClick="SubmitBtn_Click" runat=server/>
< asp:Label id=Label1 font-name=" 宋体" font-size=" 10.5pt " runat="server" />
下面我们再来看一个将ArrayList绑定到GridView的例子,代码如下:
数据绑定 GridView
三、 绑定表达式或方法
到方法和表达式的数据绑定
BorderColor="black"
BorderWidth="1"
GridLines="Both"
CellPadding="3"
CellSpacing="0"
>
偶/奇:
asp:datalist>
四、 DataBinder.Eval
ASP.NET 框架提供了一种静态方法,计算后期绑定的数据绑定表达式并且可选择将结果格式化为字符串。DataBinder.Eval 很方便,因为它消除了开发人员为强迫将值转换为所需的数据类型而必须做的许多显式转换。这在数据绑定模板列表内的控件时尤其有用,因为通常数据行和数据字段的类型都必须转换。
请看下面的示例,本例中整数将显示为
该语法可能比较复杂,难以记忆。相反,DataBinder.Eval 只是一个具有三个参数的方法:数据项的命名容器、数据字段名和格式字符串。在像 DataList、DataGrid 或 Repeater 这样的模板列表中,命名容器始终是 Container.DataItem。Page 是另一个可与 DataBinder.Eval 一起使用的命名容器。
格式字符串参数是可选的。如果省略它,则 DataBinder.Eval 返回对象类型的值,如下例所示。