我只使用asp.net大約一個月,所以我希望我的白話有道理。我更願意使用MVC,但是這個特定的視圖頁面似乎必須使用aspx和代碼隱藏文件,因爲它需要「包含」在平面文件CMS中。asp.net排序一個內部的ListView
我有3個嵌套ListViews。首先是從我的代碼隱藏文件使用LINQ填充(數據綁定),並且效果很好,獲取年的列表。然後,對於第二個ListView,我調用GetRecordsFromYear函數,該函數獲取所有記錄,再次在代碼隱藏中使用LINQ。
<asp:ListView ID="lv2" runat="server" DataSource='<%# GetRecordsFromYear(Convert.ToInt32(Container.DataItem)) %>'>
接下來,對於每個記錄有導航屬性(一到許多與另一個表的關係)與度。 Degrees表有一個名爲「gradyear」的列,這是我想要排序的最後一個ListView。我可以輸出這種精細通過執行類似:
<asp:ListView ID="lv3" runat="server" DataSource='<%# Eval("Degrees") %>'>
一切完美,除了我無法弄清楚如何解決這最後的ListView。我無法使用LINQ,因爲我從未真正檢索過這些數據,它是第一個表的導航屬性記錄。我想我可能可能只是使用另一個函數來檢索數據,但當我有導航屬性可用時,必須始終查詢數據庫似乎很愚蠢。我不想要一個按鈕來對它進行排序,只是按默認排序。
您輸入的內容無效(表示「)」)。更改大寫From to from給出錯誤「查詢主體必須以select子句或group子句結束」,所以我嘗試在它後面添加「select o」,但這也不起作用。然後,我通過orderby(我認爲是正確的)刪除了orderby之間的空間,並且出現此錯誤:「無法找到源類型爲'object'的查詢模式的實現。'OrderBy'未找到。」 我發現這個:http://stackoverflow.com/questions/687134/can-i-define-default-sort-order-in-linq但它似乎並沒有使用Eval() – 2012-03-29 15:03:28