gpt4 book ai didi

asp.net 无刷新分页实例代码

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章asp.net 无刷新分页实例代码由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

数据类代码:

  。

复制代码代码如下:

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using System.Data.SqlClient; using System.Collections; using System.Reflection,

  。

namespace DAL {     public  class UserManageClass     {         /// <summary>         /// 取得总页数         /// </summary>         /// <returns>总页数</returns>         public int GetPageCount()         {             int counts;             string SqlStr = "select count(0) from [User]";             counts = new SQLHelper().Content(SqlStr, CommandType.Text);             return counts;         }         /// <summary>         /// 取出每一页的内容         /// </summary>         /// <param name="SatrPage">开始页数</param>         /// <param name="EndPage">结束页数</param>         /// <returns>每一页的内容</returns>         public DataTable GetPageDate(string SatrPage, string EndPage)         {             DataTable dt;             string SqlStr = @"select * from              (select *, ROW_NUMBER() over(order by id)as no_ from [User])aa              where aa.no_ between '"+SatrPage+"' and '"+EndPage+"'";             dt = new SQLHelper().ExecuteQuery(SqlStr, CommandType.Text);             return dt;         } 。

        /// <summary>         /// 将一个DataTable转换成列表         /// </summary>         /// <typeparam name="T">实体对象的类型</typeparam>         /// <param name="dt">要转换的DataTable</param>         /// <returns></returns>         public  List<T> DataTableToEntityList<T>(DataTable dt)         {             List<T> entiyList = new List<T>(),

            Type entityType = typeof(T);             PropertyInfo[] entityProperties = entityType.GetProperties(),

            foreach (DataRow row in dt.Rows)             {                 T entity = Activator.CreateInstance<T>(),

                foreach (PropertyInfo propInfo in entityProperties)                 {                     if (dt.Columns.Contains(propInfo.Name))                     {                         if (!row.IsNull(propInfo.Name))                         {                             propInfo.SetValue(entity, row[propInfo.Name], null);                         }                     }                 } 。

                entiyList.Add(entity);             } 。

            return entiyList;         } 。

    } } 。

  。

PageService.ashx.cs一般处理程序代码:

  。

复制代码代码如下:

using System; using System.Collections; using System.Data; using System.Linq; using System.Web; using System.Web.Services; using System.Web.Services.Protocols; using System.Xml.Linq; using System.Data.SqlClient; using DAL; using System.Web.Extensions; using System.Web.Script.Serialization; using Model; using System.Web.UI.MobileControls; using System.Collections.Generic,

  。

namespace LandingSystem {     /// <summary>     /// $codebehindclassname$ 的摘要说明     /// </summary>     [WebService(Namespace = "http://tempuri.org/")]     [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]     public class PageService : IHttpHandler     { 。

        public void ProcessRequest(HttpContext context)         {             context.Response.ContentType = "text/plain";             string action = context.Request["action"];             if (action == "GetPageCount")             {                 int counts = new UserManageClass().GetPageCount();                 int page = counts / 3;                 if (counts % 3 != 0)                 {                     page++;                 }                 context.Response.Write(page);             }             else if (action == "GetPageData")             {                 int pageNo = Convert.ToInt32(context.Request["PageNo"]);                 string SatrPage = ((pageNo - 1) * 3 + 1).ToString();                 string EndPage = (pageNo * 3).ToString();                  DataTable dt= new UserManageClass().GetPageDate(SatrPage, EndPage);                 IList<RegisterModel> data = ModelConvertHelper<RegisterModel>.ConvertToModel(dt);                // IList<RegisterModel> data = new UserManageClass().DataTableToEntityList<RegisterModel>(dt);                 var p1 = data.Select(c => new { c.Name,c.Phone});                 #region 废物代码                 // var p1 = data.Select( c => new { c.Name,c.Phone});                 //var p1=data.Select(dr=>new {dr["Name"].ToString(),dr["Phone"].ToString()}),

                //var T_model = new List<RegisterModel>();                                 //var p3 = T_model.Select(c => new { c.Name, c.Phone }),

                //var p2=data.Select(c=>new {})                 #endregion                 JavaScriptSerializer jss = new JavaScriptSerializer();                 context.Response.Write(jss.Serialize(p1));             }         } 。

        public bool IsReusable         {             get             {                 return false;             }         }     } } 。

  。

aspx页面代码:

  。

复制代码代码如下:

<head runat="server">     <title>无标题页</title> 。

  。

    <script src="JS/jquery-latest.js" type="text/javascript"></script>     <script type="text/javascript">  $(function(){  //-----------------------------------------------------------  function getPageData(pageNo){ //取得某页数据的方法  $.post("PageService.ashx",{"action":"GetPageData","PageNo":pageNo},function(data,status){  if(status=="success"){  $("#Comment").empty();  var comments=$.parseJSON(data); //反序列化json数据。  for(var i=0;i<comments.length;i++){  var row=comments[i];  var li= $("<li>"+row.Name+" : "+row.Phone+"</li>");  $("#Comment").append(li); //每取出一条数据就创建一个li并append到Comment/ul内。  }  }  });  }  //-------------------------------------------------------------------  getPageData(1); //首次进入页面,看到的是第一页的数据  //----------------------------------------------------------------/  //取得所有的页数并且初始化分页按钮  $.post("PageService.ashx",{"action":"GetPageCount"},function(data,status){  if(status=="success"){  var tr1=$("<tr></tr>");  var pageNo=parseInt(data);  for(var i=1;i<=pageNo;i++){  var td=$("<td><a href=''>"+i+"</a></td>");  tr1.append(td);  }  $("#pageNo").append(tr1);  $("#pageNo a").click(function(e){ //页码创建后,就为每一个页码监听一个click事件。  e.preventDefault(); //取消a的默认跳转行为  getPageData($(this).html()); //点击后就去执行取页数据的操作。  });  }  });  //----------------------------------------------------------------------------  });  </script>  </head> <body> <table>     <tr>         <td>         <ul id="Comment"></ul>         </td>     </tr> </table>     <br />     页数:     <table id="pageNo"></table> </body> </html> 。

  。

ModelConvertHelper.cs(将datatable转换为list通用类)代码:

  。

复制代码代码如下:

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; using System.Data; using System.Reflection,

  。

namespace DAL {     public class ModelConvertHelper<T> where T : new ()     {         public static IList<T> ConvertToModel(DataTable dt)         {          IList<T> ts = new List<T>();         Type type=typeof(T);         string tempName = "";         foreach (DataRow dr in dt.Rows)         {             T t = new T();             // 获得此模型的公共属性             PropertyInfo[] propertys = t.GetType().GetProperties();             foreach (PropertyInfo pi in propertys)             {                 tempName = pi.Name;                 // 检查DataTable是否包含此列                 if (dt.Columns.Contains(tempName))                 {                     // 判断此属性是否有Setter                     if (!pi.CanRead) continue;                     object value = dr[tempName];                     if (value != DBNull.Value)                         if (pi.PropertyType == typeof(int))                         {                             pi.SetValue(t, Convert.ToInt32(value), null);                         }                         else if (pi.PropertyType == typeof(string))                         {                             pi.SetValue(t, value.ToString(), null);                         }                         //pi.SetValue(t, value, null);                 }             }             ts.Add(t);         }         return ts;         }          } } 。

  。

最后此篇关于asp.net 无刷新分页实例代码的文章就讲到这里了,如果你想了解更多关于asp.net 无刷新分页实例代码的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com