主页 > 知识库 > asp.net+Ajax 文本文件静态分页实现代码

asp.net+Ajax 文本文件静态分页实现代码

热门标签:如何用地图标注各分公司 察县地图标注 电销机器人适用范围 广西ai语音电销机器人哪家好 接听电话机器人哪有 信贷电销机器人有用吗 莆田防封电销卡价格 蓄意标记地图标注 办理一个400电话多少钱
服务端部分 ,文本文件分页的类。主要在流中处理。当然我看过网上的用/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 ; icount ; 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=0index="+ 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>

完成了!!希望会让来看我代码的人不会失望。
您可能感兴趣的文章:
  • 简单好用的ASP.NET分页类(支持AJAX、自定义文字)
  • asp.net使用AJAX实现无刷新分页
  • asp.net中利用Jquery+Ajax+Json实现无刷新分页的实例代码
  • 用AJAX实现的无刷新的分页实现代码(asp.net)
  • AJAX分页的代码(后台asp.net)
  • asp.net 使用ObjectDataSource控件在ASP.NET中实现Ajax真分页
  • AspNetAjaxPager,Asp.Net通用无刷新Ajax分页控件,支持多样式多数据绑定
  • asp.net+ajax简单分页实例分析

标签:延边 铜陵 张掖 鹰潭 阿拉善盟 儋州 平凉 益阳

巨人网络通讯声明:本文标题《asp.net+Ajax 文本文件静态分页实现代码》,本文关键词  asp.net+Ajax,文本,文件,静态,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《asp.net+Ajax 文本文件静态分页实现代码》相关的同类信息!
  • 本页收集关于asp.net+Ajax 文本文件静态分页实现代码的相关信息资讯供网民参考!
  • 推荐文章