當我使用ViewData.ModelMetadata.Properties
來循環屬性(使用其他Where(modelMetadata => modelMetadata.ShowForEdit && !ViewData.TemplateInfo.Visited(modelMetadata))
),從而創建泛型編輯視圖,視圖模型的基類的屬性最後呈現。如何在爲通用編輯視圖使用ViewData.ModelMetadata.Properties時首先渲染視圖模型的基類的屬性
是否有可能使用一個聰明的OrderBy()或有另一種方法來獲取基類的屬性,然後子類'?
Reverse
不會做的伎倆,因爲每個類的屬性的排序是完全正確的。
一個解決方法當然是組合+委派,但由於我們沒有mixin,它太un-dry恕我直言,爲什麼我尋求一個更好的解決方案,如果可能的話。
在問我的問題之前,我發現了一篇博文(http://blog.maartenballiauw.be/post/2010/01/11/Ordering-fields-in-ASPNET-MVC-2-templated-helpers.aspx)作者創建一個Order(int)屬性以控制排序。 我還調查了ModelMetadata的屬性,但找不到任何有用的OrderBy,但希望我忽略了一些東西。 我希望找到比自定義屬性更簡單的解決方案,但至少有一種方法可以解決問題。 – 2010-05-06 07:28:09
有趣的帖子。這個排序的東西應該在默認的MetaDataProvider中。它非常重要。 – 2010-05-06 09:03:26