** 数据绑定服务器控件 **
数据绑定概述和语法
ASP.NET 引入了新的声明性数据绑定语法。这种非常灵活的语法允许开发人员不仅可以绑定到数据源,而且可以绑定到简单属性、集合、表达式甚至是从方法调用返回的结果。下表显示了新语法的一些示例。
简单属性 Customer: ```
custID
1集合 Orders:
<asp:listbox datasource="```
myArray
1表达式 Contact: ```
2# ( customer.First Name + " " + customer.LastName )
方法结果 Outstanding Balance: ```
GetBalance(custID)
1
2尽管该语法看起来与 ASP 的 Response.Write 快捷方式 ```
3=
4``` 相似,但其行为完全不同。ASP Response.Write 快捷方式语法在处理页时计算,而 ASP.NET 数据绑定语法仅在调用 DataBind 方法时计算。
5
6DataBind 是页和所有服务器控件的方法。当在父控件上调用 DataBind 时,它级联到该控件的所有子控件。例如,DataList1.DataBind() 将因此对 DataList 模板中的每一控件调用 DataBind 方法。在页上调用 DataBind — Page.DataBind() 或只是 DataBind() — 会导致计算页上的所有数据绑定表达式。通常从 Page_Load 事件调用 DataBind,如下例所示。
7
8
9protected void Page_Load(Object Src, EventArgs E) {
10DataBind();
11}
12
13
14Protected Sub Page_Load(Src As Object, E As EventArgs)
15DataBind()
16End Sub
17
18
19protected function Page_Load(Src:Object, E:EventArgs) : void {
20DataBind();
21}
22
23如果绑定表达式在运行时计算为预期的数据类型,则可以在 .aspx 页的声明节中的几乎任何位置使用绑定表达式。上面的简单属性、表达式和方法示例在计算时向用户显示文本。这些情况下,数据绑定表达式必须计算为 String 类型的值。在集合示例中,数据绑定表达式计算为 ListBox 的 DataSource 属性的有效类型值。您可能会发现有必要转换绑定表达式中的类型值以产生所需的结果。例如,如果 count 是整数:
24
25
26Number of Records: ```
27# count.ToString()
绑定到简单属性
ASP.NET 数据绑定语法支持绑定到公共变量、页的属性和页上其他控件的属性。
下面的示例说明如何绑定到公共变量和页上的简单属性。注意这些值在 DataBind() 调用前初始化。