当前位置:  编程技术>.net/c#/asp.net

asp.net 无刷新分页的例子

    来源: 互联网  发布时间:2014-08-30

    本文导语:  在asp.net编程中,分布是个永恒的话题,也是个不断有创新的话题,因为对于大数据量的分页,对性能的要求还是比较多的。 为了提高用户体检,可以尝试下无刷新的方案。 1、数据访问类   代码示例: using System; using System.Co...

在asp.net编程中,分布是个永恒的话题,也是个不断有创新的话题,因为对于大数据量的分页,对性能的要求还是比较多的。
为了提高用户体检,可以尝试下无刷新的方案。

1、数据访问类
 

代码示例:

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
{
///
/// 取得总页数
///
/// 总页数
public int GetPageCount()
{
int counts;
string SqlStr = "select count(0) from [User]";
counts = new SQLHelper().Content(SqlStr, CommandType.Text);
return counts;
}
///
/// 取出每一页的内容
///
/// 开始页数
/// 结束页数
/// 每一页的内容
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;
}

///
/// 将一个DataTable转换成列表
///
/// 实体对象的类型
/// 要转换的DataTable
///
public List DataTableToEntityList(DataTable dt)
{
List entiyList = new List();

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

foreach (DataRow row in dt.Rows)
{
T entity = Activator.CreateInstance();

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;
}
}
}

2、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
{
///
/// $codebehindclassname$ 的摘要说明
///
[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 data = ModelConvertHelper.ConvertToModel(dt);
// IList data = new UserManageClass().DataTableToEntityList(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();
//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;
}
}
}
}

3、aspx页面代码:
 

代码示例:

分页页面


$(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

    
 
 

您可能感兴趣的文章:

  • 我用asp.net做一个聊天室,各位有没有好的页面刷新办法?
  • asp.net Timer无刷新定时器的例子
  • 我用asp.net做一个聊天室,要求在一个帧里点击按钮,立即刷新另外一帧,怎么做?
  • asp.net防止页面刷新重复提交的代码
  • Asp.net弹出窗口同时防止刷新重复提交的方法
  • asp.net 防止刷新重复提交的代码(禁用工具栏刷新按钮 变灰)
  • Asp.net防止后退、刷新重复提交的方法
  • c# UpdatePanel无刷新上传图片 asp.net无刷新上传
  • Asp.net防刷新重复提交与防后退的方法
  • asp.net防止刷新重复提交的方法与代码
  • asp.net页面刷新后字体等变大问题的解决方法
  • asp.net防止刷新页面重复提交表单原理与实例
  • 如何解决 asp.net 点击验证码不刷新的问题
  • c#(asp.net)防止刷新重复提交数据的解决方法
  • ASP.NET 验证码与刷新验证码的例子
  • asp.net刷新页面的几种方法
  • ASP.NET防止页面刷新的两种解决方法小结
  • asp.net 页面刷新多种方法详解(附实例)
  • asp.net+jquery无刷新三级联动的代码举例
  • asp.net中利用Jquery+Ajax+Json实现无刷新分页的实例代码
  • 怎样用JDK写用于ASP的组件?最好有例子或详细资料!
  • asp.net中System.Timers.Timer的例子
  • c#正则过滤图片标签 asp.net正则过滤的例子
  • asp.net操作cookie的例子
  • asp.net页面时间格式化的例子
  • asp.net上传并读取Excel文件的例子
  • asp.net 使用MessageBox类的小例子
  • asp.net上传文件小例子
  • asp.net读取与写入cookie的小例子
  • asp.net 组件开发 内嵌资源引用的例子
  • ASP.NET MVC处理文件上传的例子
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • ASP.NET之 Ajax相关知识介绍及组件图
  • 我想了解一些关于Java怎样与Asp或Asp.net结合方面在未来发展方向的问题?
  • c#/ASP.NET操作cookie(读写)代码示例
  • asp.net UrlEncode对应asp urlencode的处理方法
  • asp.net判断数据库表是否存在 asp.net修改表名的方法
  • asp.net文字水印功能简单代码
  • jQuery Web Controls ASP.Net
  • ASP.NET 门户平台 Dropthings
  • win2008 r2 服务器环境配置(FTP/ASP/ASP.Net/PHP)
  • Asp.Net如何将多个RadioButton指定在一个组中
  • 用C#,asp.net 做的网站,能用Linux做服务器吗?
  • asp.net实例 定义和使用asp:AccessDataSource
  • 有没有办法把客户端IP和计算机名记录在asp.net服务器上?
  • asp.net获取用户ip地址公共类
  • asp.net 禁用viewstate(web.config中配置)的方法
  • asp.net读取本地与全局资料文件的代码
  • asp.net button 绑定多个参数
  • Asp.net日历控件显示年和月
  • 重新注册asp.net 2.0的方法
  • 用linux做服务器运行ASP.net网站,请问具体怎样实现??
  • Linux操作系统能运行Asp.net的项目吗?
  • asp与asp.net的session共享
  • 如何在unix下发布asp?
  • 怎么让Apache支持Asp?
  • ??谁能把ASP代码改为JSP的
  • Linux平台下哪种方法实现ASP好?
  • ASP和ASP.Net共享Session解决办法
  • 通过socket和asp打交道
  • 犹豫中……,到底是选择ASP,还是JSP?
  • c/c++开源软件 iis7站长之家
  • 新人提问:asp+access的程序在linux下怎么改?




  • 特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3