<AspNetPagerDoc>
<Class name="AspNetPager">
<summary>
用于ASP.NET Web应用程序中对数据进行分页的的服务器控件。
</summary>
<remarks>
不同于DataGrid或GridView等带分页功能的数据绑定控件,AspNetPager分页控件本身并不显示任何数据,而只显示分页导航元素,数据在页面上的显示方式与该控件无关。AspNetPager分页控件可以为GridView、DataGrid、DataList、Repeater以及自定义的数据绑定控件进行分页。AspNetPager不仅仅是一个分页控件,它还可以实现如图片浏览等程序中的前一页后一页等导航功能。
<p>AspNetPager控件的分页方法和GridView非常相似,但AspNetPager的分页功能更为灵活、强大。AspNetPager分页控件不仅仅支持默认的PostBack方式分页,它还支持通过Url来实现分页以及Url重写功能,这使得访问者可以直接输入相应的Url来访问任何页面,并且搜索引擎也可以直接检索每个页面,若使用DataGrid或GridView等.net框架自带的数据绑定控件的分页功能,这些是无法实现的。</p><p>
要使用 AspNetPager 分页控件,必须最少指定它的 <see cref="RecordCount" /> 属性的值,另外如果需要,指定并编写 <see cref="PageChanging"/> 或 <see cref="PageChanged" /> 事件的处理程序,可以在PageChanging事件处理程序中取消分页事件,在PageChanged事件处理程序中绑定数据或实现自定义的数据呈现逻辑。
<see cref="RecordCount" /> 属性指定要分页的所有数据的总项数,若未指定该值或该值小于等于 <see cref="PageSize" /> ,即要分页的数据只有一页,则AspNetPager控件默认会自动隐藏而不显示任何内容,若需在只有一页数据的情况下显示AspNetPager分页控件,可以将它的AlwaysShow属性设为true即可。
</p></remarks>
<example>
以下示例说明如何用AspNetPager对Repeater进行分页。
<code>
<![CDATA[
<%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %>
<%@Import NameSpace="System.Data"%>
<%@Import NameSpace="System.Data.SqlClient"%>
<script runat="server" Language="C#">
void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
int totalOrders = (int)SqlHelper.ExecuteScalar(CommandType.StoredProcedure, "P_GetOrderNumber");
AspNetPager1.RecordCount = totalOrders;
bindData();
}
}
void bindData()
{
Repeater1.DataSource = SqlHelper.ExecuteReader(CommandType.StoredProcedure,"P_GetPagedOrders2005",
new SqlParameter("@startIndex", AspNetPager1.StartRecordIndex),
new SqlParameter("@pageSize", AspNetPager1.PageSize));
Repeater1.DataBind();
}
void AspNetPager1_PageChanged(object src, EventArgs e)
{
bindData();
}
</script>
<HTML><HEAD>
<TITLE> AspNetPager Samples </TITLE>
<META NAME="Author" CONTENT="Webdiyer (www.webdiyer.com)">
</HEAD>
<BODY>
<form runat="server">
<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
<table width="100%" border="1" cellspacing="0" cellpadding="4" style="border-collapse:collapse">
<tr style="backGround-color:#CCCCFF"><th style="width:15%"><asp:Literal ID="Literal1" runat="server" Text="<%$Resources:LocalizedText,orderid%>" /></th><th style="width:15%"><asp:Literal ID="Literal3" runat="server" Text="<%$Resources:LocalizedText,orderdate%>" /></th><th style="width:30%"><asp:Literal ID="Literal5" runat="server" Text="<%$Resources:LocalizedText,companyname%>" /></th><th style="width:20%"><asp:Literal ID="Literal2" runat="server" Text="<%$Resources:LocalizedText,customerid%>" /></th><th style="width:20%"><asp:Literal ID="Literal4" runat="server" Text="<%$Resources:LocalizedText,employeename%>" /></th></tr>
</HeaderTemplate>
<ItemTemplate>
<tr style="background-color:#FAF3DC">
<td><%#DataBinder.Eval(Container.DataItem,"orderid")%></td>
<td><%#DataBinder.Eval(Container.DataItem,"orderdate","{0:d}")%></td>
<td><%#DataBinder.Eval(Container.DataItem, "companyname")%></td>
<td><%#DataBinder.Eval(Container.DataItem,"customerid")%></td>
<td><%#DataBinder.Eval(Container.DataItem,"employeename")%></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
<webdiyer:AspNetPager ID="AspNetPager1" runat="server" Width="100%" HorizontalAlign="right" PageSize="8" OnPageChanged="AspNetPager1_PageChanged">
</webdiyer:AspNetPager>
</form>
</BODY>
</HTML>
]]>
</code><p>该示例所用的Sql Server存储过程代码如下(仅适用于SQL Server 2005):</p><code>
<![CDATA[
CREATE PROCEDURE P_GetPagedOrders2005
@startIndex INT,
@pageSize INT
AS
begin
WITH orderL�
AspNetPager60分页控件源码
需积分: 0 92 浏览量
更新于2008-11-27
收藏 37KB RAR 举报
AspNetPager60是一款高效、灵活且易于使用的ASP.NET分页控件,它的源码提供了深入学习和自定义分页功能的机会。此控件允许开发者在Web应用中轻松地实现数据的分页显示,提高用户体验并优化网站性能。下面将详细探讨这个控件的关键知识点。
1. 分页原理:
AspNetPager60的核心功能是分页,其工作原理基于数据库查询的分页。在处理大量数据时,不是一次性加载所有记录,而是根据用户请求的页码,只加载当前页所需的数据,降低了服务器的负担和页面加载时间。
2. 使用步骤:
- 引入库:首先需要在项目中引用AspNetPager60的DLL文件或直接添加源代码文件。
- 添加控件:在ASP.NET页面上添加AspNetPager控件,并设置相关属性,如总记录数、每页显示记录数等。
- 配置数据源:与数据源(如SqlDataSource、ObjectDataSource等)进行绑定,确保控件知道如何获取和展示数据。
- 事件处理:可以通过事件(如PageChanging)来处理分页操作,实现数据的动态加载。
3. 主要属性:
- PageCount:表示总页数。
- CurrentPageIndex:当前页索引。
- PageSize:每页显示的记录数。
- RecordCount:总记录数。
- Mode:分页模式,如数字链接、下拉列表等。
- UrlFormat:自定义链接格式,用于生成分页链接。
4. 自定义功能:
- AspNetPager支持自定义样式和模板,可以通过CSS和控件的模板属性来自定义分页按钮的外观和布局。
- 通过编程方式可以控制是否显示“首页”、“末页”、“上一页”、“下一页”等特殊按钮,以及页码范围的显示。
5. 国际化支持:
包含的AspNetPager.resx和AspNetPager.en.resx文件用于本地化,提供多语言支持。可以根据需要添加其他语言的资源文件,以便在不同地区使用。
6. 开发工具:
AspNetPager.csproj和Wuqi.Webdiyer.AspNetPager.csproj是项目的解决方案文件,用于在Visual Studio中管理源代码。AssemblyInfo.cs包含元数据信息,如版本、版权等。Wuqi.Webdiyer.AspNetPager.sln和Wuqi.Webdiyer.AspNetPager.suo分别是解决方案文件和用户选项文件,保存了开发环境的相关设置。
7. 图像资源:
Wuqi.Webdiyer.AspNetPager.bmp可能是控件的图标或示例图像,供用户参考。
通过深入研究这些源代码,开发者不仅可以了解分页控件的实现机制,还可以根据需求对其进行扩展和定制,提高应用的用户体验。对于学习ASP.NET开发,尤其是网页分页功能的实现,AspNetPager60的源码是一个宝贵的资源。
liq88
- 粉丝: 2
- 资源: 8
最新资源
- 运输工具检测17-YOLO(v5至v9)、COCO、CreateML、Paligemma、TFRecord数据集合集.rar
- 西门子V90效率倍增-伺服驱动功能库详解-简易非循环功能库之绝对值编码器校准.mp4
- COMSOL 远场偏振通用计算方法,包含远场偏振图,能带,matlab 程序 展示包含仿真文件截图,所见即所得
- MATLAB基础知识到高级应用全面介绍
- 配电网有功电压控制的多智能体强化学习(代码) 针对电压主动控制问题的不同场景,采用7种最先进的MARL算法进行了大规模实验,将电压约束转化为势垒函数,并从实验结果中观察到设计合适的电压势垒函数的重要性
- PLC立体车库智能仿真 博途V15 3×2立体车库 西门子1200PLC 触摸屏仿真 不需要实物 自带人机界面 小车上下行有电梯效果 每一个程序段都有注释 FC块标准化编写 自带变频器输出也可以仿真
- 运输工具检测20-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma、TFRecord数据集合集.rar
- Fortran语言全面教程:从基础语法到高级特性
- comsol电树枝,电击穿
- 基于条件风险价值CVaR的微网 电厂多场景随机规划 摘要:构建了含风、光、燃、储的微网 电厂优化调度模型,在此基础上,考虑多个风光出力场景,构建了微网随机优化调度模型,并在此基础上,基于条件风险价值理
- agv 1221.fbx111
- Kotlin编程语言基础教程与高级特性实践
- 燃料电池功率跟随cruise仿真模型 此模型基于Cruise2019版及Matlab2018a搭建调试而成,跟随效果很好,任务仿真结束起始soc几乎相同 控制模型主要包括燃料堆控制、DCDC控制
- 飞机、桥、人、游泳池、车辆、风车检测13-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma、TFRecord、VOC数据集合集.rar
- 基于LQR最优控制算法实现的轨迹跟踪控制,建立了基于车辆的质心侧偏角、横摆角速度,横向误差,航向误差四自由度动力学模型作为控制模型,通过最优化航向误差和横向误差,实时计算最优的K值,计算期望的前轮转角
- 北京大学 博士研究生申请汇报答辩.pptx