2009-08-13 43 views
0

Gridview分页不好? 原因:1.如果javascript被禁用,它将不起作用。 2.搜索引擎将无法索引(我不知道背后的原因究竟是什么)。 有人可以提供一些信息吗?Gridview分页好还是坏 - 性能

编辑: 现在我编码它:

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) 
{ 
    int newPagenumber = e.NewPageIndex; 
    GridView1.PageIndex = newPagenumber; 
    GridView1.DataSource = Session["myDataSet"]; 

    GridView1.DataBind(); 

} 
+0

这与gridview分页或一般分页有关吗? – rahul 2009-08-13 11:27:48

+0

Gridview分页..我已编辑帖子添加代码。 – Wondering 2009-08-13 11:30:02

回答

0

分页是概念,以避免使所有内容在一个页面的时间。这将有助于减少页面的总大小。

如果您没有将分页应用到您的gridview并且您的控件包含数千行,那么这对于用户等待页面加载是一个可怕的体验。

您只能从数据库中提取特定页面所需的记录数。这将避免获取所有行的负担,然后只显示必要的行。

+0

Probaly我不是很清楚。我知道我们必须使用分页,这是非常基本的,但我的问题是我是否正确地做到了这一点?我应该尝试一种不同的方法。 – Wondering 2009-08-13 11:33:37

0

gridview分页的默认实现是性能和SEO的最差选项。因为它会加载数据源中的所有数据行,即使它只显示10行。第二,搜索引擎不索引回发

但是有很多解决方法来排序此问题。实现自定义数据源以摆脱读取数据源中的所有行,然后构建自定义控件以支持seo友好的寻呼机控件(您甚至可以使用新的asp.net mvc框架来实现此功能)


在单独的笔记 - 我看到你的代码上面 - 这是编码最糟糕的方式。从不在会话中保存大量数据,如果用户太多,则会很快耗尽内存......而是使用全局缓存应用程序,将最常读取的数据保存在那里并用于显示目的

+0

您可以提供一些链接或代码示例的解决方法。 – Wondering 2009-08-13 11:35:13

+0

这只是一个演示...将实现缓存。 – Wondering 2009-08-13 11:37:03

0

澄清,你是这么说的:

  1. 默认情况下,GridView中的分页控件是LinkBut​​tons,它使用JavaScript来执行回发?
  2. 带分页GridView的页面一次只会显示n记录(其中n是您的页面大小)?

因此你担心的是,搜索引擎将只看到你的页面上的第ñ记录,因为它可能不遵循JavaScript的链接?因此,如果您希望将数据源中的所有记录编入索引,这可能是SEO的一个关注点?

我的解决方案是使用ListView control,而不是DataPager control,它使用QueryString field通过GET传递页码。搜索引擎僵尸程序可以轻松实现这一点。