服务端部分 ,文本文件分页的类。主要在流中处理。当然我看过网上的用</br> 关键字进行分页的
个人觉得不是所有时候都能满足要求,所一自己写了这个,还是费了点时间,主要在于本人太笨,基础很差。希望大家个出更好的建议
代码

using  System;
using  System.Collections.Generic;
using  System.Text;
using  System.IO;

namespace  Txt
{

public   class  TxtPager
    {
         public  TxtPager()
        { }
         public  TxtPager( string  _txtPath,  int  _Pagesize)
        {
            {
                 this .txtPath  =  _txtPath;
                 this .pageSize  =  _Pagesize;
            }
        }
         string  txtPath; // 文件路径
         int  pageSize; // 每页文本行数
        //  int ppt; //
         int  number;
        //  int totalPage;
  #region
         public   int  TotalPage
        {
             get  {
                 if  (TxtLineCount()  %  pageSize  ==   0 )
                     return  TxtLineCount()  /  pageSize;
                 else
                 return  TxtLineCount() / pageSize  +   1 ; }
        }

public   int  Ppt
        {
             get  {  return  TxtLineCount(); }
        }
         public   int  Number
        {
             get  {  return  number; }
             set  { number  =  value; }
        }
#endregion
         private   int  TxtLineCount()
        {
            StreamReader sr  =   new  StreamReader( this .txtPath);
             string  line;
             int  count  =   0 ;
             while  ((line  =  sr.ReadLine())  !=   null )
            {
                 // line += "fuck";
                count ++ ;
            }
             return  count;
        }
         public   string  ReadTxtToHtml()
        {
             string  line; // 存放一行文字
             int  ptr  =   0 ; // 行计数
             int  ttp  =   1 ; // 分页后的最大页数
            StreamReader sr  =   new  StreamReader(txtPath);
             string  htmlStr  =   "" ; // 用于存放Html代码
            htmlStr  +=   " # "   +  ttp  +   " </br> " ;
             while  ((line  =  sr.ReadLine())  !=   null )
            {
                 if  (ptr  ==  pageSize)
                {
                    ttp ++ ;
                    htmlStr  +=   " # "   +  ttp  +   " </br> " ;
                    ttp ++ ;
                    htmlStr  +=   " # "   +  ttp  +   " </br> " ;
                    ptr  =   0 ;
                }
                htmlStr  +=  line  +   " </br> " ;
                ptr ++ ;
            }
            htmlStr  +=   " # "   +  (ttp  +   1 ) ;
             // return htmlStr;
             if  (number  >  ttp + 1 / 2 )
            {
                number  =  ttp;
            }
             // .................................
             string  startStr  =   " # "   +  ( 2   *  number  -   1 ); // 1
             string  endStr  =   " # "   +  ( 2   *  number); // 2    1---2
             int  startNum  =  htmlStr.IndexOf(startStr);
             int  endNum  =  htmlStr.IndexOf(endStr);
             int  offset  =  startStr.Length;
             return  htmlStr.Substring(startNum  +  offset, endNum  -  (startNum  +  offset));
        }
    }
}

这里是这个类的使用方法:

这段代码用来解释分页类的使用有一点不直观,主要是写的时候我是针对多的文件分页的,还好我这里只需要6个而已;需要多个也可也满足要求。

呵呵还没有完善,注释部分懒得写,所以没写,哎是在是太懒了。注册这么长时间的博客园才写这么几篇烂东西。跟自己的初衷还是想去甚远的。

代码

public   partial   class  TxtPager : System.Web.UI.Page
{
     protected   void  Page_Load( object  sender, EventArgs e)
    {
         int  pageSize  =   40 ;
         string  _path  =  rtPath( int .Parse(Request.QueryString[ " txtid " ]));
         string  path  =  HttpContext.Current.Server.MapPath(_path);
        Txt.TxtPager tp  =   new  Txt.TxtPager(path, pageSize);
         int  _ttpage  =  tp.TotalPage;
         if  (Request.RequestType.ToString().ToLower()  ==   " get " )
        {
            Response.Write(_ttpage.ToString());
            Response.End();
        }
         if  (Request.RequestType.ToLower()  ==   " post " )
        {
           
             // string = 
             // 前端判断 index 是否为数字
             string  index  =  Request.QueryString[ " index " ];
            tp.Number  =   int .Parse(index);
             string  context  =  tp.ReadTxtToHtml();
            Response.Write(context);
            Response.End();
        }
    }
     private   string  rtPath( int  i)
    {
         string [] pathCollection  =  {  " Test.txt "  , " tdays.txt " , " problem.txt " , " jion.txt " , " serve.txt " , " project.txt " , " icexplain.txt " };
         return   " txt/ "   +  pathCollection[i];
    }
}

上面这也是为Ajax 的请求做准备的,写的还是很粗糙的,希望高手莫扔我鸡蛋

Ajax 代码部分

代码

< script type = " text/javascript "  language = " javascript " >
var  xmlhttp;
var  pxmlhttp;
var  TotilPage;
var  ContectBody;
function  GetXmlHttpRequset()
{
     var  rtxmlHttp;
     try
    { rtxmlHttp  =   new  XmlHttpRequset();}
     catch (e)
    {
         try
        { 
        rtxmlHttp  =   new  ActiveXObject( " Mxxml2.XMLHTTP " );
        }
         catch (e)
        {   
             try { rtxmlHttp  =   new  ActiveXObject( " Microsoft.XMLHTTP " );}
             catch (e)
            { alert( " 您的的浏览器不支持Ajax " ); }
        }
    }    
return  rtxmlHttp;
}
function  GetPagerCount()
{
    xmlhttp  =  GetXmlHttpRequset();
     var  url  =   " TxtPager.aspx?txtid=0 " ;
     try
    {
    xmlhttp.open( " get " ,url, false );
    }
     catch (e)
    {  return   false ; }
    xmlhttp.onreadystatechange  =  CountCallBack;
    xmlhttp.send( null );
     return   true ;
}
function  CountCallBack()
{
   if (xmlhttp.readyState  ==   4 )
  {
var  count  =  xmlhttp.responseText;
     var  i  =   0 ;
     for (i = 0  ; i < count ; i ++ )
    {
       var  ChildDiv  =  document.createElement( " div " );
      document.getElementById( " Count1 " ).appendChild( ChildDiv);
      ChildDiv.innerHTML  =  i + 1 ;
      ChildDiv.setAttribute( " id " ,i);
      ChildDiv.setAttribute( " onclick " , " GetHtmlString( " + (i + 1 ) + " ) " );
      GetHtmlString( 1 );
    }
  }
}

function  GetHtmlString(i)
{
    pxmlhttp  =  GetXmlHttpRequset();
     var  Url  =   " TxtPager.aspx?txtid=0&index= " +  i;
    pxmlhttp.open( " post " ,Url, false );
    pxmlhttp.onreadystatechange  =  ContextPostBack ;
    pxmlhttp.send( null );
}

function  ContextPostBack()
{
   if (pxmlhttp.readyState  ==   4 )
  {
    var  context  =  pxmlhttp.responseText;
   document.getElementById( " article " ).innerHTML  =  context;
  } 
}
< / script>

代码还是很浅显易懂的,呵呵因为我也不会写高深的代码。重要的我们都要动手去实践。菜鸟们多多努力哦。做完我这个例子级会收获很多哦。

至少当我还是个初级菜鸟的时候要是有这个例子进步会很快。

下面就是显示的部分了。给大家一个完完整整的。做人要厚道要负责人

代码

< table width = " 90% "  border = " 0 "  cellspacing = " 0 "  cellpadding = " 0 " >
           < tr >
             < td align = " center " > 冰激凌制作方法大全 < / td>
           < / tr>
           < tr >
             < td id = " article "  align = " left "  style = " font-size:12px; height:805px " > td >
           < / tr>
           < tr >
             < td id = " Count1 "  style = " height:auto; text-align:right " >              < / td>
           < / tr>
         < / table>

完成了!!希望会让来看我代码的人不会失望。

完成效果

转载于:https://www.cnblogs.com/cestbon/archive/2010/05/25/Ajax.html

Ajax文本文件静态分页分页相关推荐

  1. ajax静态页面实例,AJAX实例:Ajax实现静态页面分页

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 document.getElementById('right').innerHTML='Edit'; } function save() { //保存修改 ...

  2. 不用ajax实现动态分页,详解ajax +jtemplate实现动态分页

    jtemplate是一个基于JQuery的模板引擎插件,功能非常强大,有了她你就再不用为使用JS绑定数据集而发愁了. 主要思路,复制textarea作为模板,ajax加载json数据,添加模板,绑定数 ...

  3. [转载]ExtJS中grid按照中文拼音首字母排序、改变行背景、列背景、静态数据分页不再困难...

    代码 1 本示例主要使用到了静态数据分页 Ext.data.PagingMemoryProxy组件.Ext.PagingToolbar分页条.viewConfig的getRowClass 方法.列co ...

  4. jQuery+Ajax+PHP无刷新分页

    代码需要在后台运行(包括页面index.html,ajax.php,connect.php,还有数据库food.sql) index.html <!DOCTYPE html> <ht ...

  5. HTML 的静态网页分页样式

    HTML 的静态网页分页样式 page.css代码如下: #page-normal{color:#ff9655;text-align:center;font-size:0px; }#page-norm ...

  6. 爬取静态页面分页内容

    静态准备爬取静态页面分页知识,因为写博客现在目的是当笔记一样,当学过知识梳理一遍,如果有观众,不喜勿喷,不足之处可以多多指点 工具:python3.6 操作系统:linux 浏览器:谷歌浏览器 创建项 ...

  7. Ajax 实现无刷新分页

    用这种ajax做分页的方法比较简单,把代码直接复制就可以,然后根据实际更改一下里面的参数. 1.设置分页显示显示的样式,显示效果如下. <style type="text/css&qu ...

  8. java ajax翻页_分页 工具类 前后台代码 Java JavaScript (ajax) 实现 讲解

    [博客园cnblogs笔者m-yb原创, 转载请加本文博客链接,笔者github: https://github.com/mayangbo666,公众号aandb7,QQ群927113708] htt ...

  9. smarty+php+ajax 简单无刷新分页

    简介 分页,无非就是从数据库中获得我们想查询的数据,再加以处理即可! ① 确定数据总数($count) ② 每页显示数据条数($pageSize) ③ 分多少页($pageCount) ④ 上一页($ ...

最新文章

  1. [bzoj3670][2014湖北省队互测week2]似乎在梦中见过的样子
  2. 【AWS】AWS云计算赋能数字化转型专题研讨会圆满落幕
  3. java jdk 1.8 配置_jdk1.8安装及java环境变量配置(内含一键配置工具)
  4. 阿里巴巴对Java编程【单元测试】的规约
  5. ThreadPoolExecutor中的keepAliveTime详解
  6. 20165332第八周课下作业
  7. 重力传感器 测重力代码_“重力瀑布”如何帮助您教授孩子的密码学基础知识...
  8. 架构师速成6.8-设计开发思路-领域驱动
  9. 统计数组中出现次数最多的元素并输出
  10. C# 打开指定的目录 记住路径中 / 与 \ 的使用方法
  11. 【图像处理基础】基于matlab GUI图像局部放大【含Matlab源码 1016期】
  12. Otsu算法——最大类间方差法(大津算法)
  13. 移动硬盘设备管理有计算机里没有,我的移动硬盘在电脑的设备管理器上可以看到,但是在我的电脑里却找不? 爱问知识人...
  14. CSS — 导航栏篇(一)
  15. Freebase SPARQL 查询模板
  16. 枚举算法5——填数游戏
  17. BEVDet: High-Performance Multi-Camera 3D Object Detection in Bird-Eye-View
  18. TensorRT加速应用
  19. 关于UITableView的Cell复用谈谈我的一些心得滴水穿石
  20. kali linux2.0安装中文输入法,KaliLinux安装中文输入法

热门文章

  1. java版商城之Spring Cloud+SpringBoot+mybatis+uniapp b2b2c o2o 多商家入驻商城 直播带货商城 电子商务
  2. Win10《芒果TV》送7天免费会员,邀您抢先看萌心自制《妈妈是超人3》
  3. C或C++——strcpy函数的实现
  4. 2021年安全员-C证(山东省-2021版)考试及安全员-C证(山东省-2021版)报名考试
  5. vc不支援此种界接口_今夏大热VC美白精华合集评测,变白不止一点点
  6. 国标转区位码电路设计及汉字显示
  7. 是兄弟就跟我上天!贝佐斯宣布下月搭乘蓝色起源的飞船上太空,还有1张票拍卖...
  8. 九阴服务器维护,《九阴真经》-官方网站-一亿人的真武侠梦,开创全自由空中打斗...
  9. HTML5 CSS3 神秘的暗红色漩涡特效
  10. python实现爬取微博相册所有图片