oundFields, CheckBoxFields等.而与FormView不同的是,DataList 是被用来显 示一组记录,而不是单独的一条.现在我们开始本章的教程.首先看看如何将 product 绑定到DataList.打开DataListRepeaterBasics 文件夹里的Basics.aspx 页,然后从工具箱里拖一个DataList 进来.如图4所示,在指定模板前,设计器会是 灰色的.
图4: 从工具箱拖一个DataList到设计器里
打开DataList的智能 标签,添加一个ObjectDataSource ,使用ProductsBLL 类的GetProducts 方法来配 置它.因为在本教程里创建的DataList 为只读的,因此在INSERT, UPDATE, 和 DELETE 标签的下拉列表里都选择None.
图5: 创建一个新的ObjectDataSource
图6: 用ProductsBLL 类来配置ObjectDataSource
图 7: 使用GetProducts 方法来获取所有Product的信息
通过智 能标签里配置完ObjectDataSource ,并把它和DataList 关联起来后,Visual Studio会在DataList 里自动为数据源返回的每个字段创建一个ItemTemplate 用 来显示name 和value (见下面的代码).这个默认的ItemTemplate看起来和绑定 FormView 时自动产生的模板是一样 的.
ASP.NET
<asp:DataList ID="DataList1" runat="server" DataKeyField="ProductID"
DataSourceID="ObjectDataSource1" EnableViewState="False">
<ItemTemplate>
ProductID: <asp:Label ID="ProductIDLabel" runat="server"
Text=''<%# Eval ("ProductID") %>'' /><br />
ProductName: <asp:Label ID="ProductNameLabel" runat="server"
Text=''<%# Eval ("ProductName") %>'' /><br />
SupplierID: <asp:Label ID="SupplierIDLabel" runat="server"
Text=''<%# Eval ("SupplierID") %>'' /><br />
CategoryID: <asp:Label ID="CategoryIDLabel" runat="server"
Text=''<%# Eval ("CategoryID") %>''/><br />
QuantityPerUnit: <asp:Label ID="QuantityPerUnitLabel" runat="server"
Text=''<%# Eval ("QuantityPerUnit") %>'' /><br />
UnitPrice: <asp:Label ID="UnitPriceLabel" runat="server"
Text=''<%# Eval ("UnitPrice") %>'' /><br />
UnitsInStock: <asp:Label ID="UnitsInStockLabel" runat="server"
Text=''<%# Eval ("UnitsInStock") %>'' /><br />
UnitsOnOrder: <asp:Label ID="UnitsOnOrderLabel" runat="server"
Text=''<%# Eval ("UnitsOnOrder") %>'' /><br />
ReorderLevel: <asp:Label ID="ReorderLevelLabel" runat="server"
Text=''<%# Eval ("ReorderLevel") %>'' /><br />
Discontinued: <asp:Label ID="DiscontinuedLabel" runat="server"
Text=''<%# Eval ("Discontinued") %>'' /><br />
CategoryName: <asp:Label ID="CategoryNameLabel" runat="server"
Text=''<%# Eval ("CategoryName") %>'' /><br />
SupplierName: <asp:Label ID="SupplierNameLabel" runat="server"
Text=''<%# Eval ("SupplierName
|