所以,這個問題可能有點含糊,但我經常討論它:Asp.Net GridView:好還是壞/用於綁定的數據類型?
當設計一個Asp.Net頁面時,很多時候你可能只想在頁面上拋出一個快速而髒的GridView 。當你走這條路線時,你有各種數據源選項(我通常使用ObjectDataSource綁定到一個業務對象),你也可以手動綁定。
我已經看到很多數據類型可以自動提供網格內的排序功能的變化。我已經看到人們將他們的自定義POCO集合轉化爲其業務對象中的DataTables,以便GridViews可以更輕鬆地支持這些類型的行爲。
通過自己處理所有可用事件(OnSorting,OnUpdating等),您可以真正從GridView中獲得很多不同的行爲,並且最終可以長期高度自定義。即使情況如此,您可能會遇到其他一些小問題,例如無法使用「Enter」鍵自動執行給定行的更新操作。這是因爲頁面上的默認按鈕可能不在GridView中,並且ASP.Net只允許您爲給定面板指定默認按鈕,並且不會爲GridView模板中的按鈕提供此行爲。這只是一個例子,介意你。當然,還有一個問題,就是在每次過濾操作時頁面是否應該返回到數據源,或者整個數據源是否應該緩存在頁面上的ViewState中,以允許在不訪問數據庫的情況下進行過濾/排序...
因此,這裏是最終的問題:是否有理由在您想要基本的CRUD操作的頁面上使用GridView,即使這意味着將您的自定義集合轉換爲某種DataTable? GridViews應該完全拋棄,以支持其他類似DataList,ListView或Repeater的東西嗎?後面的選項當然可能更靈活,但這是否意味着應該爲每個場景重建GridView的默認行選擇,編輯,排序等功能?
關於這個問題的任何合理的想法讚賞!