如何在 SelectListItem 中包含枚举键和值?
how to include enum key and value inside SelectListItem?
我尝试将 Enum 转换为 SelectListItem。我可以获取文本,但我无法获取值本身。
这是我的尝试。
// A method to convert Enum to SelectListItem
public static IEnumerable<SelectListItem> GetEnumSelectList<T>()
{
return (Enum.GetValues(typeof(T)).Cast<T>().Select(
enu => new SelectListItem() { Text = enu.ToString(), Value = enu.ToString() })).ToList();
}
这个方法returnsText = enu.ToString(), Value = enu.ToString()
返回 Text 可以,但与 Value 相同。
我不知道如何检索枚举的值,所以我可以获得 0,1 而不是 Import 或 Export
假设您没有更改底层枚举类型(默认为 int
),您可以直接转换它:
new SelectListItem() { Text = enu.ToString(), Value = (int) enu }
如果您更改了基础类型(例如 Guid
),当然要确保将其转换为适当的类型。
我尝试将 Enum 转换为 SelectListItem。我可以获取文本,但我无法获取值本身。
这是我的尝试。
// A method to convert Enum to SelectListItem
public static IEnumerable<SelectListItem> GetEnumSelectList<T>()
{
return (Enum.GetValues(typeof(T)).Cast<T>().Select(
enu => new SelectListItem() { Text = enu.ToString(), Value = enu.ToString() })).ToList();
}
这个方法returnsText = enu.ToString(), Value = enu.ToString()
返回 Text 可以,但与 Value 相同。
我不知道如何检索枚举的值,所以我可以获得 0,1 而不是 Import 或 Export
假设您没有更改底层枚举类型(默认为 int
),您可以直接转换它:
new SelectListItem() { Text = enu.ToString(), Value = (int) enu }
如果您更改了基础类型(例如 Guid
),当然要确保将其转换为适当的类型。