搜索引擎优化排名
 
SEO文章 SEO技术 | SEO动态 | SEO案例 | SEM技术 | SEO资源 | SEO教程 | SEO工具 | SEO新闻 | SEO培训 | 搜索引擎优化 | 百度优化排名 | 谷歌优化排名 | 互联网观察
产品服务 搜索引擎优化(SEO)服务 | 搜索引擎营销(SEM)服务 | 网络营销策划服务 | 大型网站咨询服务 | 网站制作 | 网站运营 | 域名空间 | 关于我们 | 联系我们 | 首页
设计编程 酷站推荐 | 网页设计 | WEB标准 | 视频处理 | 设计教学 | Asp编程 | Php编程 | .Net编程 | Xml编程 | Access | Mssql | Mysql | 网站联盟 | 服务器技术
本站推荐
写企业网站的软文要注意的问题
GoogleSEO优化策略
哪有在线的站长SEO工具
百度排名下降原因及解决方法
为什么site主页不在第一位?这代表什么?
搜索引擎会认为什么样的是原创?
热门文章
搜索引擎优化(SEO)服务
如何找百度蜘蛛爬行规律——通过IP地址看网站日志
如何采集文章:做SEO伪原创的一些要点
如何利用rel=“nofollow”保护外链
为什么site主页不在第一位?这代表什么?
如何评价一个网页的重要性?
SEO资源
写企业网站的软文要注意的问题
如何采集文章:做SEO伪原创的一些要点
网络营销与网站优化、网站推广的关系
百度搜索引擎优化中要注意的细节
成也百度,败也百度——百度最近无规律
如何找百度蜘蛛爬行规律——通过IP地址看网站日志
联系我们
电话:0551-3221973; 3444475
传真:0551-3444757
手机:13909691973
513816851 461436777
.Net编程 .Net Programming

Asp.Net程序与SEO - .Net基于SEO友好数据分页讲解

发布时间:2009-7-14 11:36:46  浏览次数:

       Asp.Net有很多用来显示数据的控件都是拖出来就可以用的,很简单,很方便,代码量也很少。象GridViews和DataGrids就属于这样的控件,但这两个控件分页机制采用的是javascript来与本页交互实现的,分页后url不会有新的改变。这样的话对SEO不是很友好的,因为当搜索引擎爬虫(或成为蜘蛛)从你的网页上得到这个这个连接时,“点击进入”发现是属于同一页面,将不会将分页后的结果录入搜索引擎的编制结果。

      分页引擎显示方法搜索引擎爬虫是不友好的,显示得是统一页面,结果不会录入编制结果。而使用Repeater控件来实现分页,更能让我们控制代码的结构。

      从SEO角度来讲,这种分页显示方法对搜索引擎爬虫是不友好的。这里我将用另外一中对搜索引擎更友好的分页方法来代替上的分页方法。我们可以使用DataList或则Repeater控件,通过PagedDataSource来进行分页。

      我这里将用Repeater控件来实现,为什么不用DataList呢?个人觉得DataList虽然功能强大于Repeater,但是DataList在生成HTML代码的时候会有少量多余的代码出现例如:span,table之类的。而Repeater更能让我们控制代码的结构。分页的方法很多,网上搜索一下大把,下面我们来看下我的分页函数代码。
以下为引用的内容:
///<summary>
///分页函数
///</summary>
///<param name="pagesStr">作为输出分页HTML文本</param>
///<param name="list">需要分野数据源</param>
///<param name="page">默认页</param>
///<param name="path">URL地址</param>
///<param name="pagesize">每页的分布数据条数</param>
///<returns>返回PagedDataSource数据源</returns>
public static PagedDataSource pds(out string pagesStr, IList list, string page, string path, int pagesize)
{
    PagedDataSource pds = new PagedDataSource();
    pds.DataSource = list;
    pds.AllowPaging = true;
    pds.PageSize = pagesize;
 
    pagesStr = "";
 
    int CurPage = 0;
    if (page != null && page.ToString() != "")
    {
        CurPage = int.Parse(page);
    }
    else
    {
        CurPage = 0;
    }
 
    pds.CurrentPageIndex = CurPage;
 
    int startpage = CurPage;
    int pageNum = 5;
    int j = 0;
 
    if (pds.PageCount - CurPage < pageNum)
    {
        startpage = (pds.PageCount - CurPage) + (CurPage - pageNum) > 0 ? (pds.PageCount - CurPage) + (CurPage - pageNum) : 0;
    }
 
    if (!pds.IsFirstPage)
    {
        pagesStr += "<a href='" + path + "?Page=0' class='pagecode'> << </a>";
        pagesStr += "<a href='" + path + "?Page=" + Convert.ToString(CurPage - 1) + "' class='pagecode'> < </a>";
    }
 
    for (int i = startpage; i < pds.PageCount; i++)
    {
        if (pds.PageCount == 1)
            break;
 
        pagesStr += "<a href='" + path + "?Page=" + i.ToString() + "'";
        if (CurPage == i)
        {
            pagesStr += " class='pagecodeActive'";
        }
        else
        {
            pagesStr += " class='pagecode'";
        }
        pagesStr += ">" + (i + 1).ToString() + "</a>";
 
        j++;
        if (j == pageNum)
            break;
 
    }
 
    if (!pds.IsLastPage)
    {
        pagesStr += "<a href='" + path + "?Page=" + Convert.ToString(CurPage + 1) + "' class='pagecode'> > </a>";
        pagesStr += "<a href='" + path + "?Page=" + Convert.ToString(pds.PageCount - 1) + "' class='pagecode'> >> </a>";
    }
 
    pagesStr += "总记录数" + list.Count + "条&nbsp;";
 
    return pds;
}
#endregion
上面是函数,页面调用部分:
string page;
if (Request.QueryString["page"] != null && Request.QueryString["page"].ToString() != "")
    page = Request.QueryString["page"].ToString();
else
    page = "0";
 
 
string pagestr;
this.R_ModuleType.DataSource = Pagination.pds(out pagestr, ResourceSrv.GetAllResource(), page, Request.CurrentExecutionFilePath.ToString(), 20);
this.R_ModuleType.DataBind();
 
this.lb_total.Text = pagestr; //可以放一个div来专门放
 
.aspx部分
<asp:Repeater runat="server" ID="R_ModuleType">
<HeaderTemplate>
        …… 头部代码
    </HeaderTemplate>
    <ItemTemplate>
              …… 内容代码
    </ItemTemplate>
    <FooterTemplate>
         …… 底部代码部分
    </FooterTemplate>
</asp:Repeater>
<asp:Literal ID=" lb_total " runat="server"></asp:Literal>
 
CSS部分
/*分页数字*/
.pagecode,.pagecodeActive{margin:0 2px; padding:0 5px; border:1px solid #ccc; float:left; text-align:center; }
.pagecode{ background-color:White;}
.pagecodeActive{ background-color:#fffccc

 

上一页信息 已经没有了
下一页信息 已经没有了

【声明】:
以上文章或资料除注明为www.dmseo.com自创或编辑整理外,均为各方收集或网友推荐所得。其中摘录的内容以共享、研究为目的,不存在任何商业考虑。
目前网站上有些文章未注明作者或出处,甚至标注错误,此类情况出现并非不尊重作者及出处网站,而是因为有些资料来源的不规范。如果有了解作者或出处的原作者或网友,请告知,本网站将立即更正注明,并向作者或出处单位道歉。
被摘录的对象如有任何异议,请与本站联系,联系邮箱:dmdz@vip.qq.com,本站确认后将立即撤下。谢谢您的支持与理解!
 
  本站公告
2010虎年放假通知—合肥德曼SEO优化
合肥德曼SEO团队——网站优化平台,真诚的为您服务!
合肥SEO、搜索引擎优化(SEO)、搜索引擎营销(SEM)、互联网整体应用供应商
为庆祝德曼公司5岁生日,免费建网站喽!
  产品服务
 搜索引擎优化(SEO)服务
 搜索引擎营销(SEM)服务
 网络营销策划服务
 大型网站咨询服务
 网站制作
 网站运营
 域名空间
  网站建设
一站式应用将成网络未来趋势
什么是网站地图、Sitemap?
网站地图SiteMap
google sitemap的小知识
如何利用rel=“nofollow”保护外链
网站的内部链接该怎样优化
  合作伙伴
返回首页 | 公司介绍 | 联系我们 | 人才招聘 | 免费网站登陆 | 搜索引擎大全 | 网站SEO优化 | 网站推广 | SEO工具推荐 | 给我留言
Copyright 2005-2009 合肥SEO网站优化  版权所有 地址:合肥马鞍山南路88号金地国际城2号4层 邮编:231055
电话:0551-3221973; 3444475 传真:0551-3444757 手机:13909691973;
技术支持:合肥德曼/DEMAN.CC 网站备案:皖ICP备09018273号   流量统计:  SiteMap.xml
友情链接: 合肥德曼网络公司 网站建设 合肥SEO优化 合肥网站推广 洗碗机价格 洗碗机 合肥SEO SEO培训 豆腐机 合肥空调维修 熟食柜 冷藏展示柜 鲜肉柜 冷柜 网页设计培训 SEO论坛 合肥SEO 安徽SEO 合肥人才网 合肥办公家具 安徽办公家具 合肥电脑培训
有什么可以帮助您?SEO优化
有什么可以帮助您?网络推广
有什么可以帮助您?网站建设
有什么可以帮助您?点金商务
有什么可以帮助您?虚拟主机
有什么可以帮助您?域名注册
有什么可以帮助您?客户服务
有什么可以帮助您?技术支持