Ajax如何读取txt并对txt内容进行分页显示功能

这篇文章主要介绍Ajax如何读取txt并对txt内容进行分页显示功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

创新互联-专业网站定制、快速模板网站建设、高性价比渭滨网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式渭滨网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖渭滨地区。费用合理售后完善,十载实体公司更值得信赖。

代码如下:

function TransferString(content)
{
var string = content;
try{
string=string.replace(/\r\n/g,"
") string=string.replace(/\n/g,"
"); string=string.replace(/[ ]/g," ") string=string.replace(/\ +/g," ") }catch(e) { alert(e.message); } return string; } var pageIndex = 1; var id = $("#aId").val(); var url = $('#urlArticleContent').val(); var txt = ''; var pageSize = @(ConfigurationManager.AppSettings["ArticlepageSize"]); var page=5; var pageCount = 0; $(function() { if(url!="") { txt = ($.ajax({ url: url, async: false })).responseText; if (txt.indexOf('http://www.w3.org/1999/xhtml')==-1) { pageCount = Math.ceil(txt.length / pageSize); $("#PageCount").html(pageCount); $('#word').html(TransferString(txt.substring(0, pageSize))); $('#demo').pagination({ dataSource: function(done){ var result = []; for (var i = 1; i < pageCount; i++) { result.push(i); } done(result); }, pageCount:pageCount, pageSize: 5, showGoInput: true, showGoButton: true, callback: function(data, pagination) { // template method of yourself var html = template(data); dataContainer.html(html); } }) } else { txt = ''; } } }) function GoHead() { GoPage(1); } function NextClick() { if (pageIndex < pageCount) { pageIndex = pageIndex + 1; } else { pageIndex = pageCount; } GoPage(pageIndex); $("#pageCurrent").html(pageIndex); } function backClick() { if (pageIndex > 1) { pageIndex = pageIndex - 1; GoPage(pageIndex); $("#pageCurrent").html(pageIndex); } } function GoPageNew() { var page=$("#pageGo").val(); GoPage(page); opts.current=page; } function GoPage(pageIndex) { if(pageIndex==0) { pageIndexStr = $('#goPage').val(); if (pageIndexStr==undefined) { return false; } pageIndexStr = pageIndexStr.trim(); var pageIndex = parseInt(pageIndexStr); } $('#page'+pageIndex).siblings().removeClass('active'); $('#page'+pageIndex).addClass('active'); if (pageIndex==1) { if(!$('#backClick').hasClass('disabled')) { $('#backClick').addClass('disabled'); } } else { $('#backClick').removeClass('disabled'); } if (pageIndex == pageCount) { if(!$('#nextClick').hasClass('disabled')) { $('#nextClick').addClass('disabled'); } } else { $('#nextClick').removeClass('disabled'); } var pageTxt = txt.substring((pageIndex - 1) * pageSize, pageIndex * pageSize); $('#word').html(TransferString(pageTxt)); $('html, body').animate({ 'scrollTop': 0 }, 0); $("#pageCurrent").html(pageIndex); } function PageGo(){ if($('.jump-ipt').val()!=''){ GoPage($('.jump-ipt').val()) } } @{ if (null != ViewBag.Ariticle) { DataRow dr = ViewBag.Ariticle; if (null != dr) { ViewBag.Title = dr["Title"]; 科普IP > @dr["Title"] 在线试读
@dr["Title"] 1/0 上一页 下一页 回首页 } } }

txt文件上传时需要做一些处理,否则只能显示UTF8格式的txt

/// 
/// 文件上传
/// 
/// 
public JsonResult UploadFiles()
{

HttpPostedFileBase postFile = HttpContext.Request.Files["filesave"];
if (postFile != null)
{
string fileName = Path.GetFileName(postFile.FileName);
string fileExt = Path.GetExtension(fileName.ToLower());
string fileSize = postFile.ContentLength.ToString();
long fileNameTem = Common.GenerateLongId();
string sPath = string.Format("/Data/Material/{0}_{1}.txt", fileNameTem.ToString(), fileName.Replace(".txt", ""));//Guid.NewGuid().ToString().Replace("-", "")
string viewUrl = string.Empty;
string g = Guid.NewGuid().ToString();
if (!Directory.Exists(Server.MapPath("~") + "/Data/Material"))
Directory.CreateDirectory(Server.MapPath("~") + "/Data/Material");
string p = Server.MapPath(sPath);
postFile.SaveAs(p);

if (System.IO.File.Exists(p))
{
StreamReader sr = new StreamReader(p, System.Text.Encoding.Default);
String input = sr.ReadToEnd();
sr.Close();

StreamWriter sw = new StreamWriter(p, false, System.Text.Encoding.UTF8);
sw.WriteLine(input);
sw.Close();
}
return Json(new { FilePath = sPath, FileName = fileName, viewurl = viewUrl, fileSize = fileSize });
}
else
{
return Json(new { FilePath = "" });
}
}

另外页面首页引入js



/**
* pagination分页插件
* @version 1.1.2
* @author mss
* @url http://maxiaoxiang.com/plugin/pagination.html
* @E-mail 251445460@qq.com
*
* @调用方法
* $(selector).pagination();
* 
* @更新日志
* 2016-07-25:修复click重复事件
*/
; (function ($, window, document, undefined) {
//配置参数
var defaults = {
totalData: 0, //数据总条数
showData: 0, //每页显示的条数
pageCount: 9, //总页数,默认为9
current: 1, //当前第几页
prevCls: 'prev', //上一页class
nextCls: 'next', //下一页class
prevContent: '上一页', //上一页内容
nextContent: '下一页', //下一页内容
activeCls: 'active', //当前页选中状态
coping: false, //首页和尾页
homePage: '', //首页节点内容
endPage: '', //尾页节点内容
count: 5, //当前页前后分页个数
jump: true, //跳转到指定页数
jumpIptCls: 'jump-ipt', //文本框内容
jumpBtnCls: 'jump-btn', //跳转按钮
jumpBtn: '跳转', //跳转按钮文本
callback: function () { 
} //回调
};
var Pagination = function (element, options) {
//全局变量
var opts = options,//配置
current,//当前页
$document = $(document),
$obj = $(element);//容器
/**
* 设置总页数
* @param int page 页码
* @return opts.pageCount 总页数配置
*/
this.setTotalPage = function (page) {
return opts.pageCount = page;
};
/**
* 获取总页数
* @return int p 总页数
*/
this.getTotalPage = function () {
var p = opts.totalData || opts.showData ? Math.ceil(parseInt(opts.totalData) / opts.showData) : opts.pageCount;
return p;
};
//获取当前页
this.getCurrent = function () {
return current;
};
/**
* 填充数据
* @param int index 页码
*/
this.filling = function (index) {
var html = '';
current = index || opts.current;//当前页码
var pageCount = this.getTotalPage();
if (current > 1) {//上一页
html += '' + opts.prevContent + '';
} else {
$obj.find('.' + opts.prevCls) && $obj.find('.' + opts.prevCls).remove();
}
if (current >= opts.count * 2 && current != 1 && pageCount != opts.count) {
var home = opts.coping && opts.homePage ? opts.homePage : '1';
html += opts.coping ? '' + home + '...' : '';
}
var start = current - opts.count,
end = current + opts.count;
((start > 1 && current < opts.count) || current == 1) && end++;
(current > pageCount - opts.count && current >= pageCount) && start++;
for (; start <= end; start++) {
if (start <= pageCount && start >= 1) {
if (start != current) {
html += '' + start + '';
} else {
html += '' + start + '';
}
}
}
if (current + opts.count < pageCount && current >= 1 && pageCount > opts.count) {
var end = opts.coping && opts.endPage ? opts.endPage : pageCount;
html += opts.coping ? '...' + end + '' : '';
}
if (current < pageCount) {//下一页
html += '' + opts.nextContent + ''
} else {
$obj.find('.' + opts.nextCls) && $obj.find('.' + opts.nextCls).remove();
}
html += opts.jump ? '' + opts.jumpBtn + '' : '';
$obj.empty().html(html);
};
//绑定事件
this.eventBind = function () {
var self = this;
var pageCount = this.getTotalPage();//总页数
$obj.off().on('click', 'a', function () {
if ($(this).hasClass(opts.nextCls)) {
var index = parseInt($obj.find('.' + opts.activeCls).text()) + 1;
} else if ($(this).hasClass(opts.prevCls)) {
var index = parseInt($obj.find('.' + opts.activeCls).text()) - 1;
} else if ($(this).hasClass(opts.jumpBtnCls)) {
if ($obj.find('.' + opts.jumpIptCls).val() !== '') {
var index = parseInt($obj.find('.' + opts.jumpIptCls).val());
} else {
return;
}
} else {
var index = parseInt($(this).data('page'));
}
self.filling(index);
typeof opts.callback === 'function' && opts.callback(self);
});
//输入跳转的页码
$obj.on('input propertychange', '.' + opts.jumpIptCls, function () {
var $this = $(this);
var val = $this.val();
var reg = /[^\d]/g;
if (reg.test(val)) {
$this.val(val.replace(reg, ''));
}
(parseInt(val) > pageCount) && $this.val(pageCount);
if (parseInt(val) === 0) {//最小值为1
$this.val(1);
}
});
//回车跳转指定页码
$document.keydown(function (e) {
var self = this;
if (e.keyCode == 13 && $obj.find('.' + opts.jumpIptCls).val()) {
var index = parseInt($obj.find('.' + opts.jumpIptCls).val());
GoPage(index);
//self.filling(index);
//typeof opts.callback === 'function' && opts.callback(self);
}
});
};
//初始化
this.init = function () {
this.filling(opts.current);
this.eventBind();
};
this.init();
};
$.fn.pagination = function (parameter, callback) {
if (typeof parameter == 'function') {//重载
callback = parameter;
parameter = {};
} else {
parameter = parameter || {};
callback = callback || function () { };
}
var options = $.extend({}, defaults, parameter);
return this.each(function () {
var pagination = new Pagination(this, options);
callback(pagination);
});
};
})(jQuery, window, document);

以上是“Ajax如何读取txt并对txt内容进行分页显示功能”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!


网站标题:Ajax如何读取txt并对txt内容进行分页显示功能
链接地址:http://bzwzjz.com/article/isphgp.html