ASP.NET自定义控件 第十天 实现分页功能的DataList

1. 引言

在ASP.NET中DataList可以实现数据展示,我们可以通过定制其模版实现丰富 的格式,但是美中不足的时DataList默认情况下不支持分页,我们当然可以编写 一个用户控件以实现分页功能,但是这种方案仍然不是很好,我们希望像使用普 通ASP.NET服务器端控件一样,只需要放置一个DataList并设置分页样式就可以输 出分页链接。

在上次任务中我们创建了DataPager类将创建分页的操作从GridView分离出来 ,本次任务将尝试重用DataPager类为DataList增加分页特性。

2. 分析

开发自定义GridView控件时,可以通过向控件中加入具有特定CommandName的 按钮实现分页,但是对于DataList却不适用,因为DataList不能接收到客户端的 回发事件,这也是DataList类和GridView类的一个区别—DataList类没有实现 IPostBackEventHandler接口。为了能够使DataList接收客户端回发并触发分页事 件,需要使自定义DataList实现IPostBackEventHandler接口,并使用自定义事件 参数类在触发事件时传递页码信息。

IPostBackEventHandler接口定义了ASP.NET服务器控件为处理回发事件而必须 实现的方法,它的成员只有一个方法:

void RaisePostBackEvent(string eventArgument)

该方法由类实现时,使服务器控件能够处理将窗体发送到服务器时引发的事件 。

接下来需要考虑如何在客户端引起回发事件,即怎样生成回发脚本。这里使用 到了ClientScriptManager类,该类作为Page类的一个属性ClientScript出现,通 过调用该类的GetPostBackClientHyperlink方法生成客户端脚本以引起回发,该 方法有两个形式的重载:

GetPostBackClientHyperlink (Control, String)

获取一个引用,并在其开头附加 javascript:,可以在客户端事件中使用该引 用,并将该引用与指定的事件参数一起使用,以便回发到指定控件的服务器。

GetPostBackClientHyperlink (Control, String, Boolean)

获取一个引用,并在其开头附加 javascript:,该引用可用于在客户端事件中 回发到指定控件的服务器,回发时使用指定的事件参数和一个指示是否为事件验 证注册该回发的布尔值。

其中第一个参数指明了处理回发的服务器控件,第二个参数代表传递给服务器 控件的参数,第三个参数代表是否验证注册回发事件。

接下来编写实现代码。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索服务器
, datalist
, 控件
, 参数
, 事件
, 控件datalist
, 自定义控件,引用
, 一个
, asp.net实现分页
, 分页事件
, DataPager
, 服务端分页
, 自定义分页控件
DataList控件
,以便于您获取更多的相关知识。

时间: 2024-08-22 14:08:25

ASP.NET自定义控件 第十天 实现分页功能的DataList的相关文章

ASP.NET中利用DataGrid的自定义分页功能

asp.net|datagrid|分页 ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页 ASP.Net中的DataGrid有内置分页功能, 但是它的默认的分页方式效率是很低的,特别是在数据量很大的时候,用它内置的分页功能几乎是不可能的事,因为它会把所有的数据从数据库读出来再进行分页, 这种只选取了一小部分而丢掉大部分的方法是不可去取的. 在最进的一个项目中因为一个管理页面要管理的数据量非常大,所以必须分页显示,并且不能用DataGrid的内置分页功能,于是自己实现

ASP.NET:DataGrid控件的分页功能

asp.net|datagrid|datagrid控件|分页 DataGrid 控件是一个基于模板样式的.多功能的.多列的数据绑定控件.在三个数据绑定控件中,DataGrid是功能最为强大的,其次时DataList控件,然后是轻量级的数据绑定控件Repeater.要自定义 DataGrid 中各列的布局,您可以将列类型设置为"模板",然后修改列的模板.DataGrid 控件也可以无需模板,只需按照默认的设置即可进行呈现,这使得该控件成了用于报告方案的理想控件.      我们可以把Da

菜鸟十天学会ASP教程之第十天:分页技术

分页|教程|十天学会 上一节:Session组件 学习目的:分页技术 今天最后一天我们学习一下ASP里面稍微难一点地分页技术,毕竟当我们有N条记录的时候我们不可能把所有记录显示在一个页面里面吧. <%exec="select * from test"set rs=server.createobject("adodb.recordset")rs.open exec,conn,1,1rs.PageSize=3pagecount=rs.PageCount page=

ASP程序实现可以保存参数值的分页功能

程序|分页 <%''+++++++++++++++++++++++++++++++++++++++++++++++++++++++''调用例子'Dim int_RPP,int_Start,int_showNumberLink_,str_nonLinkColor_,toF_,toP10_,toP1_,toN1_,toN10_,toL_,showMorePageGo_Type_,cPageNo'int_RPP=2 '设置每页显示数目'int_showNumberLink_=8 '数字导航显示数目's

ASP.NET GridView学习之二 自定义分页功能

1就一些核心代码 2ClientInfo.cs和ClientinfoAccessObj.cs在学习一中有过了 3 4using System; 5using System.Data; 6using System.Configuration; 7using System.Collections; 8using System.Web; 9using System.Web.Security; 10using System.Web.UI; 11using System.Web.UI.WebControl

ASP.NET自定义控件系列-目录

ASP.NET自定义控件 第十天 实现分页功能的DataList ASP.NET自定义控件 第九天 自定义GridView ASP.NET自定义控件 第八天 显示多个条目星级评分的列表控件 ASP.NET自定义控件 第七天 开发具有丰富特性的列表控件 ASP.NET自定义控件 第六天 可以绑定数据源的星级控件 ASP.NET自定义控件 第五天 真正可以评分的星级控件 ASP.NET自定义控件 第四天 折叠面板自定义控件 ASP.NET自定义控件 第三天 使用控件状态的星级控件 ASP.NET自定

在ASP.NET 2.0中操作数据之二十四:分页和排序报表数据_自学过程

导言 分页和排序是在WEB应用程序中展现数据常见的功能.比如,当我们在一个网上书店搜索ASP.NET书籍的时候,可能有几百本相关书籍,但是我们只希望每页显示10条有效记录.而且,我们还希望结果能根据标题.价格.页数和作者等等来进行排序.过去的23个教程中我们研究了如何建立各种报表,包括在界面上添加编辑和删除数据.但是我们没有研究如何对数据进行排序,对于分页我们也仅在研究DetailsView和FormView控件的时候看到. Step 1:添加分页和排序页面 在我们开始以前,首先让我们花些时间来

自当以控件 asp 实现-ASP当中自定义控件的问题

问题描述 ASP当中自定义控件的问题 类似于这样,左边提供工具栏,右边可以使用工具栏提供的工具. 这种功能该如何实现,求大神们指点一二. 解决方案 参考:http://www.zhangxinxu.com/wordpress/2011/02/html5-drag-drop-%E6%8B%96%E6%8B%BD%E4%B8%8E%E6%8B%96%E6%94%BE%E7%AE%80%E4%BB%8B/http://www.shejidaren.com/jquery-drag-and-drop-pl

asp.net中常用到的SQL分页存储过程

asp.net中常用到的SQL分页存储过程 以下是引用片段:create PROCEDURE [dbo].[myPage] @tblName varchar(255), -- 表名 @fldName varchar(255), -- 排序的字段名,一般为唯一标识 @strGetFields varchar(1000) = ' * ', -- 需要返回的列  @PageSize int = 10, -- 每页有多少条记录 @PageIndex int = 1, -- 第几页 @Count int