快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-21
,Edit Templates 不显示声明的数据绑定代码.通过Edit Templates 的界面很容易操作静态标记语言和web控件,其前提是所有的数据绑定 都是通过web控件的智能标签里的Edit DataBindings对话框来实现.

因此, 使用DataList的时候,我建议使用Label控件,这样通过Edit Templates 就可以操 作其内容.我们会看到,使用Repeater 时如果需要编辑其内容,需要切换到源视图. 而设计Repeater模板的时候,我通常不使用Label控件,除非我需要格式化绑定数据 的外观.

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

图8: 用DataList的 ItemTemplate显示Product

第三步: 改善 DataList的外观

和GridView一样,DataList 提供了一些和风格有关的属性 ,比如Font, ForeColor, BackColor, CssClass, ItemStyle, AlternatingItemStyle, SelectedItemStyle等.当使用 GridView 和DetailsView 时,我们首先在DataWebControls Theme里创建了一些皮肤文件,这些文件预定义了 这两个控件的CssClass 属性和RowStyle, HeaderStyle等.我们使用DataList的时 候也采取这种方法.

象在使用ObjectDataSource展现数据 里谈到的那样, 一个Skin 文件定义了一个web控件的默认显示属性.一个Theme 是一组Skin, CSS, image, 和JavaScript files 的集合,它定义了一个web站点的外观.在使用 ObjectDataSource展现数据 那一章里,我们创建了一个DataWebControls Theme (App_Themes 文件夹下) ,它包含两个Skin文件- GridView.skin 和 DetailsView.skin.我们现在来为DataList添加第三个.

右键单击 App_Themes/DataWebControls 文件夹,选择Add a New Item,选择Skin File,在名 字里填DataList.skin.

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

图9: 创建一个名为DataList.skin的Skin文件

将下面的标记语 言添加到DataList.skin里.

ASP.NET

<asp:DataList runat="server" CssClass="DataWebControlStyle">
<AlternatingItemStyle CssClass="AlternatingRowStyle" />
<ItemStyle CssClass="RowStyle" />
<HeaderStyle CssClass="HeaderStyle" />
<FooterStyle CssClass="FooterStyle" />
<SelectedItemStyle CssClass="SelectedRowStyle" />
</asp:DataList>

上面用GridView 和DetailsView 使用 的CSS文件设置DataList .在DataWebControlStyle, AlternatingRowStyle, RowStyle里用到的CSS文件是在Styles.css 里定义的.

添加完Skin 后,DataList的外观看起来会变了(你可以在视图菜单里选择刷新来看改变后的效 果).见图10,alternating product 的背景色为粉红色.

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

图10: 添加skin文件后的效果

第四步: 浏览DataList的其它 Templates

DataList 还支持除了ItemTemplate外的其它6种 template:

HeaderTemplate —用来呈现 header row

AlternatingItemTemplate — 用来呈现alternating items

SelectedItemTemplate — 用来呈现selected item; selected item 的index 可以通过DataList 的SelectedIndex property 得到

EditItemTemplate — 用来呈现被编辑的item 

SeparatorTemplate — 用来分隔各个item

FooterTemplate - 用来呈现footer row

当指定HeaderTemplate 或FooterTemplate 时,DataList 会加一个header 或footer .和GridView一样,DataList 的header 和footer 没有和数据绑定在一起.

注意:如我们在在GridView的页脚中显 示统计信息一章里看到的那样,header 和footer 不支持数据绑定语法,而数据绑 定的信息可以通过GridView的RowDataBound event handler来写.这个技术可以用 来技术绑定的数据的和或其它信息,并在footer里显示.同样的,可以在DataList 和Repeater 里面这样做.它们唯一的区别在于对DataList 和Repeater 来说是为 ItemDataBou

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号