2009-08-14 22 views
7

我目前有一箇中繼器,其數據源是List,其中ModelObject是前端中的自定義類,用於幫助呈現更多複雜的LINQ to SQL對象。例如,它爲鏈接呈現URLS,狀態名稱等等。狀態名稱不在數據庫中,因爲我們知道我們有一天必須本地化這個應用程序。使用前端集合時,「數據源不支持服務器端數據分頁」

現在我需要對這個列表進行分頁和排序,所以我試圖切換到一個gridview以利用開箱即用功能。我收到錯誤「數據源不支持服務器端數據分頁」。我可以使用哪種數據源,仍然可以讓我的前端自定義輸出?這似乎應該是一個常見的任務,因爲本地化的應用程序需要來自resx文件的排序值。

感謝您的幫助。

+0

你可以顯示你的代碼。 – 2009-08-14 03:13:01

+0

我擁有的代碼太廣泛,無法輕鬆包含。我將不得不在一個新項目中做一個簡單的例子,這可能會幫助我解決這個問題。 – 2009-08-17 15:38:15

回答

8

您不能使用IQueryable對象將數據綁定到GridView並仍然使用分頁和排序。您必須使用ToList()方法將List返回給GridView。

更多信息請參見本DevToolShed文章:
http://www.devtoolshed.com/content/gridview-objectdatasource-linq-paging-and-sorting

+0

此鏈接正在幫助。我必須做的第一件事是將數據源從IEnumerable更改爲IList。我想我必須更多地使用自定義的ObjectDataSource,但是這個鏈接也覆蓋了這個。 – 2009-08-17 15:35:50

3

對於那些收到此錯誤,但實施:

IEnumerable<T> or 
IEnumerable or 
IList<T> or 
IDictionary<T1, T2>. 

您需要實現的ICollection(非通用一個)爲您要通過「數據源不支持服務器端數據分頁」錯誤。

相關問題