Asp.Net法式员取网站优化 - .Net基于SEO友爱数据分页
Asp.Net有许多用去显现数据的控件皆是拖出去便能够用的,很简朴,很便利,代码量也很少。象GridViews战DataGrids便属于那样的控件,但那两个控件分页机造接纳的是javascript去取本页交互真现的,分页后url没有会有新的改动。那样的话对SEO没有是很友爱的,果为当搜索系统爬虫(或成为蜘蛛)从您的网页上获得那个那个毗连时,“面击进进”发明是属于统一页里,将没有会将分页后的成果录进搜索系统的体例成果。
从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 + "条 ";
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;}
|
注:相干网站建立本领浏览请移步到建站教程频讲。
相关信息
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|