我有一個枚舉列表,其中包括一個名爲默認枚舉。c#枚舉名稱過濾DropDownList而不是值
public enum Fruits { Default = Banana,
Banana = 1,
Orange = 2,
Grapefruit = 3 }
我需要填充排除默認字段的下拉列表。
Html.DropDownList("fruitSelector",
Enum.GetValues(typeof(Fruits)).Cast<Fruits>()
.OrderBy(o => o.GetDescription())
.Where(o => o != Fruits.Default)
.Select(o => new SelectListItem() {Text = o.GetDescription(), Value = ((int) o).ToString()}), "-- All Fruits --",
new {@class = "form-control", @aria_describedby="sizing-addon1"})
當我嘗試過濾Fruits.Default時,它將刪除BOTH默認值和香蕉。我如何做一個過濾器比較,我只刪除默認?
[[CORRECTION]]此枚舉重複我的問題。我真的不明白其中的差異。
public enum Fruits
{
Default = Peaches,
Peaches = 1,
Bananas = 2,
Grapefruit = 3,
Apple = 101,
Watermellon = 102
}
或
public enum Fruits2
{
Default = Mangos,
Mangos = 1,
Dates = 2,
Figs = 3,
Apples = 101,
Limes = 102,
Grapes = 103
}
上面的代碼是否編譯?或者你有沒有在這裏顯示的擴展方法?否則'o.GetDescription()'如何編譯沒有錯誤? – Sach
https://stackoverflow.com/questions/30467519/about-enum-and-dataannotation –
@Sach雅是一種獲取自定義描述註釋的方法。你可以排除這一點。 – user1161137