一个分页控件

分页|控件

pager.ascx

<%@ Control Language="c#" AutoEventWireup="false" Codebehind="pager.ascx.cs" Inherits="Web.pagercontrol" TargetSchema="http://schemas.microsoft.com/intellisense/ie5"%>
var currentpage=<%=pageindex%>;//当前第几页
var p=<%=pageindex%>-1;
var sum=<%=sum%>;
var perpage=<%=perpage%>;
var urlstr='<%=urlstr%>';
var fontcolor='<%=fontcolor%>';
//n代表一共有多少页
if(sum%perpage==0)
{
n=sum/perpage;
}
else
{
n=(sum-sum%perpage)/perpage+1;
}
document.write ('<table border="0" cellpadding="0" cellspacing="3" width="<%=tablewidth%>" align="center" >');
document.write ('<form method=post action="'+urlstr+'">');
document.write ('<tr style="font-size: 12px;"><td valign="middle">');
document.write ('页次:<b>'+currentpage+' </b>/<b> '+n+ '</b>页 每页<b>'+perpage+' </b> 共计:<b> '+sum+' </b>条数据</td>');
document.write ('<td valign="middle"><div align="right" >分页:');
if (currentpage==1)
{
document.write ('<font face=webdings color="'+fontcolor+'">9</font>');
}
else
{
document.write ('<a href="'+urlstr+'&page=1" title="首页"><font face=webdings>9</font></a>');
}
if (currentpage > 10)
{
document.write ('<a href="'+urlstr+'&page='+(currentpage-10)+'" title="上十页"><font face=webdings>7</font></a> ');
}
document.write ('<b>');
for (i=p-p%10+1;i<p-p%10+1+11;i++)
{
if (i==n+1) break;
if (i==currentpage)
{
document.write (' <font color="'+fontcolor+'">'+i+'</font> ');
}
else
{
document.write (' <a href="'+urlstr+'&page='+i+'">'+i+'</a> ');
}
}
document.write ('</b>');
if (n-currentpage>10)
{
document.write ('<a href="'+urlstr+'&page='+(currentpage+10)+'" title="下十页"><font face=webdings>8</font></a> ');
}
if (currentpage==n)
{
document.write ('<Font face=webdings color="'+fontcolor+'">:</font>');
}
else
{
document.write ('<a href="'+urlstr+'&page='+n+'" title="尾页"><font face=webdings>:</font></a> ');
}

document.write ('转到:<input type=text name=Page size=3 maxlength=10 value="'+currentpage+'"><input type=submit value=Go name=submit>');
document.write ('</div></td></tr>');
document.write ('</form></table>');

pager.ascx.cs

namespace Web
{
using System;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

/// <summary>
/// pager1 的摘要说明。
/// </summary>
public class pagercontrol : System.Web.UI.UserControl
{
public string urlstr="page.aspx";
public int pageindex=1;
public int sum=20;
public int perpage=20;
public string tablewidth="100%";
public string fontcolor="black";
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面

}

#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器
/// 修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}

时间: 2024-11-15 20:10:02

一个分页控件的相关文章

asp.net中使用自定义控件的方式实现一个分页控件的代码_实用技巧

一.概述 在web开发中,常常需要显示一些数据,而为了方便排版及浏览,我们只需要显示所有记录中的一部分.一般情况下,我们采用分页来实现这个需求.实现分页的方法多种多样,在本文中,我们采用了一个分页空间来记录记录总数.当前页.总页数及页面大小等.为了有一个直观上的印象,先展示该控件运行后的效果,效果如下图所示: 二.实现方案 为了实现该效果图,在asp.net中,可以使用Custom Controls and User Controls两种方式,User Controls的实现方式及其简单,而且使

我自己写的一个分页控件(源码和演示代码)PostBack分页版 for vs2003、SQL Server

温馨提示:asp.net分页控件已经升级了,基于.net2.0 ,支持多种数据库.正式命名为:QuickPager Asp.net 2.0 分页控件. 网站:www.natureFW.com 下载:http://www.naturefw.com/down/List1.aspx 在线演示:http://demo.naturefw.com 上一篇随笔:我的分页控件(未完,待续)--控件件介绍及思路 一.分页控件的工作层次    如果按照三层的划分方式来说,应该算作工作在 UI层 和 逻辑层.    

自己写的一个分页控件,欢迎下载源代码

可定制的地方请看下图,自己感觉还算够用了.源代码下载 这是后台调用绑定的方法 C#代码 protected void Page_Load(object sender, EventArgs e)    {        if (!IsPostBack)        {            PageControl1.Bind(pageIndex1, 20, 101, null, "page1");            PageControl2.Bind(pageIndex2, 10,

一个比较通用的分页控件,完整的设计时支持和比较流行的分页模式(提供源码下载)

这是我写的一个分页控件,功能如下: 1.支持设计时支持和两种分页模式,其中综合分页模式的效果如下: 普通分页模式的效果如下: 2.完善的设计时支持,包括自动套用格式和设计时面板设置: 使用方法: 在aspx页面中:复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Cyclone.Custom

【自然框架】QuickPager分页控件的总体介绍和在线演示

   QuickPager分页控件的特点    两种运行方式:自动运行.手动运行.前者便捷,后者灵活.  多种分页方式:Postback.Postback伪URL.URL.URL重写.Ajax For服务器控件伪URL.  多种分页算法:Max.颠倒Top(优化版).Row_Number.自动适应等.可以应对多种数据库和各种需求.  支持多种数据显示控件:GridView.DataList.Repeater等控件.有DataSource和DataBind()的控件都支持.  不需要存储过程,但是

我的分页控件(未完,待续)——控件件介绍及思路

分页控件新版本,基于.net2.0.http://www.cnblogs.com/jyk/archive/2008/07/05/1236692.html 一.      工作的层次 UI层和逻辑层. UI层:显示首页.末页.上一页.下一页.页号导航.文本框输入页号:共计多少条记录.多少页.当前页号等信息. 逻辑层:提供分页算法(SQL语句),根据分页控件的属性,在运行的时候生成分页用的SQL语句. 二.      流程 l         设置分页控件的属性 l         根据算法和属性生

【开源】QuickPager 分页控件的内部结构,和OO原则与设计模式

  关键字:提出需求.需求分析.原则.设计模式.索引        先说一下讨论的范围:使用数据库保存信息的项目,b/s结构,asp.net编写.请不要讨论这个范围之外的事情哦,谢谢!        这里想说的并不仅限于一个控件,而是一个关于分页的解决方案.信息都是放在数据库里的,在b/s结构里面一次提取所有的数据显示并不是一个好的方法,所以就需要一个把数据分成多个页的形式来显示.关于分页的解决方案有多种,一种实现方式可以用一个"分页控件"(我的解决方案),也可以用其他的方式来体现(比

【开源】QuickPager ASP.NET2.0分页控件V2.0.0.6 修改了几个小bug,使用演示。

       由于项目里面还在使用vs2003,还没有使用新的分页控件,所以对新的分页控件的测试还很不到位,遗留了不少的bug,感谢网友试用提出宝贵意见.由于项目正在收尾中,时间也不是太充裕,所以使用说明也不够详细.这次是发一个新的版本,另外主要是说一下,如何在一个页面(一个项目)里访问多种数据库,对多种数据库里的表进行分页.        我用过的数据库有SQL Server2000.SQL Server2005.Access.Excel,而分页控件也支持这四种数据库,那么就以这四种数据库为例

Winform分页控件使用详细介绍

自从上篇随笔<Winform分页控件最新版本发布,并提供基于DotNetBar界面的版本>介绍了最新版本的分页控件,并提供下载使用后,很多人对分页控件非常感兴趣(毕竟Winform数据分页是很常见的),并关注该分页控件应该如何使用,其实分页控件在之前很多篇随笔中断断续续都有介绍,为了使大家对分页控件有个系统的认识,本篇详细介绍分页控件的一些属性设置及相关使用注意事项,使大家对该分页控件有一个更深的了解.跟系统的认识,以便在相关的项目开发中熟练使用.分页控件效果     实现步骤  1.在Vis