Gridview分页是不是很糟糕? 原因:1。如果javascript被禁用,它将无法正常工作。 2.搜索引擎将无法索引(我不知道这背后的原因究竟是什么)。 有人可以提供一些信息吗?
编辑: 现在我将其编码为:
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
int newPagenumber = e.NewPageIndex;
GridView1.PageIndex = newPagenumber;
GridView1.DataSource = Session["myDataSet"];
GridView1.DataBind();
}
答案 0 :(得分:0)
分页是避免在页面中一次呈现所有内容的概念。这有助于减少页面的总大小。
如果您不对网格视图应用分页并且您的控件包含数千行,那么这将是用户等待页面加载的可怕体验。
您只能从数据库中提取特定页面所需的记录数。这将避免获取所有行然后仅显示必要行的负担。
答案 1 :(得分:0)
gridview分页的默认实现是性能和SEO的最差选择。因为它加载了数据源中的所有数据行,即使它只显示10行。第二,搜索引擎不索引回发
但是有很多解决方法可以解决这个问题。实现自定义数据源以摆脱从数据源读取所有行,然后构建自定义控件以支持seo友好的寻呼机控件(你甚至可以使用新的asp.net mvc框架)
单独注意 - 我在上面看到你的代码 - 这是最糟糕的编码方式。永远不会在会话中保存庞大的数据,如果你有太多用户,你会很快耗尽内存...而是使用全局缓存应用程序,将最常读取的数据保存在那里并将其用于显示目的
答案 2 :(得分:0)
澄清一下,你是说:
因此,您担心的是,搜索引擎只能看到您网页上的第一个 n 记录,因为它可能不会遵循javascript链接?因此,如果您希望将数据源中的所有记录编入索引,这可能是SEO的一个问题吗?
我的解决方法是使用ListView control代替DataPager control使用QueryString field通过GET传递页码。这可以通过搜索引擎机器人轻松实现。