快速业务通道

ASP.NET 2.0数据教程之二十九:用DataList和Repeater来显示数据

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-21
nd 创建event handler (而不是RowDataBound ).

在我们的例 子里,我们将标题“Product Information”用<h3> 显示在 DataList的results 的顶部.为了达到这个目的,在HeaderTemplate 中添加合适的 标记语言.或者通过DataList的智能标签中的Edit Templates 来实现.从下拉列表 中选择Header Template ,从style 下拉列表中选择Heading 3 并输入Text(见图 11).

ASP.NET 2.0数据教程之二十九:用DataList和Repeater来显示数据

图 11: 添加Text 为“Product Information”的 HeaderTemplate

同样,直接在<asp:DataList>标记里加入以下代码 也可以达到上面的目 的.

ASP.NET

<HeaderTemplate>
<h3>Product Information</h3>
</HeaderTemplate>

为了在每个列出的product 之间保留 一些空间,我们现在来添加一个SeparatorTemplate .<hr>标签可以完成这 种分割的功能.见下面的标记语 言:

ASP.NET

<SeparatorTemplate>
<hr />
</SeparatorTemplate>

注意:与 HeaderTemplate 和FooterTemplates一样,SeparatorTemplate 并不和数据源里的 任何数据绑定.因此,并不能直接的和DataList绑定的数据发生关系.

现在 在浏览器里浏览这个页面,看起来应该和图12差不多.注意header 和各个product 之间的线.

ASP.NET 2.0数据教程之二十九:用DataList和Repeater来显示数据

图12: DataList 现在包含了 Header Row 和每个Product 之间有一条 线

第五步: 使用Repeater

在浏览图12的例子时,你可以看看页面 的源文件.你会看到DataList 包含有<tr>和<td>标记的 HTML<table>.这个实际上和GridView一样.我们会在将来的教程里看 到,DataList允许每一行显示多条记录.

但如果你不想使用 HTML<table>呢?我们将使用Repeater .Repeater 也是基于templates构建 的.它提供以下5种template:

HeaderTemplate — 在items前加指定 的标记

ItemTemplate — 用来呈现items

AlternatingItemTemplate — 用来呈现alternating items

SeparatorTemplate —在各个item 之间加指定的标记

FooterTemplate - 在items后加指定的标记

在ASP.NET 1.x版本 里.Repeater 通常用来显示一些数据列.在这种情况下,HeaderTemplate 和 FooterTemplates 包含一对<ul>标记,而ItemTemplate 包含 <li> 和数据绑定语法.这种方法在ASP.NET 2.0也适用,比如我们在母板页和站点导航一 章里看到的例子:

在Site.master母板页里, Repeater 用来显示顶级站点 内容(Basic Reporting, Filtering Reports, Customized Formatting, and so on); 嵌套的Repeater 用来显示子区域的内容.

在 SectionLevelTutorialListing.ascx用户控件里, Repeater 用来显示当前站点区 域的子区域内容.

注意:ASP.NET 2.0可以使用BulletedList control.使 用它的时候不需要指定任何和list有关的HTML.而仅仅是指定每个list item的字 段.

Repeater 是一个"全能"的控件,如果你找不到控件可以产 生需要的标记语言,那么可以使用Repeater .我们来举例说明,在第二步里创建的 显示Product信息的DataList上显示出categoried.我们将每个categorie作为一列 显示在单行的HTML<table>里.

从工具箱里拖一个Repeater 到显示 Product 的DataList上.和DataList一样,在定义templates前,Repeater 是灰色的 .

ASP.NET 2.0数据教程之二十九:用DataList和Repeater来显示数据

图 13:添加一个 Repeater 控件

在Repeater 的智能标签里只有一个可选 项:选择数据源.创建一个ObjectDataSource ,用CategoriesBLL 类的 GetCategories 方法配置它.

ASP.NET 2.0数据教程之二十九:用DataList和Repeater来显示数据

图 14: 创建ObjectDataSource

ASP.NET 2.0数据教程之二十九:用DataList和Repeater来显示数据

图 15: 用 CategoriesBLL 类配置ObjectDataSource

ASP.NET 2.0数据教程之二十九:用DataList和Repeater来显示数据

图16: 用 GetCategories Method获取所有Categories的信息

和 DataList不一样,在绑定到数据源后,Visual Studio不会为Repeater 自动创建 ItemTemplate .而且Repeater 的tem

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号