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. IE下div使用margin:0px auto不居中的原因

    IE下div使用margin:0px auto不居中的原因 一般在将div居中显示时,使用css: divX {margin:0 auto;} 此css在firefox下是好的,但是在ie下不起作用, ...

  2. win7 桌面上的网络邻居不见了

    win7 桌面上的网络邻居不见了,可能是以前在桌面上直接删除了.现右击桌面--个性化--更改桌面图标,也找不到网上邻居了.怎么找回来啊? 网上邻居已经改名叫网络了.可以右键桌面选择“个性化”,然后更改 ...

  3. iframe 根据加载内容调整高度

    iframe标签代码 <iframe id="checkListFrame" name="checkListFrame"    src="Ind ...

  4. TOSHIBA TEC EXT Printer Z-Mode

    Z-Mode functionality automatically converts the Zebra data stream into a TOSHIBA data stream (TPCL). ...

  5. How can I read binary files from Resources

    How can I read binary files from Resourceshttp://answers.unity3d.com/questions/8187/how-can-i-read-b ...

  6. PHP批量过滤MYSQL数据库内站外链接和图片

    因发现站内很多引用站外文章的链接失效,产生大量的死链接,对于搜索引擎来说是极不友好的,很不利于网站优化,所以站内添加了站外链接过滤功能,对于新加的文章,在添加入库时就自动增加rel="nof ...

  7. WP8.1 Study18:动态磁贴

    一.前言 动态磁贴在WindowsPhone8.1和Windows8.1都是其特色,有人喜欢有人讨厌,不过我觉得还是挺好的,可以让使用者很快知道App内的内容和吸引使用者打开App.下面来学习下怎样添 ...

  8. ios7中的多任务

    转自:http://onevcat.com/2013/08/ios7-background-multitask/ WWDC 2013 Session笔记 - iOS7中的多任务 iOS7的后台多任务特 ...

  9. CPU指令系统

    CPU就是通过指令系统来操控寄存器然后实现读取数据的,所以我们必须介绍一下CPU的指令系统 如果我们知道指令的英文全称,这对我们理解指令的作用有很大帮助,所以贴出指令英文全称 接下来就是介绍一些主要的 ...

  10. python3 使用pyperclip读写剪贴板(windows)

    2016年5月14日 03:41:38 codegay 使用pyperclip库读写剪贴板非常简单~, 1.使用命令安装: pip install pyperclip 2.然后...就可以了: 以下是 ...