2009-08-13 88 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傳遞頁碼。搜索引擎殭屍程序可以輕鬆實現這一點。