如何在 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),当然要确保将其转换为适当的类型。