热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

自己写的分页代码简洁实用

效果图如下:前台代码:

效果图如下:


前台代码:

<%&#64; Page Language&#61;"C#" AutoEventWireup&#61;"true" CodeFile&#61;"01.aspx.cs" Inherits&#61;"_01" %>

DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns&#61;"http://www.w3.org/1999/xhtml">
<head runat&#61;"server">
    
<title>title>
    
<link href&#61;"css/css.css" rel&#61;"stylesheet" type&#61;"text/css" />
head>
<body>
    
<form id&#61;"form1" runat&#61;"server">
    
<div>
        
<asp:Repeater ID&#61;"rptTest" runat&#61;"server">
            
<HeaderTemplate><table class&#61;"border">HeaderTemplate>
            
<ItemTemplate><tr><td class&#61;"td"><%#Eval("id")%>td><td class&#61;"td"><%#Eval("title")%>td><td class&#61;"td"><%#Eval("usercode")%>td>tr>ItemTemplate>
            
<FooterTemplate>table>FooterTemplate>
        
asp:Repeater>
    
div>
     
<br />
    
<div id&#61;"wayduPager">
          第
<asp:Label ID&#61;"lblPageIndex" runat&#61;"server" Text&#61;"1" ForeColor&#61;"Red">asp:Label>页/总<asp:Label ID&#61;"lblMaxPage" runat&#61;"server" Text&#61;"1" ForeColor&#61;"Red">asp:Label> | 每页<asp:Label ID&#61;"lblPageSize" runat&#61;"server" Text&#61;"1" ForeColor&#61;"Red">asp:Label>  <asp:Label ID&#61;"lblTotalCount" runat&#61;"server" Text&#61;"1" ForeColor&#61;"Red">asp:Label> | <asp:LinkButton ID&#61;"lnkFirst" OnClick&#61;"lnkFirst_Click" runat&#61;"server">首 页asp:LinkButton> | <asp:LinkButton ID&#61;"lnkPrev" OnClick&#61;"lnkPrev_Click" runat&#61;"server">上一页asp:LinkButton> | <asp:LinkButton ID&#61;"lnkNext" OnClick&#61;"lnkNext_Click" runat&#61;"server">下一页asp:LinkButton> | <asp:LinkButton ID&#61;"lnkLast" OnClick&#61;"lnkLast_Click" runat&#61;"server">尾 页asp:LinkButton> | 转到&#xff1a;第<asp:DropDownList ID&#61;"ddlselectPage" runat&#61;"server" AutoPostBack&#61;"True" OnSelectedIndexChanged&#61;"ddlselectPage_SelectedIndexChanged">asp:DropDownList>
    
div>
    
form>
body>
html>

后台代码&#xff1a;

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using System.Data;

public partial class _01 : System.Web.UI.Page
{

    
protected void Page_Load(object sender, EventArgs e)
    {
        
if(!IsPostBack)
        {
            BindList();
        }
    }

    
#region 绑定数据源
    
private void BindList()
    {
        
string sql &#61; " select id,title,memberid,(select usercode from t_mem_memberinfo where memberid&#61;a.memberid) as usercode from t_blog a order by id desc ";
        DataSet ds 
&#61; sqlDatabase.getDS(sql);
        
//-----------------------分页代码-----------------------//
        PagedDataSource Pds &#61; new PagedDataSource();
        Pds.DataSource 
&#61; ds.Tables[0].DefaultView;

        Pds.AllowPaging 
&#61; true//开启分页
        Pds.PageSize &#61; 15//分页

        
int index &#61; int.Parse(lblPageIndex.Text); //当前页数
        int PageSize &#61; Pds.PageSize;              //每页记录数
        int TotalRecords &#61; Pds.DataSourceCount;   //总记录数
        int TotalPages &#61; TotalRecords / PageSize;//总页数&#xff08;总记录数除以每页的记录数&#xff09; 
        int ModePages &#61; TotalRecords % PageSize;//得到取模的余数(总记录数取模每页的记录数) 

        
if (ModePages > 0)//如果取模数不等于0&#xff0c;则把总页数加1 
        {
            TotalPages 
&#43;&#61; 1;
        }
        
if (TotalPages &#61;&#61; 0)
        {
            TotalPages 
&#61; 1;
        }
        
this.ViewState["TotalPages"&#61; TotalPages;    //保存"总页数"到页面视图中

        lblMaxPage.Text 
&#61; TotalPages.ToString();      //显示页面上的总页数 
        lblTotalCount.Text &#61; TotalRecords.ToString(); //显示页面上的总记录数 
        lblPageSize.Text &#61; Pds.PageSize.ToString();   //每页记录数
        Pds.CurrentPageIndex &#61; index - 1;
        
//若是"第一页"
        if (index &#61;&#61; 1)
        {
            lnkFirst.Enabled 
&#61; false;
            lnkPrev.Enabled 
&#61; false;
            
if (TotalPages > 1)
            {
                lnkNext.Enabled 
&#61; true;
                lnkLast.Enabled 
&#61; true;
            }
            
else
            {
                lnkNext.Enabled 
&#61; false;
                lnkLast.Enabled 
&#61; false;
            }
        }
        
else
        {
            lnkFirst.Enabled 
&#61; true;
            lnkPrev.Enabled 
&#61; true;
            
//若是"尾页"
            if (index &#61;&#61; TotalPages)
            {
                lnkNext.Enabled 
&#61; false;
                lnkLast.Enabled 
&#61; false;
            }
            
else
            {
                lnkNext.Enabled 
&#61; true;
                lnkLast.Enabled 
&#61; true;
            }
        }

        ddlselectPage.Items.Clear(); 
//清除防止累加
        for (int i &#61; 1; i <&#61; TotalPages; i&#43;&#43;)
        {
            ddlselectPage.Items.Add(i.ToString());
        }
        ddlselectPage.Items.FindByText(index.ToString()).Selected 
&#61; true//把当前页显示在列表框的第一个

        
this.rptTest.DataSource &#61; Pds;
        
this.rptTest.DataBind();
    }
    
#endregion

    
#region "首页"事件
    
protected void lnkFirst_Click(object sender, EventArgs e)
    {
        
int index &#61; 1;
        lblPageIndex.Text 
&#61; index.ToString();
        BindList();
    }
    
#endregion

    
#region "上一页"事件
    
protected void lnkPrev_Click(object sender, EventArgs e)
    {
        
int index &#61; int.Parse(lblPageIndex.Text);
        index
--;
        lblPageIndex.Text 
&#61; index.ToString();
        BindList();
    }
    
#endregion

    
#region "下一页"事件
    
protected void lnkNext_Click(object sender, EventArgs e)
    {
        
int index &#61; int.Parse(lblPageIndex.Text);
        index
&#43;&#43;;
        lblPageIndex.Text 
&#61; index.ToString();
        BindList();
    }
    
#endregion

    
#region "尾页"事件
    
protected void lnkLast_Click(object sender, EventArgs e)
    {
        
int index &#61; Convert.ToInt32(this.ViewState["TotalPages"].ToString());
        lblPageIndex.Text 
&#61; index.ToString();
        BindList();
    }
    
#endregion

    
#region "转到"事件
    
protected void ddlselectPage_SelectedIndexChanged(object sender, EventArgs e)
    {
        lblPageIndex.Text 
&#61; ddlselectPage.SelectedValue;
        BindList();
    }
    
#endregion
}



推荐阅读
  • 这个报错出现在userDao里面,sessionfactory没有注入。解决办法:spring整合Hibernate使用test测试时要把spring.xml和spring-hib ... [详细]
  • 本文详细介绍了Spring AOP注解的基本概念及其实现方式,并通过实例演示了如何在项目中使用这些注解进行面向切面的编程。旨在帮助开发者更好地理解和运用Spring AOP功能。 ... [详细]
  • Linux环境下的PHP7安装与配置指南
    本文详细介绍了如何在Linux操作系统中安装和配置PHP7,包括检查当前PHP版本、升级PHP以及配置MySQL支持等步骤,适合后端开发者参考。 ... [详细]
  • C#爬虫Fiddler插件开发自动生成代码
    哈喽^_^一般我们在编写网页爬虫的时候经常会使用到Fiddler这个工具来分析http包,而且通常并不是分析一个包就够了的,所以为了把更多的时间放在分析http包上,自动化生成 ... [详细]
  • 拖拉切割直线 ... [详细]
  • 本文介绍了多种Eclipse插件,包括XML Schema Infoset Model (XSD)、Graphical Editing Framework (GEF)、Eclipse Modeling Framework (EMF)等,涵盖了从Web开发到图形界面编辑的多个方面。 ... [详细]
  • BeautifulSoup4 是一个功能强大的HTML和XML解析库,它能够帮助开发者轻松地从网页中提取信息。本文将介绍BeautifulSoup4的基本功能、安装方法、与其他解析工具的对比以及简单的使用示例。 ... [详细]
  • 我在尝试将组合框转换为具有自动完成功能时遇到了一个问题,即页面上的列表框也被转换成了自动完成下拉框,而不是保持原有的多选列表框形式。 ... [详细]
  • 深入理解SAP Fiori及其核心概念
    本文详细介绍了SAP Fiori的基本概念、发展历程、核心特性、应用类型、运行环境以及开发工具等,旨在帮助读者全面了解SAP Fiori的技术框架和应用场景。 ... [详细]
  • 本教程旨在指导开发者如何在Android应用中通过ViewPager组件实现图片轮播功能,适用于初学者和有一定经验的开发者,帮助提升应用的视觉吸引力。 ... [详细]
  • 本文探讨了一个在Spring项目中常见的问题——当pom.xml文件中引入了servlet依赖但未指定其作用域为provided时导致的应用启动失败。文章详细分析了错误原因,并提供了有效的解决方案。 ... [详细]
  • 本项目使用Java语言开发了一个基于B/S架构的指纹识别系统,该系统能够实现指纹的高效采集与精准识别,适用于多种安全认证场景。 ... [详细]
  • 为什么会崩溃? ... [详细]
  • 本文介绍了如何通过创建自定义 XML 文件来修改 Android 中 Spinner 的项样式,包括颜色和大小的调整。 ... [详细]
  • 如何处理PHP缺少扩展的问题
    本文将详细介绍如何解决PHP环境中缺少扩展的问题,包括检查当前环境、修改配置文件以及验证修改是否生效的具体步骤,帮助开发者更好地管理和使用PHP扩展。 ... [详细]
author-avatar
手浪用户2702933404
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有