UserDataPager.ascx用户控件代码:

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="UserDataPager.ascx.cs" Inherits="UserDataPager" %>
<style type="text/css">
.style8
{
}
.style11
{
width: 249px;
font-size: small;
}
</style>
<table cellpadding="0" cellspacing="0" style="border: 1px solid #999999; font-size: small; height: 25px; width: 403px;"
bgcolor="#F2F2F2">
<tr>
<td style="text-align: center" class="style11">
共有数据<asp:Label ID="lbldatanum" runat="server" ForeColor="Red"></asp:Label>
条&nbsp; 每页<asp:Label ID="lblnum" runat="server" ForeColor="Red"></asp:Label>
条&nbsp; 第<asp:Label ID="lblCurrentPage" runat="server" ForeColor="Red"></asp:Label>
页/共<asp:Label ID="lblcount" runat="server" Font-Size="9pt" ForeColor="Red"></asp:Label>
页</td>
<td style="text-align: center" class="style8">
<asp:LinkButton ID="lbtnFirst" runat="server" Font-Size="9pt"
onclick="lbtnFirst_Click" Enabled="False">|&lt;</asp:LinkButton>
&nbsp;<asp:LinkButton ID="lbtnForward" runat="server" Font-Size="9pt"
onclick="lbtnForward_Click" Enabled="False">&lt;</asp:LinkButton>
&nbsp;<asp:LinkButton ID="lbtnBackwards" runat="server" Font-Size="9pt"
onclick="lbtnBackwards_Click">&gt;</asp:LinkButton>
&nbsp;<asp:LinkButton ID="lbtnLast" runat="server" Font-Size="9pt"
onclick="lbtnLast_Click">&gt;|</asp:LinkButton>
</td>
</tr>
</table>

UserDataPager.ascx.cs代码:

public partial class UserDataPager : System.Web.UI.UserControl
{
protected static PagedDataSource pds = new PagedDataSource();//创建一个分页数据源的对象且一定要声明为静态
private SqlConnection conn; private object operateID;
public object OperateID
{
get { return operateID; }
set { operateID = value; }
}
private int pageNum=;
public int PageNum
{
get { return pageNum; }
set { pageNum = value; }
}
private string strSQL = "";
public string StrSQL
{
get { return strSQL; }
set { strSQL = value; }
}
private string sql = "";
public string DataSQL
{
get { return sql; }
set { sql = value; }
} private void BindDataList(int currentpage)
{
string mytype = operateID.GetType().ToString();
mytype = mytype.Substring(mytype.LastIndexOf(".") + , mytype.Length - - mytype.LastIndexOf("."));
conn = new SqlConnection(strSQL);
pds.AllowPaging = true;//允许分页
pds.PageSize = pageNum;//每页显示3条数据
pds.CurrentPageIndex = currentpage;//当前页为传入的一个int型值
conn.Open();//打开数据库连接
SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
sda.Fill(ds);//把执行得到的数据放在数据集中
pds.DataSource = ds.Tables[].DefaultView;//把数据集中的数据放入分页数据源中
lblcount.Text = pds.PageCount.ToString();
lblCurrentPage.Text =(pds.CurrentPageIndex + ).ToString();
lblnum.Text = pageNum.ToString();
lbldatanum.Text = ds.Tables[].Rows.Count.ToString();
if (pds.PageCount > )
{
lbtnBackwards.Enabled = true;
lbtnLast.Enabled = true;
}
else
{
lbtnBackwards.Enabled = false;
lbtnLast.Enabled = false;
}
if (mytype == "GridView")
{
((GridView)(operateID)).DataSource = pds;
((GridView)(operateID)).DataBind();
}
else if (mytype == "DataList")
{
((DataList)(operateID)).DataSource = pds;
((DataList)(operateID)).DataBind();
}
conn.Close();
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindDataList();
}
}
protected void lbtnFirst_Click(object sender, EventArgs e)//首页
{
pds.CurrentPageIndex = ;
BindDataList(pds.CurrentPageIndex);
lbtnFirst.Enabled = false;
lbtnForward.Enabled = false;
lbtnBackwards.Enabled = true;
lbtnLast.Enabled = true; }
protected void lbtnForward_Click(object sender, EventArgs e)//上一页
{
if (pds.CurrentPageIndex >= )
{
pds.CurrentPageIndex = pds.CurrentPageIndex - ;
BindDataList(pds.CurrentPageIndex);
lbtnBackwards.Enabled = true;
lbtnLast.Enabled = true;
if (pds.CurrentPageIndex == )
{
lbtnForward.Enabled = false;
lbtnFirst.Enabled = false;
}
}
}
protected void lbtnBackwards_Click(object sender, EventArgs e)//下一页
{
if (pds.CurrentPageIndex <= pds.PageCount - )
{
lbtnFirst.Enabled = true;
lbtnForward.Enabled = true;
pds.CurrentPageIndex = pds.CurrentPageIndex + ;
BindDataList(pds.CurrentPageIndex);
if (pds.CurrentPageIndex == pds.PageCount - )
{
lbtnBackwards.Enabled = false;
lbtnLast.Enabled = false;
}
}
}
protected void lbtnLast_Click(object sender, EventArgs e)//尾页
{
pds.CurrentPageIndex = pds.PageCount - ;
BindDataList(pds.CurrentPageIndex);
lbtnLast.Enabled = false;
lbtnBackwards.Enabled = false; lbtnFirst.Enabled = true;
lbtnForward.Enabled = true;
}
}

Default.aspx代码:

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register src="UserDataPager.ascx" tagname="UserDataPager" tagprefix="uc1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
<style type="text/css">
.style7
{
width: 100%;
height: 42px;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div style="width: 1019px; text-align: center; height: 54px;"> <table align="center" cellpadding="0" cellspacing="0" class="style7">
<tr>
<td style="text-align: left">
<uc1:UserDataPager ID="UserDataPager1" runat="server" />
</td>
</tr>
<tr>
<td>
</td>
</tr>
</table> </div>
<asp:GridView ID="GridView1" runat="server" BackColor="White"
BorderColor="#CCCCCC" BorderStyle="Ridge" BorderWidth="1px"
CellPadding="3" Width="403px">
<RowStyle ForeColor="#000066" />
<FooterStyle BackColor="White" ForeColor="#000066" />
<PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />
<SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />
</asp:GridView>
</form>
</body>
</html>

Default.aspx.cs代码:

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
UserDataPager1.OperateID = GridView1; //设置针对哪个控件进行分页描述
UserDataPager1.StrSQL = "server=.;uid=sa;pwd=123.456;database=TYW;";//设置链接字符串
UserDataPager1.DataSQL = "select * from card";
UserDataPager1.PageNum = 6;
}
}

最终效果:

036. asp.netWeb用户控件之五使用用户控件实现分页数据导航的更多相关文章

  1. 037. asp.netWeb用户控件之五使用用户控件实现文件上传功能

    fileUpload.ascx代码: <%@ Control Language="C#" AutoEventWireup="true" CodeFile= ...

  2. 033. asp.netWeb用户控件之二将页面转换成web控件和使用Web控件显示热点新闻

    访问Web用户控件的属性 ASP.NET提供的各种服务器控件都有其自身的属性和方法,程序开发人员可以灵活地使用服务器控件中的属性和方法开发程序.在用户控件中,程序开发人员也可以自行定义各种属性和方法, ...

  3. ASP.NET MVC中加载WebForms用户控件(.ascx)

    原文:ASP.NET MVC中加载WebForms用户控件(.ascx) 问题背景 博客园博客中的日历用的是ASP.NET WebForms的日历控件(System.Web.UI.WebControl ...

  4. 【番外篇】ASP.NET MVC快速入门之免费jQuery控件库(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  5. JS获取用户控件中的子控件Id

    用户控件 <asp:HiddenField ID="hfGradeId" runat="server" /> <asp:HiddenField ...

  6. asp.net web 开发登录相关操作的控件LoginName、LoginStatus和LoginView控件使用详解

    http://book.51cto.com/art/200909/154039.htm http://book.51cto.com/art/200909/154041.htm ASP.NET提供了一套 ...

  7. ASP.NET MVC显示WebForm网页或UserControl控件

    ASP.NET MVC显示WebForm网页或UserControl控件 学习与使用ASP.NET MVC这样久,还是对asp.net念念不忘.能否在asp.net mvc去显示aspx或是user ...

  8. 念念不忘,ASP.NET MVC显示WebForm网页或UserControl控件

    学习与使用ASP.NET MVC这样久,还是对asp.net念念不忘.能否在asp.net mvc去显示aspx或是user control呢?这个灵感(算不上灵感,只能算是想法)是来自前些天有写过一 ...

  9. 【Asp.net之旅】--因自己定义控件注冊而引发的思考

    前言 近期在开发远洋的SOA系统平台,开发使用的是.NET平台.对于Asp.net并不困难,但该系统的开发并非全然依靠Asp.net.而是自身封装好的框架.这套框架是远洋地产购买的微软的开发平台,项目 ...

随机推荐

  1. 安装eclipse插件时出现问题

    有时候我们安装eclipse插件时,会无法找到repository,这个时候去除掉多余的包,可能就行了.以下例子是安装spring插件,如果全选的话无法安装所有的插件,最终会失败 2.这时我们可以去掉 ...

  2. IntelliJ IDEA 修改包名

    1.首先将AndroidManifest的Package Name重命名(快捷键shift+F6或者右键Refctor然后Rename)这时Package Name就改变了,但是Src的文件名还没变2 ...

  3. 图片延迟加载(用jq自己写的方法)

    $(function() { $("img.lazy").attr("src","2.jpg"); show(); $(window).sc ...

  4. 【python】selenium+python自动化测试环境搭建

    参考资料: http://www.cnblogs.com/fnng/archive/2013/05/29/3106515.html http://www.easonhan.info/python/20 ...

  5. python的类和对象——番外篇(类的静态字段)

    什么是静态字段 在开始之前,先上图,解释一下什么是类的静态字段(我有的时候会叫它类的静态变量,总之说的都是它.后面大多数情况可能会简称为类变量.): 我们看上面的例子,这里的money就是静态字段,首 ...

  6. C++ 高级语法学习与总结(代码实例)

     C++11增加了许多的特性,auto就是一个很明显的例子.  还有就是typedid()获取数据变量的类型 看下面简短的代码: atuo: 很像java中的加强for循环..... //获取一个数据 ...

  7. Hadoop技术内幕-第一章 阅读原代码前的准备

    1.1 源代码学习环境 1.1.1 基础软件的下载 JDK-http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads ...

  8. Windows Store App 全球化:引用分离资源文件中的资源

    大部分应用程序仅需要单个默认资源文件,例如Strings/zh-CN/Resources.resw,但是在某些应用程序中,最好将资源分离到多个资源文件中,以便更好地组织资源内容,这样就需要考虑如何引用 ...

  9. Solr整合中文分词组件IKAnalyzer

    我用的Solr是4.10版本, 在csdn下载这个版本的IKAnalyzer:IK Analyzer 2012FF_hf1.zip 解压后目录如下: (1)这里还用solr自带的example实验分词 ...

  10. C# winform程序如何打包64位安装程序

    故事背景: 原来在客户电脑上工作的很正常的程序,在客户将其操作系统从32位换为64位之后,出现了不能正常使用的问题. --------------------------- 解决办法: 1:将解决方案 ...