如何处理生成静态页时的分页

ldk 2006-12-14 11:17:48
添加一条记录后,如果要生成分类静态页的话,岂不要每一页都会重生成?如果有1000页的话,很恐怖啊!
...全文
754 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
hubro 2007-03-22
  • 打赏
  • 举报
回复
倒序分页
http://feed.hubro.net
现在已分了1千多页
leo_boy 2007-03-11
  • 打赏
  • 举报
回复
ldk(你的温柔其实如刀) ( ) 信誉:95 Blog 2006-12-21 19:21:09 得分: 0



大家看看http://www.discuz.net/的论坛,每个版块的主题列表都是静态的,不知道是怎么处理的...


discuz的论坛程序是伪静态, 不是真的生成文件的. 是利用服务器的rewrite实现的.
可爱的排骨 2007-03-09
  • 打赏
  • 举报
回复
URL里的.html并不一定是静态页,很可能是MAPPING过的
生成静态页也并不一定要实时生成,每天定时批量生成再加上手工生成这样比较灵活
生成静态页也并不一定就比动态页+缓存效率高.
saillovemeng 2007-02-24
  • 打赏
  • 举报
回复
个人感觉做新闻时比较适合用静态页,其他要看访问量
xie_yanke 2007-02-24
  • 打赏
  • 举报
回复
自动生页的静态页与其所在的页数是一一对应的.你可以将需要分页的静态页面,再生成一个单独的目录页数据文件(直接写成javascript数组).或XML目录页.将URL,与页数进行一一对应.然后写javascript至页面即可.

另一个办法是.多页互有联系的静态页,就直接生成固定文件夹.将静态页文件名以非随机名字而是有序或一定规则生成.然后只要动态遍历此文件夹.html文件名即可解决.列如:/document/faq-1.html ....faq-120000.html


如果你认为导航在生成静态页时,直接生成会造成重新生成,那么,你可以采用以下办法:
上一页 [...] 下一页

中间的[...]可用javascript生成导航.如此,可防止浏览器禁用javascript时,导航不存在的情况.
而上一页,下一页直接生成文件名解析后减1加1即可.当超过最大最小值时,可自定义404错误页面即可.


不知道对你是否有帮助.
jxf654 2007-02-20
  • 打赏
  • 举报
回复
up
ztwz 2007-02-15
  • 打赏
  • 举报
回复
mark
songsu 2007-02-15
  • 打赏
  • 举报
回复
也可以不用重新生成,只需要在每一个需要进行分页的静态页面获取进行分页时需要的重要数据即可,总数据行数,总页数,当前页数.

To:ldk(你的温柔其实如刀)
Discuz 不是静态页面,他是伪静态URL,实际上跟.NET 里面的 UrlWriter 类似.实际上他是动态的.

To:cantops(翡翠梦境里的熊猫人)
你的主意非常不错,我以前就是用这种思路来实现静态分页的,重要的数据是使用AJAX来获取的,不过在具体的测试过程中发现一些错误,后来就不使用纯静态分页了.需要解决的问题是页脚的问题,如1,2,3,4,5,6,7,8,9 页,我在实现的过程中是动态计算页脚的,所以显得稍微复杂一些.如果完全静态的写入HTML文本的话,可能不太好,因为有时我们可能会删除一些数据,这样分页就不准确了.
我最近采用的方法是将每一页的数据存在TXT文件中,读取的时侯直接从TXT文件中读取,这样速度比从数据库中读取要快,由于XML文件的共享问题没有解决好,所以我没有采用XML文件来存储数据,TXT是最简单的,而且他的多线程共享问题解决的非常好.当然,以后可以根据情况再做修改.
ldk 2007-02-06
  • 打赏
  • 举报
回复
那些生成静态页的论坛是怎么做的呢?我找不到asp.net的论坛,discuz 的代码我看不懂
junoon 2007-02-05
  • 打赏
  • 举报
回复
这样太夸张了。。。。现在的服务器都对这种操作有限制的。。。。
babay2008 2007-02-05
  • 打赏
  • 举报
回复
关注
flyingfz 2007-02-05
  • 打赏
  • 举报
回复
MARK
ypj042096 2007-02-05
  • 打赏
  • 举报
回复
35526520现广纳贤才,是ASP.NET交流群,热烈欢迎各热爱C#学习的同志加入
  • 打赏
  • 举报
回复
关注
屁屁 2007-02-03
  • 打赏
  • 举报
回复
discuz 不是有源代码么?拿来看看啊
ldk 2007-02-03
  • 打赏
  • 举报
回复
没人解决?
ldk 2006-12-21
  • 打赏
  • 举报
回复
大家看看http://www.discuz.net/的论坛,每个版块的主题列表都是静态的,不知道是怎么处理的...
ldk 2006-12-21
  • 打赏
  • 举报
回复
按照楼上的方法生成的话,最大页有可能只有一条或二条记录,用户经常浏览的就是最大页,这样岂不是难看极了?
saveglobe 2006-12-21
  • 打赏
  • 举报
回复
无论什么办法,如果你要连分类也生成静态的话,只有每次更新都生成一次

因为涉及到最后一页的分页问题,不可能有很好的解决办法,除非,你每个页面上只用上一页和下一页来分页,否则就没办法
cantops 2006-12-21
  • 打赏
  • 举报
回复
反向分页
所谓反向分页就是把页码反转
本来的数顺序页码为 1234567
这样最旧的纪录是在最后页的,
如果把他反回来7654321的话,最旧的纪录始终在第一页
最新的就是页码最大的, 这样只要生成最大页码的数据就好了。

个人意见。具体没有实施过,你可以考虑一下
加载更多回复(6)

62,072

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧