我使用LINQ到SQL來獲取我的數據,當我在我的數據網格上設置頁面大小,並且用戶選擇頁面2時,我得到一個回發並重新讀取所有數據顯示第二頁。我懷疑應該有更好的方式來做到這一點,這種方式最終只會讀取我需要顯示的數據。我想知道是否有任何代碼示例...Asp.Net分頁最佳實踐
3
A
回答
2
如果你想真的減輕數據庫負載,看看client-side paging ...
3
請參閱ScottGu的文章LINQ to SQL (Part 3),並在頁面上搜索「Paging our Query Results」 - 這裏有一些很好的例子。
或者,如果您使用LinqDataSource control,並且您正在與SQL 2005或2008數據庫交談,則應該自動獲得此行爲。 LINQ to SQL (Part 5)涵蓋。
0
public static IEnumerable<new_log> Search(dbDataContext db, int _user,int _pageNumber, int _rowCountPerPage)
{
var query = (
from p in db.new_log
where p.created_by == (_user < 0 ? p.created_by : _user) orderby p.id descending
select p
)
.Skip(_pageNumber * _rowCountPerPage).Take(_rowCountPerPage);
return query;
}
要點:
1.我們必須禁用頁面或控制水平viewsate以提高性能。
<%@ Page Language="C#" EnableViewState="false" %> OR <asp:GridView
EnableViewState="false" runat="server" />
2.試着寫單個查詢來獲得結果。
http://forums.asp.net/p/1779601/5120205.aspx/1?p=True&t=634814907594742030
相關問題
- 1. asp.net最佳實踐
- 2. 記錄ASP.NET - 最佳實踐
- 3. 最佳實踐ASP.NET MVC 3
- 4. asp.net mvc viewdata最佳實踐
- 5. 最佳實踐 - ASP.NET/Entity Framework
- 6. ASP.NET MVC的最佳實踐
- 7. ASP.NET類庫最佳實踐
- 8. ASP.NET MVC RenderAction最佳實踐
- 9. ASP.NET安全最佳實踐
- 10. 最佳實踐在asp.net
- 11. ASP.Net MVC Cookies最佳實踐
- 12. 分頁最佳實踐紅寶石
- 13. 搜索結果分頁,最佳實踐
- 14. 分析網頁的最佳實踐
- 15. Rails部分最佳實踐
- 16. 分享點最佳實踐
- 17. 最佳實踐
- 18. 最佳實踐
- 19. 最佳實踐
- 20. 最佳實踐:
- 21. 最佳實踐
- 22. 最佳實踐
- 23. 最佳實踐
- 24. 最佳實踐
- 25. 最佳實踐
- 26. 最佳實踐
- 27. 最佳實踐
- 28. 最佳實踐
- 29. 最佳實踐
- 30. 最佳實踐
這真的取決於數據。谷歌無法在一次返回一百萬頁的搜索中脫離客戶端分頁。 (雖然,這聽起來像他從DB加載整個集合的方式) – JerSchneid 2009-05-21 04:12:32