国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

.NET分頁控件簡單學習

2024-07-10 12:46:45
字體:
來源:轉載
供稿:網友

這幾天無意間看到一個關于分頁的帖子,覺得寫得挺好的。關于這些東西,自己一直都是只知道原理,卻沒有真正動手做過,于是研究了一下分頁的原理自己動手寫了一個十分特別非常簡單的分頁程序,在這里與大家分享一下。 

這個程序取數據使用的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{  /// <summary>  /// WebHandler 的摘要說明  /// </summary>  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;      }    }    /// <summary>    /// DataTable轉換為Json    /// </summary>    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();    }    /// <summary>    /// 格式化字符型、日期型、布爾型    /// </summary>    /// <param name="str"></param>    /// <param name="type"></param>    /// <returns></returns>    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;    }    /// <summary>    /// 過濾特殊字符    /// </summary>    /// <param name="s">字符串</param>    /// <returns>json字符串</returns>    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("http:///""); break;          case '//':            sb.Append("http:////"); break;          case '/':            sb.Append("http:///"); break;          case '/b':            sb.Append("http://b"); break;          case '/f':            sb.Append("http://f"); break;          case '/n':            sb.Append("http://n"); break;          case '/r':            sb.Append("http://r"); break;          case '/t':            sb.Append("http://t"); break;          default:            sb.Append(c); break;        }      }      return sb.ToString();    }  }}             
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 田林县| 石景山区| 靖州| 盐山县| 翁牛特旗| 襄垣县| 精河县| 沈阳市| 广汉市| 曲阜市| 逊克县| 花垣县| 泸西县| 舟山市| 平南县| 同心县| 延安市| 珲春市| 连平县| 克什克腾旗| 荣昌县| 克山县| 板桥市| 延吉市| 宣恩县| 鄂尔多斯市| 花垣县| 南澳县| 云龙县| 康定县| 游戏| 韩城市| 彭山县| 孟津县| 上犹县| 麻城市| 扶沟县| 五峰| 东兴市| 广南县| 博乐市|