HTML用ajax分页

首先有几点说明:1. 文章是.net 用Ajax进行分页。 

         2. 新手上路,仅供参考,亲测有效 

         3. 代码有点繁琐,重复,刚写出来就发出来了

这是主页面代码,创建的是一个aspx后缀文件,名字是   Default.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="新文件夹1_Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <script src="../Admin/js/ajaxxmlhttp.js"></script>//如果直接复制,这里的路径可能不一样,需要重新定义
    <script src="../Admin/js/jquery-1.10.2.min.js"></script>

<script>
        window.onload = function () {
            var pageindex = 1;
            var pagesize = 10;

createXML();
            xmlhttp.open("get", "Handler.ashx?pageindex="+pageindex+"&pagesize="+pagesize);
            xmlhttp.onreadystatechange = function () {
                if (xmlhttp.status == 200 && xmlhttp.readyState == 4) {
                    var tab = xmlhttp.responseText;//tab的值是指表和表的数据总数
                    var table = tab.substring(0, tab.length - 8);//-8是为了防止数据量太大
                    var datacount = tab.substring(tab.length - 8).trim();//数据总数为了判断分页数

if (datacount % pagesize == 0)//求出分页数
                        pagecount = datacount / pagesize;
                    else
                        pagecount = Math.floor(datacount / pagesize) + 1;

document.getElementById("d1").innerHTML = table;
                    document.getElementById("Hidden1").value = pagecount;// 将分页数给Hidden1
                    
                    $("table tr:odd").css("background", "#fff");
                }
            }
            xmlhttp.send();

//首页
            document.getElementById("Button1").onclick = function () {
                pageindex = 1;
                
                xmlhttp.open("get", "Handler.ashx?pageindex=" + pageindex + "&pagesize=" + pagesize);
                xmlhttp.onreadystatechange = function () {
                    if (xmlhttp.status == 200 && xmlhttp.readyState == 4) {
                        var tab = xmlhttp.responseText;
                        var table = tab.substring(0, tab.length - 8);
                        
                        document.getElementById("d1").innerHTML = table;
                        $("table tr:odd").css("background", "#fff");
                    }
                }
                xmlhttp.send();
            }

//上一页
            document.getElementById("Button2").onclick = function () {

pageindex -= 1;
                
                if (pageindex < 1)
                {
                    pageindex = 1;
                }
                xmlhttp.open("get", "Handler.ashx?pageindex=" + pageindex + "&pagesize=" + pagesize);
                xmlhttp.onreadystatechange = function () {
                    if (xmlhttp.status == 200 && xmlhttp.readyState == 4) {
                        var tab = xmlhttp.responseText;
                        var table = tab.substring(0, tab.length - 8);
                        
                        document.getElementById("d1").innerHTML = table;
                        $("table tr:odd").css("background", "#fff");
                    }
                }
                xmlhttp.send();
            }

//下一页
            document.getElementById("Button3").onclick = function () {
                pageindex += 1;
                pageindex1 = document.getElementById("Hidden1").value;//从Hidden1中取出分页数
                if (pageindex >= pageindex1)//如果当前页码大于分页数 则等于分页数
                    pageindex = pageindex1;
                xmlhttp.open("get", "Handler.ashx?pageindex="+pageindex+"&pagesize="+pagesize);
                xmlhttp.onreadystatechange = function () {
                    if (xmlhttp.status == 200 && xmlhttp.readyState == 4) {
                        var tab = xmlhttp.responseText;
                        var table = tab.substring(0, tab.length - 8);
                        
                        document.getElementById("d1").innerHTML = table;
                        $("table tr:odd").css("background", "#fff");
                    }
                }
                xmlhttp.send();
            }

//尾页
            document.getElementById("Button4").onclick = function () {
                pageindex = document.getElementById("Hidden1").value;//当前页等于分页数
                
                xmlhttp.open("get", "Handler.ashx?pagesize="  + pagesize+"&pageindex="+pageindex);
                xmlhttp.onreadystatechange = function () {
                    if (xmlhttp.status == 200 && xmlhttp.readyState == 4) {
                        
                        var tab = xmlhttp.responseText;
                        var table = tab.substring(0, tab.length - 8);
                        
                        
                        document.getElementById("d1").innerHTML = table;
                        
                        $("table tr:odd").css("background", "#fff");
                    }
                }
                xmlhttp.send();
            }
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div id="d1">
        
    </div>
        <div>
            <input id="Button1" type="button" value="首 页" /><input id="Button2" type="button" value="上一页" /><input id="Button3" type="button" value="下一页" /><input id="Button4" type="button" value="尾 页" /><input id="Hidden1" type="hidden" />
        </div>
    </form>
</body>
</html>

这里是一般处理程序页面,可以复制粘贴,名字是  Handler.ashx

<%@ WebHandler Language="C#" class="Handler" %>

using System;
using System.Web;
using System.Linq;

public class Handler : IHttpHandler {
    adminsDataContext dc = new adminsDataContext();//用的是Linq,也可以换成sql
    public void ProcessRequest (HttpContext context) {
        string index = context.Request["pageindex"];
        string size = context.Request["pagesize"];
        string type = context.Request["type"];
        
        string table = "<table rules=‘cols‘ id=‘GridView1‘ style=‘color:Black;background-color:White;border-color:#DEDFDE;border-width:1px;border-style:None;border-collapse:collapse;‘ cellspacing=‘0‘ cellpadding=‘4‘><tbody><tr style=‘color:White;background-color:#6B696B;font-weight:bold;‘><th scope=‘col‘>zcid</th><th scope=‘col‘>zcname</th></tr>";
        
        var result = from x in dc.zhuclass//linq查询数据
                     select x;
        
        result.Skip(10);//跳过10数据返回其余数据
        result.Take(10);//返回10条数据
        
        int pageindex = int.Parse(index);
        int pagesize = int.Parse(size);
      
        
        var a = result.Skip((pageindex-1) * pagesize).Take(pagesize);

foreach (var z in a)
        {

table += "<tr style=‘background-color:#F7F7DE;‘><td>" + z.zcid + "</td><td>" + z.zcname + "</td></tr>";
        }

table += "</tbody></table>";
        context.Response.Write(table +"         "+result.Count());//这里加空格是为了防止数据量太大
       
    }
 
    public bool IsReusable {
        get {
            return false;
        }
    }

}

<script src="../Admin/js/ajaxxmlhttp.js"></script>创建一个js文件

里面的内容:

var xmlhttp;
function createXML() {
    try {
        xmlhttp = new XMLHttpRequest();
    }
    catch (e) {
        try{
            xmlhttp = new ActiveXObject("msxml2.XMLHTTP");
        }
        catch(e1){
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    return xmlhttp;
}

时间: 2024-08-24 09:01:30

HTML用ajax分页的相关文章

基于jquery的ajax分页插件(demo+源码)

前几天打开自己的博客园主页,无意间发现自己的园龄竟然有4年之久了.可是看自己的博客列表却是空空如也,其实之前也有写过,但是一直没发布(然而好像并没有什么卵用).刚开始学习编程时就接触到博客园,且在博客园学习了很多的知识,看过很多人的分享.说来也惭愧,自己没能为园友们分享自己的所学所得(毕竟水平比较差). 过去的一年也是辗转了几个城市换了几份工作(注定本命年不太平?).八月份来到现在所在的公司(OTA行业),公司是做互联网的,所以可能大家的前端都屌屌的?之前一直从事.NET开发(现在在这边也是),

Django - Ajax分页

目前总结了2种方法: 1. Ajax 分页 尼玛各种google,stackoverflow,搞了好久才总结出这个,之前使用Pagination tag loading的方式不好用,并且不能进行ajax提交请求的页面无刷新的方式去分页 1.view.py 1 from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger 2 from django.shortcuts import render 3 def xxx

瀑布流ajax分页

index.jsp 1 <%@ page language="java" pageEncoding="UTF-8"%> 2 <!DOCTYPE HTML> 3 <html> 4 <head> 5 <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> 6 <title>图片&

ajax 分页完全代码整理

/* ajax分页 */var page_cur = 1; //当前页 var total_num, page_size, page_total_num;//总记录数,每页条数,总页数function getData(page) { //获取当前页数据     $.ajax({          type: 'GET',          url: 处理数据地址,          data: {              'page': page,              'catid': 

jQuery、Ajax分页

1.效果图预览 2.HTML代码 <div class="row"> <div class="col-lg-12 col-sm-12 col-xs-12 col-xxs-12"> <table class="table table-striped table-hover table-bordered bootstrap-datatable " id="TemplateTable"> <

jquery ajax分页插件特效源代码demo完整版

原文:jquery ajax分页插件特效源代码demo完整版 源代码下载地址:http://www.zuidaima.com/share/1550463586798592.htm 网上找的,原版本没有测试数据和建表脚本啥的,我给加上了.

Pagination jquery ajax 分页参考资料

http://www.zhangxinxu.com/wordpress/2010/01/jquery-pagination-ajax%E5%88%86%E9%A1%B5%E6%8F%92%E4%BB%B6%E4%B8%AD%E6%96%87%E8%AF%A6%E8%A7%A3/ 个人博客参考 中文项目地址:http://www.zhangxinxu.com/jq/pagination_zh/ 原项目地址:http://plugins.jquery.com/project/pagination 版

codeigniter实现ajax分页

<?php /** *417 add 主要是实现ajax分页 **/ class MY_Pagination extends CI_Pagination{ public function __construct() { parent::__construct(); } /** * Generate the pagination links * * @access public * @return string */ function create_ajax_links() { // If our

MvcPager 概述 MvcPager 分页示例 — 标准Ajax分页 对SEO进行优化的ajax分页 (支持asp.net mvc)

该示例演示如何使用MvcPager最基本的Ajax分页模式. 使用AjaxHelper的Pager扩展方法来实现Ajax分页,使用Ajax分页模式时,必须至少指定MvcAjaxOptions的UpdateTargetId属性,该属性值即是分页后要通过Ajax来更新的 DOM 元素的 ID. Ajax.Pager()方法返回AjaxPager对象,您可以通过Ajax.Pager()方法的重载来传递PagerOptions和MvcAjaxOptions参数,也可以通过新的AjaxPager的Opti

yii下多条件多表组合查询以及自写ajax分页

多条件组合查询主要用到yii的CDbCriteria,这个类很多oem框架都有,非常好用. 前台查询表单效果是这样的,多个条件组,每个组里放多个input,name为数组.当任何一个复选框被勾选上,发起ajax请求,当然,最顶层的复选框勾上时判断是否有子项,有的话把所有的子项勾选上. 但提交一次请求会向服务端post这样一个表单 其中currentPage是隐藏字段,当分页按钮被点击是这个字段的值会发生变化,并且发起查询请求. 这个表单会提交到如下的action中进行处理 1 <?php 2 3