文章内容分页

因为程序是C#.net编写的,关于C#如此的例子、资料网上一点也找不到;所以只好从程序结构开始分析,一点程序却用了半天的时候完成,汗颜!不足之处,请大家指点,有什么更好的方法请告知。

显示内容部分:

作者:福星
//定义变量
int i,start,stop,t,stat,statt,pp,pagecount,pagesize;
//变量初始值
stat=0;
statt=0;
start=0;//开始查询的字符串位置,初始为0
stop=0;
pagesize=2000;//定义每页至少显示字符串数
pagecount=0;

//获得当前的页数
pa=Request.Params["page"];
if(pa=="" || pa==null)
pa="1";
pp=Convert.ToInt32(pa);

//获得内容
articletxt=rs["contenttxt"].ToString();

//判断页面的内容长度是否大于定义的每页至少显示字符串数
if(articletxt.Length>=pagesize)//如果大于字符串数,则我们可以分页显示
{
t=articletxt.Length/pagesize;//获得大致的总页数
//根据目前获得的页数循环
for(i=0;i<t;i++)
{
//如果查询开始位置到查询的范围超出整个内容的长度,那么就不用寻找断点(分页点);反之,查找
if(start+pagesize<articletxt.Length)
{
stat=articletxt.IndexOf("</P>",start+pagesize);//查找</P>分页点的位置
if(stat<=0)//如果找不到
stat=articletxt.IndexOf("</p>",start+pagesize);//查找</p>分页点的位置;这里您可以自己设置分页点的判断
}
if(stat<=0)//如果找不到分页点,说明不能分页,也就不需要做其他的劳动了;否则,就进行分页
articletext=articletxt;//将结果付给要导出的变量
else
{
stop=stat;//分页点的位置也就作为这一页的终点位置
if(start+pagesize>=articletxt.Length)//如果起始位置到查询的范围超出整个内容的长度,那么这一页的终点位置为内容的终点
stop=articletxt.Length;
if(pp==i+1)//如果是当前,那么输出当前页的内容
articletext=articletxt.Substring(start,stop-start);//取内容的起始位置到终点位置这段字符串输出
start=stat;//将终点位置作为下一页的起始位置
pagecount++;//获得实际页总数
}
}
}

分页部分(这里就简单多了)


string html;//定义分页代码变量
if(pagecount>1)//当页数大于1的时候我们显示页数
{
for(i=1;i<=pagecount;i++)
{
if(i==pp)//如果是当前页,加粗显示
html+="<b>["+i+"]</b> ";
else
html+="<a href=?id="+articleid+"&page="+i+">["+i+"]</a> ";
}
if(pp+1>pagecount)//显示下一页,方便浏览
html+="<a href=?id="+articleid+"&page="+(pagecount)+">[下一页]</a></p>";
else
html+="<a href=?id="+articleid+"&page="+(pp+1)+">[下一页]</a></p>";
}

******************************************************************************************************************************************************************************************
private   void   PageDisplay()
{
SqlConnection   conn   =   new   SqlConnection();
SqlCommand   cmd   =   new   SqlCommand();
SqlDataAdapter   sda   =   new   SqlDataAdapter();
DataSet   ds   =   new   DataSet();
DataTable   dt   =   new   DataTable();

conn.ConnectionString   =   "server=.;pwd=sa;uid=sa;database=Northwind ";
cmd.Connection   =   conn;
cmd.CommandText   =   "select   OrderId,EmployeeID,OrderDate,RequiredDate,ShippedDate   from   orders ";
sda.SelectCommand   =   cmd;
sda.Fill(ds, "Em ");
dt   =   ds.Tables[0];


nRecCount   =   dt.Rows.Count;
StringBuilder   sb   =   new   StringBuilder( " ");

if(nRecCount   >   0)
{
PageCount   =   nRecCount   /   10;
if(nRecCount   /   10   >   0)
{
PageCount++;
}
if(this.Request.QueryString[ "page "]   ==   null)
{
nPage   =   1;
}
else
{

this.nPage   =   int.Parse(this.Request.QueryString[ "page "]);

}if(this.nPage   <   1)
{
nPage   =   1;
}
if(this.nPage   >   this.PageCount)
{
this.nPage   =   this.PageCount;
}

if(nPage   ==   1)
{
sb.Append( " <a   href= 'WebForm1.aspx?page=1 '> 首页 </a> ")
.Append( " <a   href= 'WebForm1.aspx?page= ")
.Append(nPage   +   1)
.Append( " '> 下一页 </a> ")
.Append( " <a   href= 'WebForm1.aspx?page= ")
.Append(PageCount)
.Append( " '> 尾页 </a> ")
.Append( "&nbsp;&nbsp;&nbsp;&nbsp;页次: ")
.Append(nPage.ToString())
.Append( "/ ")
.Append(PageCount.ToString())
.Append( " <br/> ");
}
else  
if(nPage   ==   PageCount)
{
sb.Append( " <a   href= 'WebForm1.aspx?page=1 '> 首页 </a> ")
.Append( " <a   href= 'WebForm1.aspx?page= ")
.Append(nPage   -   1)
.Append( " '> 上一页 </a> ")
.Append( " <a   href= 'WebForm1.aspx?page= ")
.Append(PageCount)
.Append( " '> 尾页 </a> ")
.Append( "&nbsp;&nbsp;&nbsp;&nbsp;页次: ")
.Append(nPage.ToString())
.Append( "/ ")
.Append(PageCount.ToString())
.Append( " <br/> ");
}
else
{
sb.Append( " <a   href= 'WebForm1.aspx?page=1 '> 首页 </a> ")
.Append( " <a   href= 'WebForm1.aspx?page= ")
.Append(nPage   -   1)
.Append( " '> 上一页 </a> ")
.Append( " <a   href= 'WebForm1.aspx?page= ")
.Append(nPage   +   1)
.Append( " '> 下一页 </a> ")
.Append( " <a   href= 'WebForm1.aspx?page= ")
.Append(PageCount)
.Append( " '> 尾页 </a> ")
.Append( "&nbsp;&nbsp;&nbsp;&nbsp;页次: ")
.Append(nPage.ToString())
.Append( "/ ")
.Append(PageCount.ToString())
.Append( " <br/> ");
}
this.Response.Write(sb);

int   Start   =   10   *   (nPage   -1);
int   End   =   Start   +   10   -1;
if(End   >   nRecCount   -1   )
{
End   =   nRecCount   -1;
}
this.Response.Write( " <table   border   = '1 '   cellpadding   =   '0 '   cellspaceing   =   '0 '   style   =   'bordercollapse:collapse 'bordercolor   = '#111111 '   bgcolor   =   '#ffffff '> <tr> ");
this.Response.Write( " <td> OrderId </td> <td> EmployeeID </td> <td> OrderDate </td> <td> RequireDate </td> <td> ShippedDate </td> </tr> ");

sb.Remove(0,sb.Length);

for(int   i   =   Start;   i   <=   End;   i++)
{
sb.Append( " <tr> ");
for(int   j   =   0;j   <   5;j++)
{
sb.Append( " <td> "   +   dt.Rows[i][j].ToString()   +   " </td> ");
}
sb.Append( " </tr> ");
}
sb.Append( " </table> ");
this.Response.Write(sb);
}
conn.Close();
}

转载于:https://www.cnblogs.com/1yuruyi/archive/2009/09/20/1570412.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/264205.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ORACLE搭建Stream过程中报错【error收集】

错误一&#xff1a;在配置完源库和目标数据库后&#xff0c;创建复制管理员。连接上复制管理员后&#xff0c;在源库执行MAINTAIN_TABLE过程&#xff1a; declarev_tables DBMS_UTILITY.UNCL_ARRAY; beginv_tables(1) : hr.test01;v_tables(2) : hr.test02;v_tables(3) : hr.te…

元月元日是哪一天_元宵节的农历日期是哪一天 - 中国万年历

摘要元宵节农历时间  2018年03月02日 星期五 (戊戌年(狗年)正月十五)  农历正月十五元宵节&#xff0c;是我国一个重要的传统节日。这一天古代称为“上元”&#xff0c;其夜则称“元夜”、“元夕”或“元宵”。我国古代的历法和月相有密切的关系&#xff0c;每月十五日必逢…

服务器和交换机之间网络协议,网络协议是计算机网络中服务器,计算机,交换机.doc...

网络协议是计算机网络中服务器,计算机,交换机篇一&#xff1a;计算机网络-参考答案(1)不能保证所有题目都在里面&#xff0c;但能保证大部分题目都在这里。(2)建议用快捷方式ctrlf 进行答案的查找&#xff0c;关键字只需复制题目的部分文字即可&#xff0c;这样可以提高速度&am…

5种ASP.NET页面间传递参数实例代码

本文假设第一个页面为send.aspx&#xff0c;第二个页面为receive.aspx 1、通过URL链接地址传递 (1) send.asp代码 protected void Button1_Click(object sender, EventArgs e) { Request.Redirect("Default2.aspx?usernamehonge"); } …

withMisfireHandlingInstruction

调度(scheduleJob)或恢复调度(resumeTrigger,resumeJob)后不同的misfire对应的处理规则 CronTrigger withMisfireHandlingInstructionDoNothing ——不触发立即执行 ——等待下次Cron触发频率到达时刻开始按照Cron频率依次执行 withMisfireHandlingInstructionIgnoreMisfires —…

分类算法总结

2019独角兽企业重金招聘Python工程师标准>>> 最近在研究一些算法&#xff0c;找了一些资料&#xff0c;觉得比较全面&#xff0c;也总结的还不错. 主要分类方法介绍解决分类问题的方法很多&#xff0c; 单一的分类方法主要包括&#xff1a;决策树、贝叶斯、人…

小贝拉机器人是朋友_报废机器人应该属于什么垃圾?《宝莱坞机器人2.0》给你答案...

“你是什么垃圾&#xff1f;”如果你认为这是在骂人&#xff0c;那你就已经被时代远远的抛弃了&#xff01; 9102年&#xff0c;想要打破与陌生人的次元壁&#xff0c;研究垃圾分类&#xff0c;无疑是最快速有效的方式。但是你确定能分清楚每种垃圾的类型吗&#xff1f;比如大卸…

eclipse源服务器未能找到,eclipse - HTTP状态[404]? [未找到](原始服务器未找到当前表示) - 堆栈内存溢出...

我使用(jsp&#xff0c;servlet&#xff0c;apache tomcat 9&#xff0c;eclipse neon&#xff0c;oracle 11g)创建了一个servlet项目。 我已经创建了index.jsp(以获取登录详细信息并重定向到LoginServlet以便在数据库表中进行用户名和密码验证。在index.jsp中&#xff0c;我什…

初学ActionScript 3.0(一):Hello World

简介&#xff1a; ActionScript是 Macromedia&#xff08;现已被Adobe收购&#xff09;为其Flash产品开发的 &#xff0c;最初是一种简单的脚本语言&#xff0c;现在最新版本3.0&#xff0c;是一种完全的面向对象的编程语言&#xff0c;功能强大&#xff0c;类库丰富&#xff0…

A Web Module That Uses JavaServer Faces Technology: The hello2 Example

hello2详解 1.GreetingServlet.java&#xff08;显示问候页面表单&#xff09; 此servlet重写该doGet方法&#xff0c;实现GETHTTP方法。servlet显示一个简单的HTML问候表单&#xff0c;其提交按钮就像hello1指定其操作的响应页面一样。以下摘录以WebServlet注释开头&#xff0…

Java探索之旅(11)——抽象类与接口

1.Java数据类型 ❶不可变类&#xff0c;是指当创建了这个类的实例后&#xff0c;就不允许修改它的属性值。 它包括&#xff1a;Primitive变量&#xff1a;boolean,byte, char, double ,float, integer, long, shortJDK不可变类&#xff1a;Boolean, Byte, Character, Double, F…

LOJ #6052. 「雅礼集训 2017 Day11」DIV

完了我是数学姿势越来越弱了&#xff0c;感觉这种CXRdalao秒掉的题我都要做好久 一些前置推导 首先我们很容易得出\((abi)(cdi)k \Leftrightarrow ac-bdk,adbc0\) 我们可以直接\(adbc0\Rightarrow ad-bc\Rightarrow \frac{a}b-\frac{c}{d}\) 考虑把这个分数化为最简的形式&…

移动端页面不需要在meta加_移动端适配viewport缩放方案

1. 前言设计师交付给前端开发一张宽度为750px的视觉稿&#xff0c;设计稿上元素的尺寸、颜色、位置等已做过标注&#xff0c;要求工程师工在适配不同屏幕尺寸的设备时采用等比缩放的方案。采用viewport缩放的方案能又快又好的实现需求。2. 原理在写HTML、CSS对设计稿进行还原时…

(转)用 Fiddler 看看 UpdatePanel 发生了什么

第一个 ASP.NET AJAX 程序&#xff1a;UpdatePanel一文中介绍了 UpdatePanel 实现 Ajax&#xff0c;我们今天利用 Fiddler 来看看 UpdatePanel 发生了什么。 实验步骤 启动 Fiddler&#xff0c;访问我们事先写好的 UpdatePanel 网页&#xff08;注意不要用 127.0.0.1 或 localh…

转载:div和flash层级关系问题

转自&#xff1a;http://sin581.blog.163.com/blog/static/860578932012813112334404/问题&#xff1a;ie下默认好像div层级没有flash层级高&#xff0c;也就是当div绝对相对压在flash上&#xff0c;压不住flash总是在最上面显示&#xff0c;请给出方案 或者说下大概如何解决 用…

基于Google Reader发展起来的个性化推荐系统之三大问题

郑昀玩聚SR 20091003 中科院的xlvector(即项亮&#xff0c;他所在的团队The Ensemble在7月份获得Netflix大奖赛公开测试排名第一&#xff0c;但在9月22日Netflix宣布BPC获胜&#xff0c;原因据说只是因为项亮他们提交结果晚了20分钟)最近发布了一个小工具GRSuggest&#xff0c;…

直接从chrome中复制的body到postman中希望能自动识别去除空格

Describe the bug直接从chrome开发者工具中request的body复制到postman中时会带有空格&#xff0c;需要手动删除空格。 To Reproduce1、使用chrome开发者工具抓取一个post请求2、复制请求中参数3、粘贴到postman的body中 Expected behavior3、把带的空格删除掉 转载于:https://…

气象ts评分_给大家分享一个格点插值到站点然后TS评分的程序

登录后查看更多精彩内容~您需要 登录 才可以下载或查看&#xff0c;没有帐号&#xff1f;立即注册x!****************************************************************************!! PROGRAM: T639格点资料插值成站点资料!!**********************************************…

RichTextBox 右键显示 ContextMenuTrip

说明&#xff1a; (1)命名&#xff1a; RichTextBox -> rtxt1 ContextMenuTrip -> cms1 (2)截图&#xff1a; (3)完整代码&#xff1a; <span style"font-size:14px;">using System; using System.Collections.Generic; using System.ComponentModel; u…

设计模式学习笔记--Mediator 中介者模式

我们知道面向对象应用程序是由一组为了提供某种服务而彼此交互的对象组成。当彼此引用的对象数量比较少时&#xff0c;此时对象之间就为直接交互&#xff08;点对点)。而当对象的数量增加时&#xff0c;这种直接交互会导致对象之间复杂的、混乱的引用,最后形成一张巨大的网&…