Mysoo2 站内搜索引擎安装指南
百度阿拉丁平台剑指垂直搜索
谷歌测试在搜索建议中放广告
谷歌与百度的八年“暗战”
Google公布2008年度搜索排行榜
传戴尔PC将放弃谷歌选择微软Live搜索引擎
雅虎高级搜索专家陆奇将任微软数字部门高管
微软不娶雅虎 只想买搜索业务
微软退出搜索市场能对Google造更大伤害
雅虎打造BOSS垂直搜索引擎
谷歌百度口水战升级 比拼"谁更懂中文"
从百度“竞价门”看企业的社会责任感
山寨版搜索引擎“百谷虎”雷倒网友
雅虎搜索技术高管跳槽至微软
面对“搜索门” 百度公司力挽声誉
内容更新频率对SEO的影响


 ·全文检索核心:几款免费中文分词模块介绍
 ·Lucene全文检索程序代码
 ·研讨如何进行Lucene的分布式应用
 ·Lucene搜索引擎结构说明文档
 ·如何提高Lucene中文分词high...
 ·实战搜索引擎:初识Lucene
 ·用Lucene加速Web站点搜索应用...
 ·用Lucene.net实现站内全文搜索
 ·教你用PHP调用Lucene包实现全...
 ·简单之美:布尔代数和搜索引擎的索引




搜索引擎翻页导航条页码计算方法


 共1页 

翻页式

样式如下。每次显示10个页码,并提供"前十"、"后十"翻页。

[1] 2 3 4 5 6 7 8 9 10 下十页 末页
1 2 3 4 5 6 [7] 8 9 10 下十页 末页
1 2 3 4 5 6 7 8 9 [10] 下十页 末页
首页 前十页 [11] 12 13 14 15 16 17 18 19 20 下十页 末页
首页 前十页 11 12 13 14 15 [16] 17 18 19 20 下十页 末页

计算公式:(当前页序号最小值为1)
int x = 当前页序号 / 10;
if (当前页序号 % 10 == 0) --x;
int startPage = (x * 10) + 1;
int endPage = Math.Min(总页数, startPage + 9);

生成翻页式导航代码演示:
private string GetNavBarHtml(string s, int pageIndex, int pageCount)
{
    // 计算显示页码
    int x = pageIndex / 10;
    if (pageIndex % 10 == 0) --x;
    int startPage = (x * 10) + 1;
    int endPage = Math.Min(pageCount, startPage + 9);

    // 生成换页代码
    System.Text.StringBuilder sb = new StringBuilder();
    string url = "<a href = \"search.aspx?s={1}&page={2}\">{0}</a>";

    if (startPage > 1)
    {
      sb.Append(String.Format(url, "首页", s, 1));
      sb.Append("&nbsp");
      sb.Append(String.Format(url, "前十页", s, startPage - 1));
      sb.Append("&nbsp");
    }
    
    for (int i = startPage; i <= endPage; i++)
    {
      if (i != pageIndex)
        sb.Append(String.Format(url, i, s, i));
      else
        sb.Append(string.Format("[{0}]", i));
      
      sb.Append("&nbsp");
    }

    if (pageCount > endPage)
    {
      sb.Append(String.Format(url, "后十页", s, endPage + 1));
      sb.Append("&nbsp");
      sb.Append(String.Format(url, "末页", s, pageCount));
    }
    
    return sb.ToString();
}

滚动式

样式如下。将当前页码放在中间,滚动两端页码。
[1] 2 3 4 5 6 7 8 9 10 末页
1 2 3 4 [5] 6 7 8 9 10 末页
首页 2 3 4 5 [6] 7 8 9 10 11 末页
首页 5 6 7 8 [9] 10 11 12 13 14 末页
首页 8 9 10 11 [12] 13 14 15 16 17 末页

计算公式:(当前页序号最小值为1)
int startPage = Math.Max(当前页序号 - 4, 1);
int endPage = Math.Min(页总数, startPage + 9);

生成滚动式导航代码演示:
private string GetNavBarHtml(string s, int pageIndex, int pageCount)
{
    // 计算显示页码
    int startPage = Math.Max(pageIndex - 4, 1);
    int endPage = Math.Min(pageCount, startPage + 9);

    // 生成换页代码
    System.Text.StringBuilder sb = new StringBuilder();
    string url = "<a href = \"search.aspx?s={1}&page={2}\">{0}</a>";

    if (startPage > 1)
    {
      sb.Append(String.Format(url, "首页", s, 1));
      sb.Append("&nbsp");
    }
    
    for (int i = startPage; i <= endPage; i++)
    {
      if (i != pageIndex)
        sb.Append(String.Format(url, i, s, i));
      else
        sb.Append(string.Format("[{0}]", i));
      
      sb.Append("&nbsp");
    }

    if (pageCount > endPage)
    {
      sb.Append(String.Format(url, "末页", s, pageCount));
    }
    
    return sb.ToString();
}
 

 共1页 

来源: | 作者: yuhen | 发表时间: 2006-10-15 18:14:00

 

 


Copyright © 2000-2008 Mysoo.com.cn, All Rights Reserved Mysoo.com.cn 版权所有                                  把Mysoo添加到 Google   沪ICP备06051139