首先在定义4个LinkButton
分别为btnFirst, btnNext , btnPre , btnLast,对了一个datagrid 名字是MyDataGrid,还有三个lable表示状态的,名字是:lblPageCount(页数),lblRegisterCount(记录条数),lblCurrentIndex(当前第几页)
Page.aspx 页面代码如下(主要部分的):
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<FONT face="宋体">
<TABLE width="666" border="1" align="center" cellPadding="1" cellSpacing="1" style="WIDTH: 666px; HEIGHT: 296px">
<tr>
<td align="center" colSpan="2"><STRONG><FONT size="4">个性化的分页实例</FONT></STRONG>
</td>
</tr>
<TR>
<TD align="right" colSpan="2">
<asp:LinkButton id="btnAdd" runat="server">增加</asp:LinkButton>|
<asp:LinkButton id="btnUpdate" runat="server">修改</asp:LinkButton>|
<asp:linkbutton id="lkbDel" runat="server">删除</asp:linkbutton></TD>
</TR>
<TR>
<TD colSpan="2"><asp:datagrid id="MyDataGrid" runat="server" DataKeyField="id" Width="100%" AllowSorting="True"
AutoGenerateColumns="true" PageSize="10" BorderColor="#CC9966" BorderStyle="None" BorderWidth="1px" BackColor="White"
CellPadding="4">
<FooterStyle ForeColor="#330099" BackColor="#FFFFCC"></FooterStyle>
<SelectedItemStyle Font-Bold="True" ForeColor="#663399" BackColor="#FFCC66"></SelectedItemStyle>
<ItemStyle ForeColor="#330099" BackColor="White"></ItemStyle>
<HeaderStyle Font-Bold="True" ForeColor="#FFFFCC" BackColor="#990000"></HeaderStyle>
<Columns>
<asp:TemplateColumn>
<HeaderStyle Width="10px"></HeaderStyle>
<HeaderTemplate>
<INPUT id="chkselectall" type="checkbox" onClick="checkallorno(this)"></asp:CheckBox>
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox id="chkselect" runat="server"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
<PagerStyle HorizontalAlign="Center" ForeColor="#330099" BackColor="#FFFFCC"></PagerStyle>
</asp:datagrid></TD>
</TR>
<tr>
<TD align="right" colSpan="2">
<div align="center">
<TABLE id="Table1" cellSpacing="1" cellPadding="1" border="0">
<TR>
<TD noWrap><asp:label id="lblCurrentIndex" runat="server">CI</asp:label></TD>
<TD>|</TD>
<TD noWrap><asp:label id="lblRegisterCount" runat="server">RC</asp:label></TD>
<TD>|</TD>
<TD noWrap><asp:label id="lblPageCount" runat="server">PC</asp:label></TD>
<TD>|</TD>
<TD noWrap><asp:linkbutton id="btnFirst" onclick="PagerButtonClick" runat="server" CommandArgument="first">首页</asp:linkbutton></TD>
<TD>|</TD>
<TD noWrap><asp:linkbutton id="btnPrev" onclick="PagerButtonClick" runat="server" CommandArgument="prev">上一页</asp:linkbutton></TD>
<TD>|</TD>
<TD noWrap><asp:linkbutton id="btnNext" onclick="PagerButtonClick" runat="server" CommandArgument="next">下一页</asp:linkbutton></TD>
<TD>|</TD>
<TD noWrap><asp:linkbutton id="btnLast" onclick="PagerButtonClick" runat="server" CommandArgument="last">尾页</asp:linkbutton></TD>
</TR>
</TABLE>
</div>
</TD>
</tr>
</TABLE>
</FONT>
</form>
</body>
后台 代码:
'定义全局静态变量,记录选中页面之前的总记录数(当然你要导数据连接命名空间,不会,^_^!)
Dim conn As New SqlConnection("server=.;user=sa;password=sa;database=dbaccess")
Dim adp As SqlDataAdapter
Dim cmd As SqlCommand
Dim ds As New System.Data.DataSet
Dim RecordCount, PageCount, CurrentPage, i As Integer
Dim codemessage As String
Dim pagesize As Integer
Page_load 代码:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码
Me.pagesize = 3
conn.Open()
If Not Me.IsPostBack Then
'分页设置
Me.ViewState("state") = "all"
CurrentPage = 0
viewstate("pageindex") = 0
Dim intcount As Integer
cmd = New SqlCommand("select count(*) as rs from users", conn)
Dim dr As SqlDataReader = cmd.ExecuteReader()
If (dr.Read()) Then
intcount = dr("rs")
Else
intcount = 0
End If
dr.Close()
'计算共有多少条记录()
Me.RecordCount = intcount
'计算共有多少页()
If (Me.RecordCount Mod pagesize = 0) Then
PageCount = Me.RecordCount \ pagesize
Else
PageCount = RecordCount \ pagesize + 1
End If
viewstate("pagecount") = PageCount
Me.ViewState("pagecount") = PageCount
DbListBind()
ShowStats()
'让首页btnFirst变的不可以用哦
Me.btnFirst.Enabled = False
End If
End Sub
Public Sub DbListBind()
'显示数据清单+++++++++++++++++++++++++++++++++++
Dim startindex As Integer
'导入数据起始地址()
startindex = CurrentPage * pagesize
Dim strSel As String = "select * from users order by id asc"
'程序修改对象()
Dim MyAdapter As New SqlDataAdapter(strSel, conn)
MyAdapter.Fill(ds, startindex, pagesize, "guest")
Me.MyDataGrid.DataSource = ds
Me.MyDataGrid.DataBind()
Me.btnNext.Enabled = True
Me.btnPrev.Enabled = True
If CurrentPage >= PageCount - 1 Then
btnNext.Enabled = False
End If
If CurrentPage = 0 Then
btnPrev.Enabled = False
End If
lblCurrentIndex.Text = "第 " + (Me.CurrentPage + 1).ToString() + " 页"
End Sub
Public Sub PagerButtonClick(ByVal sender As Object, ByVal e As System.EventArgs)
'获得LinkButton的参数值
Dim args As String = sender.CommandArgument
CurrentPage = viewstate("pageindex")
PageCount = viewstate("pagecount")
Select Case args
Case "next"
If CurrentPage < PageCount - 1 Then
CurrentPage = CurrentPage + 1
End If
Me.btnLast.Enabled = True
Me.btnFirst.Enabled = True
If (Me.CurrentPage = Me.PageCount - 1) Then
Me.btnLast.Enabled = False
End If
Case "prev"
If CurrentPage > 0 Then
CurrentPage = CurrentPage - 1
End If
Me.btnFirst.Enabled = True
Me.btnLast.Enabled = True
If (Me.CurrentPage = 0) Then
Me.btnFirst.Enabled = False
End If
Case "last"
CurrentPage = Me.PageCount - 1
Me.btnLast.Enabled = False
Me.btnFirst.Enabled = True
Case "first"
CurrentPage = 0
Me.btnFirst.Enabled = False
Me.btnLast.Enabled = True
End Select
viewstate("pageindex") = CurrentPage
If viewstate("state") = "all" Then
DbListBind()
End If
End Sub
Public Sub DbListBind()
'显示数据清单+++++++++++++++++++++++++++++++++++
Dim startindex As Integer
'导入数据起始地址()
startindex = CurrentPage * pagesize
Dim strSel As String = "select * from users order by id asc"
'程序修改对象()
Dim MyAdapter As New SqlDataAdapter(strSel, conn)
MyAdapter.Fill(ds, startindex, pagesize, "guest")
Me.MyDataGrid.DataSource = ds
Me.MyDataGrid.DataBind()
Me.btnNext.Enabled = True
Me.btnPrev.Enabled = True
If CurrentPage >= PageCount - 1 Then
btnNext.Enabled = False
End If
If CurrentPage = 0 Then
btnPrev.Enabled = False
End If
lblCurrentIndex.Text = "第 " + (Me.CurrentPage + 1).ToString() + " 页"
End Sub
Public Sub PagerButtonClick(ByVal sender As Object, ByVal e As System.EventArgs)
'获得LinkButton的参数值
Dim args As String = sender.CommandArgument
CurrentPage = viewstate("pageindex")
PageCount = viewstate("pagecount")
Select Case args
Case "next"
If CurrentPage < PageCount - 1 Then
CurrentPage = CurrentPage + 1
End If
Case "prev"
If CurrentPage > 0 Then
CurrentPage = CurrentPage - 1
End If
Case "last"
CurrentPage = Me.PageCount - 1
Case "first"
CurrentPage = 0
End Select
viewstate("pageindex") = CurrentPage
If viewstate("state") = "all" Then
DbListBind()
End If
End Sub
Public Sub ShowStats()
lblPageCount.Text = "总共 " + Me.PageCount.ToString() + " 页"
lblRegisterCount.Text = "共 " + Me.RecordCount.ToString() + " 条"
End Sub
分别为btnFirst, btnNext , btnPre , btnLast,对了一个datagrid 名字是MyDataGrid,还有三个lable表示状态的,名字是:lblPageCount(页数),lblRegisterCount(记录条数),lblCurrentIndex(当前第几页)
Page.aspx 页面代码如下(主要部分的):
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<FONT face="宋体">
<TABLE width="666" border="1" align="center" cellPadding="1" cellSpacing="1" style="WIDTH: 666px; HEIGHT: 296px">
<tr>
<td align="center" colSpan="2"><STRONG><FONT size="4">个性化的分页实例</FONT></STRONG>
</td>
</tr>
<TR>
<TD align="right" colSpan="2">
<asp:LinkButton id="btnAdd" runat="server">增加</asp:LinkButton>|
<asp:LinkButton id="btnUpdate" runat="server">修改</asp:LinkButton>|
<asp:linkbutton id="lkbDel" runat="server">删除</asp:linkbutton></TD>
</TR>
<TR>
<TD colSpan="2"><asp:datagrid id="MyDataGrid" runat="server" DataKeyField="id" Width="100%" AllowSorting="True"
AutoGenerateColumns="true" PageSize="10" BorderColor="#CC9966" BorderStyle="None" BorderWidth="1px" BackColor="White"
CellPadding="4">
<FooterStyle ForeColor="#330099" BackColor="#FFFFCC"></FooterStyle>
<SelectedItemStyle Font-Bold="True" ForeColor="#663399" BackColor="#FFCC66"></SelectedItemStyle>
<ItemStyle ForeColor="#330099" BackColor="White"></ItemStyle>
<HeaderStyle Font-Bold="True" ForeColor="#FFFFCC" BackColor="#990000"></HeaderStyle>
<Columns>
<asp:TemplateColumn>
<HeaderStyle Width="10px"></HeaderStyle>
<HeaderTemplate>
<INPUT id="chkselectall" type="checkbox" onClick="checkallorno(this)"></asp:CheckBox>
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox id="chkselect" runat="server"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
<PagerStyle HorizontalAlign="Center" ForeColor="#330099" BackColor="#FFFFCC"></PagerStyle>
</asp:datagrid></TD>
</TR>
<tr>
<TD align="right" colSpan="2">
<div align="center">
<TABLE id="Table1" cellSpacing="1" cellPadding="1" border="0">
<TR>
<TD noWrap><asp:label id="lblCurrentIndex" runat="server">CI</asp:label></TD>
<TD>|</TD>
<TD noWrap><asp:label id="lblRegisterCount" runat="server">RC</asp:label></TD>
<TD>|</TD>
<TD noWrap><asp:label id="lblPageCount" runat="server">PC</asp:label></TD>
<TD>|</TD>
<TD noWrap><asp:linkbutton id="btnFirst" onclick="PagerButtonClick" runat="server" CommandArgument="first">首页</asp:linkbutton></TD>
<TD>|</TD>
<TD noWrap><asp:linkbutton id="btnPrev" onclick="PagerButtonClick" runat="server" CommandArgument="prev">上一页</asp:linkbutton></TD>
<TD>|</TD>
<TD noWrap><asp:linkbutton id="btnNext" onclick="PagerButtonClick" runat="server" CommandArgument="next">下一页</asp:linkbutton></TD>
<TD>|</TD>
<TD noWrap><asp:linkbutton id="btnLast" onclick="PagerButtonClick" runat="server" CommandArgument="last">尾页</asp:linkbutton></TD>
</TR>
</TABLE>
</div>
</TD>
</tr>
</TABLE>
</FONT>
</form>
</body>
后台 代码:
'定义全局静态变量,记录选中页面之前的总记录数(当然你要导数据连接命名空间,不会,^_^!)
Dim conn As New SqlConnection("server=.;user=sa;password=sa;database=dbaccess")
Dim adp As SqlDataAdapter
Dim cmd As SqlCommand
Dim ds As New System.Data.DataSet
Dim RecordCount, PageCount, CurrentPage, i As Integer
Dim codemessage As String
Dim pagesize As Integer
Page_load 代码:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码
Me.pagesize = 3
conn.Open()
If Not Me.IsPostBack Then
'分页设置
Me.ViewState("state") = "all"
CurrentPage = 0
viewstate("pageindex") = 0
Dim intcount As Integer
cmd = New SqlCommand("select count(*) as rs from users", conn)
Dim dr As SqlDataReader = cmd.ExecuteReader()
If (dr.Read()) Then
intcount = dr("rs")
Else
intcount = 0
End If
dr.Close()
'计算共有多少条记录()
Me.RecordCount = intcount
'计算共有多少页()
If (Me.RecordCount Mod pagesize = 0) Then
PageCount = Me.RecordCount \ pagesize
Else
PageCount = RecordCount \ pagesize + 1
End If
viewstate("pagecount") = PageCount
Me.ViewState("pagecount") = PageCount
DbListBind()
ShowStats()
'让首页btnFirst变的不可以用哦
Me.btnFirst.Enabled = False
End If
End Sub
Public Sub DbListBind()
'显示数据清单+++++++++++++++++++++++++++++++++++
Dim startindex As Integer
'导入数据起始地址()
startindex = CurrentPage * pagesize
Dim strSel As String = "select * from users order by id asc"
'程序修改对象()
Dim MyAdapter As New SqlDataAdapter(strSel, conn)
MyAdapter.Fill(ds, startindex, pagesize, "guest")
Me.MyDataGrid.DataSource = ds
Me.MyDataGrid.DataBind()
Me.btnNext.Enabled = True
Me.btnPrev.Enabled = True
If CurrentPage >= PageCount - 1 Then
btnNext.Enabled = False
End If
If CurrentPage = 0 Then
btnPrev.Enabled = False
End If
lblCurrentIndex.Text = "第 " + (Me.CurrentPage + 1).ToString() + " 页"
End Sub
Public Sub PagerButtonClick(ByVal sender As Object, ByVal e As System.EventArgs)
'获得LinkButton的参数值
Dim args As String = sender.CommandArgument
CurrentPage = viewstate("pageindex")
PageCount = viewstate("pagecount")
Select Case args
Case "next"
If CurrentPage < PageCount - 1 Then
CurrentPage = CurrentPage + 1
End If
Me.btnLast.Enabled = True
Me.btnFirst.Enabled = True
If (Me.CurrentPage = Me.PageCount - 1) Then
Me.btnLast.Enabled = False
End If
Case "prev"
If CurrentPage > 0 Then
CurrentPage = CurrentPage - 1
End If
Me.btnFirst.Enabled = True
Me.btnLast.Enabled = True
If (Me.CurrentPage = 0) Then
Me.btnFirst.Enabled = False
End If
Case "last"
CurrentPage = Me.PageCount - 1
Me.btnLast.Enabled = False
Me.btnFirst.Enabled = True
Case "first"
CurrentPage = 0
Me.btnFirst.Enabled = False
Me.btnLast.Enabled = True
End Select
viewstate("pageindex") = CurrentPage
If viewstate("state") = "all" Then
DbListBind()
End If
End Sub
Public Sub DbListBind()
'显示数据清单+++++++++++++++++++++++++++++++++++
Dim startindex As Integer
'导入数据起始地址()
startindex = CurrentPage * pagesize
Dim strSel As String = "select * from users order by id asc"
'程序修改对象()
Dim MyAdapter As New SqlDataAdapter(strSel, conn)
MyAdapter.Fill(ds, startindex, pagesize, "guest")
Me.MyDataGrid.DataSource = ds
Me.MyDataGrid.DataBind()
Me.btnNext.Enabled = True
Me.btnPrev.Enabled = True
If CurrentPage >= PageCount - 1 Then
btnNext.Enabled = False
End If
If CurrentPage = 0 Then
btnPrev.Enabled = False
End If
lblCurrentIndex.Text = "第 " + (Me.CurrentPage + 1).ToString() + " 页"
End Sub
Public Sub PagerButtonClick(ByVal sender As Object, ByVal e As System.EventArgs)
'获得LinkButton的参数值
Dim args As String = sender.CommandArgument
CurrentPage = viewstate("pageindex")
PageCount = viewstate("pagecount")
Select Case args
Case "next"
If CurrentPage < PageCount - 1 Then
CurrentPage = CurrentPage + 1
End If
Case "prev"
If CurrentPage > 0 Then
CurrentPage = CurrentPage - 1
End If
Case "last"
CurrentPage = Me.PageCount - 1
Case "first"
CurrentPage = 0
End Select
viewstate("pageindex") = CurrentPage
If viewstate("state") = "all" Then
DbListBind()
End If
End Sub
Public Sub ShowStats()
lblPageCount.Text = "总共 " + Me.PageCount.ToString() + " 页"
lblRegisterCount.Text = "共 " + Me.RecordCount.ToString() + " 条"
End Sub
相关推荐
在这个"ASP.NET分页导航代码"项目中,我们可以深入探讨如何在ASP.NET环境中实现高效且自定义的分页功能。 首先,让我们了解分页的基本原理。在ASP.NET中,分页通常涉及到数据访问层(DAL)、业务逻辑层(BLL)和...
源码包中的文件可能包含了以上提到的一些或全部分页方法的实现,这为学习和实践ASP.NET分页提供了丰富的素材。通过分析这些源代码,开发者可以深入理解各种分页技术的工作原理,以及如何在实际项目中应用它们。 在...
在这个“ASP.NET分页代码”的主题中,我们将深入探讨如何在ASP.NET中实现分页功能。 1. 分页的基本原理 分页主要是通过限制在页面上显示的数据量来实现的。当用户请求一个页面时,服务器只返回当前页所需的数据,而...
本教程将详细介绍如何使用AspNetPager控件来实现ASP.NET分页功能。 AspNetPager控件是由WUCtrl公司开发的一款高效、易用的分页控件,它可以轻松地集成到ASP.NET应用中,提供丰富的自定义选项和强大的性能。下面我们...
这个小巧的Asp.net分页控件源代码提供了一个实现简单分页功能的例子,非常适合个人项目使用或者作为初学者学习的参考。 分页控件的基本工作原理是通过将大数据集分割成多个小部分,每次只加载一部分数据到页面上,...
ASP.NET 分页源码是处理大...以上就是ASP.NET分页源码的核心知识点,它涵盖了分页的计算逻辑、数据库操作、事件处理以及用户界面的交互。这样的分页实现可广泛应用于各种数据展示场景,提供高效、流畅的数据浏览体验。
本资源“自己学习写的 ASP.NET 分页控件源码”提供了作者在学习过程中编写的简单分页控件,对于初学者或希望自定义分页功能的开发者来说,这是一个很好的参考实例。 ASP.NET是微软推出的一种用于构建Web应用程序的...
在"AspNetPager732Samples"这个压缩包子文件的文件名称中,我们可以推断出这可能是一个特定版本(7.3.2)的ASP.NET分页控件的样本代码或项目。这些样本通常会包含不同的使用场景,例如基本分页、自定义分页样式、...
在提供的内容中,我们可以看到一个简单的ASP.NET分页实例。这个例子使用了HTML表格、控件以及ASP.NET的`LinkButton`控件来创建分页导航。主要涉及以下几个关键元素: 1. **LinkButton**:`btnFirst`, `btnNext`, `...
本教程将深入探讨ASP.NET AJAX分页的相关知识点,以及如何编写分页代码。 1. **什么是ASP.NET AJAX分页?** ASP.NET AJAX分页是一种通过使用ASP.NET AJAX库(以前称为Atlas)实现的客户端分页方法。它利用...
压缩包中的项目代码和Demo提供了实际操作的例子,你可以下载并运行,以加深对Ajax分页在Asp.net中实现的理解。通过查看源代码,你可以学习到如何处理Ajax请求,如何构建分页逻辑,以及如何在前端展示分页结果。 ...
在本资源中,"asp.net分页控件源码 含数据库完整演示代码"提供了一个完整的解决方案,包括分页控件的源代码和与数据库交互的示例,这对于学习和开发ASP.NET应用程序的人来说非常有价值。 首先,我们需要理解分页的...
一个自定义的ASP.NET分页类通常包括以下核心组件和功能: 1. **数据获取**:分页类首先需要能从数据源(如SQL Server数据库、XML文件、Web服务等)中获取数据。这通常通过ADO.NET或者Entity Framework等数据访问...
本文将深入探讨.NET分页和ASP.NET分页的相关知识点,以及如何在实际项目中应用。 首先,我们来理解什么是分页。分页是将大量数据分成多个小部分,每次只显示一部分,用户可以通过导航按钮(如“上一页”、“下一页...
ASP.NET分页是Web开发中常见的一种技术,用于在大量数据中实现高效的浏览体验。它通过将数据分块加载到页面上,而不是一次性加载所有数据,从而提高网页性能和用户体验。下面将详细介绍ASP.NET分页的基本概念、实现...
Asp.Net分页控件是Web开发中常用的一种组件,特别是在数据量庞大的应用程序中,它能够帮助用户有效地浏览和管理大量的信息。这个“一个不错的Asp.net分页控件”很可能是开发者为了优化用户体验和提高网页性能而设计...
ASP.NET 分页控件是网页开发中用于处理大量数据分段显示的重要工具,它使得用户可以轻松地在多个页面间导航。Webdiyer 提供的 AspNetPager 是一个功能丰富的 ASP.NET 分页控件,提供了多种自定义样式和功能选项,以...
在ASP.NET中,分页是Web应用程序中非常常见的一种功能,尤其在处理大量数据时,为了提高用户体验和页面加载速度,通常会...在"WebApplication3"这个项目中,你可以通过学习和调试代码,进一步加深对ASP.NET分页的理解。
这个DLL文件包含了控件的所有实现代码,开发者可以通过引用它在项目中使用ASP.NET分页控件。而AspNetPager.xml文件很可能是该控件的XML文档,其中包含了关于控件的API参考、使用示例和配置选项,对于理解如何使用和...