数据绑定概述和语法
ASP.NET 引入了新的声明性数据绑定语法。这种非常灵活的语法允许开发人员不仅可以绑定到数据源,而且可以绑定到简单属性、集合、表达式甚至是从方法调用返回的结果。下表显示了新语法的一些示例。
简单属性 |
Customer: <%# custID %> |
集合 |
Orders: <asp:ListBox id="List1" datasource='<%# myArray %>' runat="server"> |
表达式 |
Contact: <%# ( customer.First Name + " " + customer.LastName ) %> |
方法结果 |
Outstanding Balance: <%# GetBalance(custID) %> |
尽管该语法看起来与 ASP 的 Response.Write 快捷方式 <%= %> 相似,但其行为完全不同。ASP Response.Write 快捷方式语法在处理页时计算,而 ASP.NET 数据绑定语法仅在调用 DataBind 方法时计算。
DataBind 是页和所有服务器控件的方法。当在父控件上调用 DataBind 时,它级联到该控件的所有子控件。例如,DataList1.DataBind()
将因此对 DataList 模板中的每一控件调用 DataBind 方法。在页上调用 DataBind — Page.DataBind()
或只是 DataBind()
— 会导致计算页上的所有数据绑定表达式。通常从 Page_Load 事件调用 DataBind
如果绑定表达式在运行时计算为预期的数据类型,则可以在 .aspx 页的声明节中的几乎任何位置使用绑定表达式。上面的简单属性、表达式和方法示例在计算时向用户显示文本。这些情况下,数据绑定表达式必须计算为 String 类型的值。在集合示例中,数据绑定表达式计算为 ListBox 的 DataSource 属性的有效类型值。您可能会发现有必要转换绑定表达式中的类型值以产生所需的结果。例如,如果 count
是整数:
Number of Records: <%# count.ToString() %>
参见:http://chs.gotdotnet.com/quickstart/aspplus/default.aspx