Ajax文本文件静态分页分页
![](/assets/blank.gif)
![](/assets/blank.gif)
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个而已;需要多个也可也满足要求。
呵呵还没有完善,注释部分懒得写,所以没写,哎是在是太懒了。注册这么长时间的博客园才写这么几篇烂东西。跟自己的初衷还是想去甚远的。
![](/assets/blank.gif)
![](/assets/blank.gif)
{
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 代码部分
![](/assets/blank.gif)
![](/assets/blank.gif)
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>
代码还是很浅显易懂的,呵呵因为我也不会写高深的代码。重要的我们都要动手去实践。菜鸟们多多努力哦。做完我这个例子级会收获很多哦。
至少当我还是个初级菜鸟的时候要是有这个例子进步会很快。
下面就是显示的部分了。给大家一个完完整整的。做人要厚道要负责人
![](/assets/blank.gif)
![](/assets/blank.gif)
< 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文本文件静态分页分页相关推荐
- ajax静态页面实例,AJAX实例:Ajax实现静态页面分页
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 document.getElementById('right').innerHTML='Edit'; } function save() { //保存修改 ...
- 不用ajax实现动态分页,详解ajax +jtemplate实现动态分页
jtemplate是一个基于JQuery的模板引擎插件,功能非常强大,有了她你就再不用为使用JS绑定数据集而发愁了. 主要思路,复制textarea作为模板,ajax加载json数据,添加模板,绑定数 ...
- [转载]ExtJS中grid按照中文拼音首字母排序、改变行背景、列背景、静态数据分页不再困难...
代码 1 本示例主要使用到了静态数据分页 Ext.data.PagingMemoryProxy组件.Ext.PagingToolbar分页条.viewConfig的getRowClass 方法.列co ...
- jQuery+Ajax+PHP无刷新分页
代码需要在后台运行(包括页面index.html,ajax.php,connect.php,还有数据库food.sql) index.html <!DOCTYPE html> <ht ...
- HTML 的静态网页分页样式
HTML 的静态网页分页样式 page.css代码如下: #page-normal{color:#ff9655;text-align:center;font-size:0px; }#page-norm ...
- 爬取静态页面分页内容
静态准备爬取静态页面分页知识,因为写博客现在目的是当笔记一样,当学过知识梳理一遍,如果有观众,不喜勿喷,不足之处可以多多指点 工具:python3.6 操作系统:linux 浏览器:谷歌浏览器 创建项 ...
- Ajax 实现无刷新分页
用这种ajax做分页的方法比较简单,把代码直接复制就可以,然后根据实际更改一下里面的参数. 1.设置分页显示显示的样式,显示效果如下. <style type="text/css&qu ...
- java ajax翻页_分页 工具类 前后台代码 Java JavaScript (ajax) 实现 讲解
[博客园cnblogs笔者m-yb原创, 转载请加本文博客链接,笔者github: https://github.com/mayangbo666,公众号aandb7,QQ群927113708] htt ...
- smarty+php+ajax 简单无刷新分页
简介 分页,无非就是从数据库中获得我们想查询的数据,再加以处理即可! ① 确定数据总数($count) ② 每页显示数据条数($pageSize) ③ 分多少页($pageCount) ④ 上一页($ ...
最新文章
- [bzoj3670][2014湖北省队互测week2]似乎在梦中见过的样子
- 【AWS】AWS云计算赋能数字化转型专题研讨会圆满落幕
- java jdk 1.8 配置_jdk1.8安装及java环境变量配置(内含一键配置工具)
- 阿里巴巴对Java编程【单元测试】的规约
- ThreadPoolExecutor中的keepAliveTime详解
- 20165332第八周课下作业
- 重力传感器 测重力代码_“重力瀑布”如何帮助您教授孩子的密码学基础知识...
- 架构师速成6.8-设计开发思路-领域驱动
- 统计数组中出现次数最多的元素并输出
- C# 打开指定的目录 记住路径中 / 与 \ 的使用方法
- 【图像处理基础】基于matlab GUI图像局部放大【含Matlab源码 1016期】
- Otsu算法——最大类间方差法(大津算法)
- 移动硬盘设备管理有计算机里没有,我的移动硬盘在电脑的设备管理器上可以看到,但是在我的电脑里却找不? 爱问知识人...
- CSS — 导航栏篇(一)
- Freebase SPARQL 查询模板
- 枚举算法5——填数游戏
- BEVDet: High-Performance Multi-Camera 3D Object Detection in Bird-Eye-View
- TensorRT加速应用
- 关于UITableView的Cell复用谈谈我的一些心得滴水穿石
- kali linux2.0安装中文输入法,KaliLinux安装中文输入法
热门文章
- java版商城之Spring Cloud+SpringBoot+mybatis+uniapp b2b2c o2o 多商家入驻商城 直播带货商城 电子商务
- Win10《芒果TV》送7天免费会员,邀您抢先看萌心自制《妈妈是超人3》
- C或C++——strcpy函数的实现
- 2021年安全员-C证(山东省-2021版)考试及安全员-C证(山东省-2021版)报名考试
- vc不支援此种界接口_今夏大热VC美白精华合集评测,变白不止一点点
- 国标转区位码电路设计及汉字显示
- 是兄弟就跟我上天!贝佐斯宣布下月搭乘蓝色起源的飞船上太空,还有1张票拍卖...
- 九阴服务器维护,《九阴真经》-官方网站-一亿人的真武侠梦,开创全自由空中打斗...
- HTML5 CSS3 神秘的暗红色漩涡特效
- python实现爬取微博相册所有图片