• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > 在ASP.NET 2.0中操作数据之二十九:用DataList和Repeater来显示数据

在ASP.NET 2.0中操作数据之二十九:用DataList和Repeater来显示数据

作者:heker2007 字体:[增加 减小] 来源:互联网 时间:2017-05-11

heker2007通过本文主要向大家介绍了repeater asp.net,asp:repeater,asp repeater分页,asp:repeater绑定数据,asp:repeater id等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

导言

  在之前的28篇教程的例子里,如果我们需要显示某个数据源的多条记录,我们使用GridView .GridView 的一行表示数据源的一条记录,列表示一个字段.虽然GridView 用来显示数据,分页,排序,编辑,删除非常的方便,但是有点臃肿.而且GridView 结构的标记是固定的—它包含一个带有<tr>和<td>的HTML <table>标记.

  为了在显示多条记录时,有更好的自定义功能,ASP.NET 2.0提供了DataList 和Repeater (ASP.NET 1.x版本里也有 ).DataList 和Repeater 使用模板来显示内容,而不是象在GridView里那样使用BoundFields, CheckBoxFields, ButtonFields等.DataList 的标记语言为HTML <table>, 不过它允许每一行显示多条记录.另一方面,Repeater不会生成多余的标记语言,因此如果你想精确控制标记语言的生成,它是最理想的选择.

  在后面的若干章教程里,我们将从使用DataList 和Repeater 的模板显示数据开始,来学习它们的最基本的用法.我们将学习如何控制这些控件的格式,如何在DataList里改变数据的布局,最常见的主/从场景,编辑和删除数据的方法,以及如何分页等.

第一步 1: 添加DataList 和Repeater 教程页

  在开始本篇教程前,我们首先花点时间来创建一些页,这些页会在本篇和后面的几篇教程里用到.先添加一个名为DataListRepeaterBasics的文件夹,然后,添加下面的页,添加页的时候确保每页都选择了 Site.master作为母板页:

Default.aspx
Basics.aspx
Formatting.aspx
RepeatColumnAndDirection.aspx
NestedControls.aspx

http://files.weikejianghu.com/file_images/article/201605/2016050910075729.png

图 1: 创建 DataListRepeaterBasics 文件夹 和添加页

  打开Default.aspx页的设计视图,从UserControls文件夹将SectionLevelTutorialListing.ascx用户控件拖进来.这个用户控件提供的功能就是列出教程章节.我们在母板页和站点导航里创建的它.

http://files.weikejianghu.com/file_images/article/201605/2016050910075730.png

图 2: 添加SectionLevelTutorialListing.ascx 用户控件到Default.aspx

最后,将这些页的地址加到 Web.sitemap 的条目里.在Paging and Sorting <siteMapNode>之后添加下面的标记.

<siteMapNode
 title="Displaying Data with the DataList and Repeater"
 description="Samples of Reports that Use the DataList and Repeater Controls"
 url="~/DataListRepeaterBasics/Default.aspx" >
 <siteMapNode
 title="Basic Examples"
 description="Examines the basics for displaying data using the
   DataList and Repeater controls."
 url="~/DataListRepeaterBasics/Basics.aspx" />
 <siteMapNode
 title="Formatting"
 description="Learn how to format the DataList and the Web controls within
   the DataList and Repeater's templates."
 url="~/DataListRepeaterBasics/Formatting.aspx" />
 <siteMapNode
 title="Adjusting the DataList s Layout"
 description="Illustrates how to alter the DataList's layout, showing
   multiple data source records per table row."
 url="~/DataListRepeaterBasics/RepeatColumnAndDirection.aspx" />
 <siteMapNode
 title="Nesting a Repeater within a DataList"
 description="Learn how to nest a Repeater within the template of a DataList."
 url="~/DataListRepeaterBasics/NestedControls.aspx" />
</siteMapNode>

</div>

http://files.weikejianghu.com/file_images/article/201605/2016050910075731.png

图 3: 向 Site Map 里添加新的页

第二步: 在 DataList里显示Product信息

  和FormView一样,DataList 使用模板来显示信息,而非BoundFields, CheckBoxFields等.而与FormView不同的是,DataList 是被用来显示一组记录,而不是单独的一条.现在我们开始本章的教程.首先看看如何将product 绑定到DataList.打开DataListRepeaterBasics 文件夹里的Basics.aspx 页,然后从工具箱里拖一个DataList 进来.如图4所示,在指定模板前,设计器会是灰色的.

http://files.weikejianghu.com/file_images/article/201605/2016050910080032.png

图 4: 从工具箱拖一个DataList到设计器里

  打开DataList的智能标签,添加一个ObjectDataSource ,使用ProductsBLL 类的GetProducts 方法来配置它.因为在本教程里创建的DataList 为只读的,因此在INSERT, UPDATE, 和DELETE 标签的下拉列表里都选择None.

http://files.weikejianghu.com/file_images/article/201605/2016050910080033.png

图 5: 创建一个新的ObjectDataSource

http://files.weikejianghu.com/file_images/article/201605/2016050910080134.png

图 6: 用ProductsBLL 类来配置ObjectDataSource

http://files.weikejianghu.com/file_images/article/201605/2016050910080135.png

图 7: 使用GetProducts 方法来获取所有Product的信息

  通过智能标签里配置完ObjectDataSource ,并把它和DataList 关联起来后,Visual Studio会在DataList 里自动为数据源返回的每个字段创建一个ItemTemplate 用来显示name 和value (见下面的代码).这个默认的ItemTemplate看起来和绑定FormView 时自动产生的模板是一样的.

<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") %>' /><br />
 <br />
 </ItemTemplate>
</asp:DataList>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server"
 OldValuesParameterFormatString="original_{0}"
 SelectMethod="GetProducts" TypeName="ProductsBLL">
</asp:ObjectDataSource>
</div>

  注意:当通过智能标签将数据源绑定到FormView 时,Vistual Studio会创建一个ItemTemplate,一个InsertItemTemplate和一个EditItemTemplate.然而对DataList来说,只会创建一个ItemTemplate .这是因为DataList 不象FormView那样,有内置的编辑和插入功能.DataList 没有编辑和删除相关的事件,虽然要完成这些功能,对DataList 来说没有FormView那么简单,我们仍然可以加少量代码来实现它.我们在以后的教程里会讲到如何在DataList 里完成编辑和删除的功能

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • .NET中的repeater简介及分页效果
  • 详解ASP.NET数据绑定操作中Repeater控件的用法
  • 在ASP.NET 2.0中操作数据之四十四:DataList和Repeater数据排序(三)
  • 在ASP.NET 2.0中操作数据之四十三:DataList和Repeater数据排序(二)
  • 在ASP.NET 2.0中操作数据之四十二:DataList和Repeater数据排序(一)
  • 在ASP.NET 2.0中操作数据之四十一:DataList和Repeater数据分页
  • 在ASP.NET 2.0中操作数据之三十:格式化DataList和Repeater的数据
  • 在ASP.NET 2.0中操作数据之二十九:用DataList和Repeater来显示数据
  • asp.net实现DataList与Repeater嵌套绑定的方法
  • ASP.NET数据绑定之Repeater控件

相关文章

  • 2017-05-11解析GridView自带分页及与DropDownList结合使用
  • 2017-05-11读取XML并绑定至RadioButtonList实现思路及演示动画
  • 2017-05-11ASP.NET调用javascript脚本的常见方法小结
  • 2017-05-11asp.net图片上传实例
  • 2017-05-11asp.net Accee数据库连接不稳定解决方案
  • 2017-05-11asp.net下判断用户什么时候离开,以什么方式离开
  • 2017-05-11upload上传单张图片
  • 2017-05-11LiteralControl ASP.NET中的另类控件
  • 2017-05-11asp.net core mvc实现文件上传实例
  • 2017-05-11删除特殊字符和限定用户输入长度的示例代码

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • ASP.NET实现URL映射的方法
    • ASP.NET微信公众号查看粉丝信息接口
    • ASP.NET web.config 配置节点详解
    • VS2005 水晶报表在时部署时遇到的问题
    • 深入Lumisoft.NET组件与.NET API实现邮件发送功能的对比分析
    • 关于c#连接ftp进行上传下载实现原理及代码
    • Visual Studio 2015全英界面切换成中文界面
    • 扩展方法ToJSON() and ParseJSON()
    • C# WindowsMediaPlayer 的一些用法实例
    • mvc上传到美橙云虚拟机系列问题的解决方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有