千家信息网

.NET分页控件的示例分析

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍了.NET分页控件的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。这个程序取数据使用的ado.net,首先先新
千家信息网最后更新 2026年11月01日.NET分页控件的示例分析

这篇文章主要介绍了.NET分页控件的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

这个程序取数据使用的ado.net,首先先新建一个取数据的类PageDAl

using System;using System.Collections.Generic;using System.Configuration;using System.Data;using System.Data.Common;using System.Data.SqlClient;using System.Linq;using System.Web;namespace page.DAL{  public class PageDal  {    public DataTable GetUserList(out int totalCount, int pageIndex = 1, int pagesize = 10)    {      using (        SqlConnection coon =          new SqlConnection(ConfigurationManager.ConnectionStrings["userConnection"].ConnectionString))      {        coon.Open();        string sqlCount = "select count(F_Id) from Sys_User";        SqlCommand cmd = new SqlCommand(sqlCount, coon);        totalCount = int.Parse(cmd.ExecuteScalar().ToString());        string sql = "select F_Account,F_RealName from (select *,Row_Number() over(order by F_Account) r from Sys_User)as w where r>{0} and r<={1};";        SqlDataAdapter ad = new SqlDataAdapter(String.Format(sql, (pageIndex - 1) * pagesize, (pageIndex * pagesize)), coon);        DataTable dt = new DataTable();        ad.Fill(dt);        return dt;      }    }  }}

然后记得修改一下webconfig里面的连接数据库的字符串,数据库自己随便建一个就行。

接下来是ashx一般处理程序,html页面把需求传过来,他在从PageDal中取数据。

using page.DAL;using System;using System.Collections.Generic;using System.Data;using System.Linq;using System.Text;using System.Web;namespace page{  ///   /// WebHandler 的摘要说明  ///   public class WebHandler : IHttpHandler  {    public void ProcessRequest(HttpContext context)    {      try      {        int pageIndex = int.Parse(context.Request.Form["pageindex"]);        int pageSize = int.Parse(context.Request.Form["pagesize"]);        PageDal pd = new PageDal();        int totalCount;        DataTable dt = pd.GetUserList(out totalCount, pageIndex, pageSize);        string json = ToJson(dt, "data", totalCount);        context.Response.ContentType = "text/plain";        context.Response.Write(json);      }      catch      {        context.Response.Write("error");      }    }    public bool IsReusable    {      get      {        return false;      }    }    ///     /// DataTable转换为Json    ///     public static string ToJson(DataTable dt, string jsonName, int count)    {      StringBuilder Json = new StringBuilder();      if (string.IsNullOrEmpty(jsonName))        jsonName = dt.TableName;      Json.Append("{\"" + jsonName + "\":[");      if (dt.Rows.Count > 0)      {        for (int i = 0; i < dt.Rows.Count; i++)        {          Json.Append("{");          for (int j = 0; j < dt.Columns.Count; j++)          {            Type type = dt.Rows[i][j].GetType();            Json.Append("\"" + dt.Columns[j].ColumnName.ToString() + "\":" + StringFormat(dt.Rows[i][j].ToString(), type));            if (j < dt.Columns.Count - 1)            {              Json.Append(",");            }          }          Json.Append("}");          if (i < dt.Rows.Count - 1)          {            Json.Append(",");          }        }      }      Json.Append("],");      Json.Append("\"count\":" + count + "}");      return Json.ToString();    }    ///     /// 格式化字符型、日期型、布尔型    ///     ///     ///     ///     private static string StringFormat(string str, Type type)    {      if (type == typeof(string))      {        str = String2Json(str);        str = "\"" + str + "\"";      }      else if (type == typeof(DateTime))      {        str = "\"" + str + "\"";      }      else if (type == typeof(bool))      {        str = str.ToLower();      }      else if (type != typeof(string) && string.IsNullOrEmpty(str))      {        str = "\"" + str + "\"";      }      return str;    }    ///     /// 过滤特殊字符    ///     /// 字符串    /// json字符串    private static string String2Json(String s)    {      StringBuilder sb = new StringBuilder();      for (int i = 0; i < s.Length; i++)      {        char c = s.ToCharArray()[i];        switch (c)        {          case '\"':            sb.Append("\\\""); break;          case '\\':            sb.Append("\\\\"); break;          case '/':            sb.Append("\\/"); break;          case '\b':            sb.Append("\\b"); break;          case '\f':            sb.Append("\\f"); break;          case '\n':            sb.Append("\\n"); break;          case '\r':            sb.Append("\\r"); break;          case '\t':            sb.Append("\\t"); break;          default:            sb.Append(c); break;        }      }      return sb.ToString();    }  }}

最后就是html代码了

        
首页 上一页  当前页,总共条数据,共页  下一页 尾页

看完那篇帖子自己又对照的看了一下公司做的分页,总结了一下,以前都没认真想过关于分页的东西,觉得还挺难的,但经过一次总结发现其实只要你按顺序一点一点理清楚,有一个清晰的思路,完全不难的。

首先取数据,分两个部分,一个是把所有的数据个数统计出来另一个是取当前页码的数据,这个是很简单的,自己把有关的sql语句写好就行,sql语句的写法有很多,我取当前页码用的语句是

select F_Account,F_RealName from (select *,Row_Number() over(order by F_Account) r from Sys_User)as w where r> (pageIndex - 1) * pagesize and r<=pageIndex* pagesize
数据取出来之后就是把页面栏拼好,并且把相关的方法写好,比如说首页,前一页,下一页,尾页等,之后把数据总数传过来,计算页数就OK了。

首页 上一页  当前页,总共条数据,共页  下一页 尾页
function GoFirst() { pageindex = 1; $("#pageindex").val(pageindex); search(); }; function GoLast() { var pageindex = $("#pagecount").val(); $("#pageindex").val(pageindex); search(); }; function GoPre() { if (pageindex > 1) { pageindex = pageindex - 1; $("#pageindex").val(pageindex); search(); } else { alert("这是第一页!"); } }; function GoNext() { var pagecount = $("#pagecount").val(); if (pageindex < pagecount) { pageindex = pageindex + 1; $("#pageindex").val(pageindex); search(); } else { alert("这是最后一页!"); } };

感谢你能够认真阅读完这篇文章,希望小编分享的".NET分页控件的示例分析"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

数据 字符 篇文章 这是 字符串 语句 首页 控件 示例 分析 就是 数据库 程序 页面 上一 字符型 特殊 接下来 东西 两个 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网高科技 科技互联网产品 科技与互联网 互联网科技卖菜 上海挚品互联网科技 云电互联网科技 互联网科技宣传片 联恩商钥互联网科技有限公司 哈尔滨新华互联网科技学院 温州喔噻互联网科技有限公司 互联网科技创新服务 速维有品互联网信息科技(苏州)有限公司 为客找房互联网科技公司怎么样 深圳无忧互联网科技 互联网营销推广黑科技 互联网硬科技公司 萌小萌互联网科技河南有限公司 江苏互联网智能科技产品出厂价 广西科技产业互联网是什么 保山浩联互联网科技有限公司 科技赋能下的互联网金融 互联网属科技 华宇互联网科技 新华互联网科技校企合作 湖南诚度互联网科技有限公司 翼展科技 首家互联网医院 互联网科技圈年度人物 上海万顺科技互联网有限公司招聘 北京天晋互联网科技有限公司 山东蛋芒互联网科技有限公司
0