文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。网学的各位小编整理了Ajax-asp.net+Ajax 文本文件静态分页实现代码的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
服务端部分 ,文本文件分页的类。主要在流中处理。当然我看过网上的用</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",