1.数据库设计
字段:Id(int) , Msg(varchar(MAX)) , PostDate(datetime)

2.自定义SQL查询方法(强类型DataSet)

//SelectCount()方法,用于查询总条数
select count(*) from T_Posts

//GetPageData(startRowIndex,endRowIndex)方法,用于查询指定范围,分页功能,
由于不支持over语句,因此需手动增加参数,方法-右键-属性,里面的 Parameters
增加startRowIndex 和 endRowIndex,类型为 Int32
select * from
(
   select Id, Msg,PostDate,Row_Number()over(order by PostDate)rownum from T_Posts
)t
where t.rownum>=@startRowIndex and t.rownum<=@endRowIndex

3.HTML设置

<ul id="ulComment"></ul>
<table>
<tr id="trPage"></tr>
</table>

4.处理页设置 WSXFY.ashx

public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string action = context.Request["action"]; //取得客户提交上来的 action 值
if (action == "getpagecount") //此为查询数据总条数
{
var adapter = new T_PostsTableAdapter();
int count = adapter.SelectCount().Value; //利用自定义SQL方法得到条数
int pagecount = count / ; //条数除以10,得到页数(10条一页)
if (count % != ) //取条数的余数,没有被10整除的,都加1
{
pagecount++;
}
context.Response.Write(pagecount); //输出页数 }
else if(action == "getpagedata") //此为查询详细数据
{
string pagenum = context.Request["pagenum"]; //得到当前页号
int PageNum = Convert.ToInt32(pagenum); //转换成INT型
var adapter = new T_PostsTableAdapter(); //创建DataSet
var data = adapter.GetPageData((PageNum - ) * + ,(PageNum) * );
//使用自定义SQL方法,得到条数范围
List<Comment> list = new List<Comment>(); //创建List类型为Comment
foreach (var row in data) //遍历每一条数据
{
list.Add(new Comment() { Msg = row.Msg, PostDate = row.PostDate.ToShortDateString() });
//将每条数据都增加到List中
}
JavaScriptSerializer jss = new JavaScriptSerializer(); //创建 Json
context.Response.Write(jss.Serialize(list)); //将list转换成Json类型
}
}
public class Comment //创建一个类
{
public string Msg { get; set; }
public string PostDate { get; set; }
}

5. Javascript设置

<script type="text/javascript">
$.post("WSXFY.ashx", { "action": "getpagecount" }, function(data, status) {
for (var i = 1; i <= data; i++) {
var td = $("<td><a href=''>" + i + "</a></td>"); //循环输出页号
$("#trPage").append(td); //将每一个td都附加上去
}
$("#trPage td").click(function(e) {
e.preventDefault(); //阻止执行 href 的地址
$.post("WSXFY.ashx", { "action": "getpagedata", "pagenum": $(this).text() },
function(data, status) {
var comments = $.parseJSON(data); //利用 parseJSON 转换
$("#ulComment").empty(); //清空ul
for (var i = 0; i < comments.length; i++) {
var comment = comments[i];
var li = $("<li>" + comment.PostDate + ":" + comment.Msg + "</li>"); //生成数据
$("#ulComment").append(li);
}
});
});
});
</script>

无刷新分页 Ajax,JQuery,Json的更多相关文章

  1. 无刷新删除 Ajax,JQuery

    1.数据库用上面的,增加一个 DeleteById 的SQL方法 delete from T_Posts where Id = @Original_Id 2.设置处理页面 delete.ashx pu ...

  2. 无刷新分页 jquery.pagination.js

     无刷新分页 jquery.pagination.js 采用Jquery无刷新分页插件jquery.pagination.js实现无刷新分页效果 1.插件参数列表 http://www.dtan.so ...

  3. jquery ajax php+mysql 无刷新分页 详细实例

    最近在接触jquery和ajax,当前项目也会用到分页,为了用户体验更好一些,就准备用无刷新分页,这个demo很适合新手学习查看,写的比较清晰,话不多说,直接上代码吧. 首先是html页面,index ...

  4. javascript;Jquery;获取JSON对象,无刷新分页,异步加载,异步删除,实例。

    AjaxNewsList: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> < ...

  5. thinkphp ajax 无刷新分页效果的实现

    思路:先做出传统分页效果,然后重新复制一份Page.class.php类,对它进行修改,把js中的函数传到page类中,把上一页.下一页.首页.尾页.链接页中的url地址改成js控制的函数,模板页面中 ...

  6. ASP.NET Ajax简单的无刷新分页

    最近练习了一些AJAX无刷新分页,写得比较简单,性能不知道怎么样,求大神指点,如有更好的分页提供,欢迎交流! 发话不多说了,直接上代码! 首先从网上下了一个JS分页,感觉挺好用的 (function( ...

  7. TP2.0或3.1 或者 3.2 下使用ajax+php做无刷新分页(转+自创)

    1.前言 作为一名php程序员,我们开发网站主要就是为了客户从客户端进行体验,在这里,thinkphp框架自带的分页类是每次翻页都要刷新一下整个页面,这种翻页的用户体验显然是不太理想的,我们希望每次翻 ...

  8. ajax 无刷新分页

    //ajax 无刷新分页1.前台要做的 滑动时 当前page+1,通过page ajax请求后台接口获取数据将数据进行拼装;2.后台要做的 做分页接口返回json数据前台判断触发请求条件: var p ...

  9. 学习笔记之AJAX无刷新分页

    利用AJAX实现无刷新分页技术原理: 其主要是利用AJAX的异步处理机制,实现数据的异步传递,它隐藏了客户端向服务端请求数据的状态,在客户端表现为无刷新的显示状态. 实现分页的步骤: 1.客服端点击页 ...

随机推荐

  1. Android核心基础(四)

    1.联系人表结构 添加一条联系人信息 package com.itheima.insertcontact; import android.app.Activity; import android.co ...

  2. 运用Date日期来做日历

    import java.util.*;import java.text.*;class Two {    public static void main(String[] args)     {   ...

  3. Http协议简单解析及web请求过程

    HTTP协议: HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统. 基于HTTP协议的客户端/服务器请求响应机制的信息交换过程包含下面几个步骤: 1)    ...

  4. QT下自定义QQ聊天窗口tab控件

    1.用继承pushbutton派生类来实现tab按钮,里面加一个QPushbutton关闭按钮:(自定义类:CCustomTabButton) 2.多个tab按钮用QHboxLayout做容器: 3. ...

  5. [Webpack 2] Optimize React size and performance with Webpack production plugins

    You can fine tune several webpack plugins to make your bundle as small as it can be for your specifi ...

  6. linux 清空文件内容命令

    清空文件内容命令 $ echo "" >log.log > 是重写,覆盖式 >>是尾部追加

  7. JavaScript实现回到顶部

    HTML页面使用一个a标签,href内填写JavaScript:;以阻止默认行为,在学习实例的时候添加一个大的div来充实页面. demo: <a href="javascript:; ...

  8. 从源码角度深入理解LayoutInflater

    关于LayoutInflater,在开发中经常会遇到,特别是在使用ListView的时候,这个几乎是必不可少.今天我们就一起来探讨LayoutInflater的工作原理. 一般情况下,有两种方式获得一 ...

  9. 小蔡计算器 V4.0新版全新发布上线啦~欢迎大家下载使用哈~

    小蔡计算器4.0新版全新发布上线啦~欢迎大家下载使用哦~ 立即下载:http://www.zhentiyuan.com/windows/index.aspx 软件介绍:小蔡计算器4.0是一款界面优美的 ...

  10. Android App用MulticastSocket监听组播,为什么连接到不同路由、在不同手机上跑,有的能收到有的收不到

    ---------------------------!! 转载请注明出处 !!-----------------------   一个项目,利用wifi组播在局域网内发现设备.却发现在有的路由器上能 ...