引言

在基于Asp.net的内网系统中,分页功能是最常用的,用的最多的组件就是AspNetPager。

AspNetPager

官网:http://www.webdiyer.com/aspnetpager/

官网也提供了存储过程的生成工具,这里还是自己动手写吧,顺便在学习一下存储过程的语法:

 CREATE PROC Paged
@pageIndex INT,
@pageCount INT OUTPUT,
@pageSize INT
AS
DECLARE @count INT
SELECT @count= COUNT(*) FROM dbo.Student
SET @pageCount=CEILING(@count*1.0/@pageSize)
SELECT
*
FROM
(SELECT ROW_NUMBER() OVER(ORDER BY dbo.Student.stuId) AS tempId,* FROM dbo.Student) AS stu
WHERE tempId >=@pageSize*(@pageIndex-1)+1 AND tempId <=@pageIndex*@pageSize

在页面中引入组件:

<%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %>

分页样式一: 首页 上一页 下一页 尾页

  <webdiyer:AspNetPager ID="AspNetPager1" runat="server"
CustomInfoHTML="共%PageCount%页,当前为第%CurrentPageIndex%页,每页%PageSize%条,共%RecordCount%条"
FirstPageText="首页"
LastPageText="尾页"
NextPageText="下一页"
PageIndexBoxType="TextBox"
PrevPageText="上一页"
ShowCustomInfoSection="Left"
ShowPageIndex="False"
ShowPageIndexBox="Always"
SubmitButtonText="Go"
SubmitButtonClass="right_d_btn"
TextAfterPageIndexBox="页"
TextBeforePageIndexBox="转到"
OnPageChanging="AspNetPager1_PageChanging"
AlwaysShow="True"
PageSize="10"
ShowMoreButtons="false"
HorizontalAlign="Center">
</webdiyer:AspNetPager>

属性介绍:http://www.webdiyer.com/aspnetpagerdocs/

后台代码:

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; namespace Wolfy.AspNetPagerDemo
{
public partial class Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
InitGridView();
} protected void AspNetPager1_PageChanging(object src, Wuqi.Webdiyer.PageChangingEventArgs e)
{
this.AspNetPager1.CurrentPageIndex = e.NewPageIndex;
InitGridView();
}
private void InitGridView()
{
int count;
int pageCount;
gridStudent.DataSource = new BLL.StudentBLL().GetStudents(this.AspNetPager1.CurrentPageIndex, AspNetPager1.PageSize, out pageCount, out count);
gridStudent.DataBind();
//赋值分页控件的总数
AspNetPager1.RecordCount = count;
}
}
}

效果:

效果二:页面导航 默认方式

  <form id="form1" runat="server">
<asp:gridview runat="server" ID="gridStudent"></asp:gridview>
<div>
<%-- 分页样式二 默认方式 1 2 3 4 5 6 7...--%> <webdiyer:AspNetPager ID="AspNetPager1" runat="server" PageSize="5"
OnPageChanging="AspNetPager1_PageChanging">
</webdiyer:AspNetPager>
</div>
</form>

效果:

总结

弄了两个较常用的样式,东西比较基础。纯粹娱乐。

代码下载:链接:http://pan.baidu.com/s/1o6I2bpw 密码:7ije

[Asp.net]AspNetPager分页组件的更多相关文章

  1. ASP.NET MVC分页组件MvcPager 2.0版发布暨网站全新改版

    MvcPager分页控件是在ASP.NET MVC Web应用程序中实现分页功能的一系列扩展方法,该分页控件的最初的实现方法借鉴了网上流行的部分源代码, 尤其是ScottGu的PagedList< ...

  2. 【ASP.NET MVC 回顾】HtmlHepler应用-分页组件

    以前在ASP.NET WebForm开发中会用到许多控件,像DropDownList等.同样ASP.NET MVC中也有类似的控件-HtmlHelper. HtmlHelper和服务器控件相比,Htm ...

  3. asp.mvc中的vue分页实例,分页组件无法重置reload,解决点击查询按钮后,分页不刷新的问题

    刚刚接触Vue.js,现在需要做一个查询功能,并且进行服务端分页.主要思路是在页面中注册一个分页组件,然后进行调用.代码如下 1.引用vue.js,具体去网上下载 2.在html的body中添加如下代 ...

  4. asp.net core 排序过滤分页组件:sieve(1)

    使用asp.net core开发时避免不了要用一个合适的分页组件来让前端获取分页数据.github上面有一个开源的分页组件在这方面很适合我的使用,于是我把他的文档翻译一下,随后会分析它里面的源码.这是 ...

  5. ASP.NET:使用Flurl制作可复用的分页组件

    使用ASP.NET MVC查询时,一直使用MvcPaging组件,虽然需要自定义MvcPaging.Pager才能达到我想要的效果,但在没有较好的URL库时,还是这么用.分页的逻辑本来就不复杂,更重要 ...

  6. asp.net MVC通用分页组件 使用方便 通用性强

    asp.net MVC通用分页组件 使用方便 通用性强   该分页控件的显示逻辑: 1 当前页面反色突出显示,链接不可点击 2 第一页时首页链接不可点击 3 最后一页时尾页链接不可点击 4 当前页面左 ...

  7. asp.net mvc4+mysql做一个简单分页组件(部分视图)

    在开始做mysql分页功能组件前,便设定的是要有一定可复用性.先在项目里Views文件夹下右键新建名为_PaginationComponent.cshtml,这里html及css我采用的bootstr ...

  8. cPage分页,asp.net自定义分页,url传值分页,支持datalist、gridview、Repeater等

    asp.net分页是最最常用的功能,实现方式也很多,使用不同的控件有不同的分页方式. 下面分享一个我们团队内部使用了多年的一个分页控件cPage,是自己设计编写,没有冗余,简单.快速. cPage,现 ...

  9. asp.net中分页与存储过程的一些总结

    一.接上文,使用的是jquery AJAX 进行分页 分页存储过程代码如下: ALTER PROCEDURE [dbo].[USP_GetAlbumByPage] @pageIndex int,--当 ...

随机推荐

  1. python-unittest学习2--生成报告

    上个是小练习  ,这次将unittest模块化一下,也就是吧用例放在case目录下,start放在bin目录下面 -------------------start------------------- ...

  2. Percona XtraDB Cluster(PXC) Mysql 集群

    Percona XtraDB Cluster(PXC)   ---原理介绍篇         目录 一.简介 1 二.优缺点 2 三.区别/局限性 3 四. PXC复制原理 4 五. 服务解释 5   ...

  3. 谷歌翻译python接口

    项目地址:  https://github.com/ssut/py-googletrans 安装: sudo pip install googletrans 使用: #!/usr/bin/python ...

  4. Selenium--testNG下载地址

    TestNG - http://beust.com/eclipse   http://testng.org/doc/eclipse.html http://testng.org/doc/seleniu ...

  5. ElasticSearch部署文档(Ubuntu 14.04)

    ElasticSearch部署文档(Ubuntu 14.04) 参考链接 https://www.elastic.co/guide/en/elasticsearch/guide/current/hea ...

  6. 用memcached实现的php锁机制

    <?php /** * 使用Memcache实现给进程加锁的类 * * Copyright (C) 2013 JeffJing * * 一些时候需要让系统的某些操作串行化,这个时候就要对这些操作 ...

  7. json调试

    private static void mockapi(OkHttpClient.Builder httpClientBuilder) { if (Config.isMockApi) { MockAp ...

  8. 洛谷P4151 [WC2011] 最大XOR和路径 [线性基,DFS]

    题目传送门 最大XOR和路径 格式难调,题面就不放了. 分析: 一道需要深刻理解线性基的题目. 好久没打过线性基的题了,一开始看到这题还是有点蒙逼的,想了几种方法全被否定了.还是看了大佬的题解才会做的 ...

  9. ORACLE里怎么能判断一个日期类型的字段是否为空,解决方法:is null

    ORACLE里怎么能判断一个日期类型的字段是否为空,解决方法:is null,解决方法:判断什么null都可以用is null.

  10. Arduino可穿戴教程之第一个程序——上传运行程序(四)

    Arduino可穿戴教程之第一个程序——上传运行程序(四) 2.4.5  上传程序 现在所有Arduino IDE的设置都完成了,我们就可以将示例程序上传到板子中了.这非常简单,只需要单击如图2.45 ...