在剃刀视图的一个下拉列表中显示多个Enum值

时间:2019-06-05 04:14:28

标签: c# asp.net-mvc razor

我在项目中使用了两个Enum。现在,我试图在一个DropDownList中显示这两个Enum值。我很难在一个DropDownList中显示两个Enum。我在下面提供代码:第一个枚举

public enum Month
    {
        Jan = 1,
        Feb = 2,
        Mar = 3,
        Apr = 4,
        May = 5,
        Jun = 6,
        Jul = 7
    }

第二个枚举

public enum Day
        {
            Sun = 1,
            Mon = 2,
            Tue = 3,
            Wed = 4,
            Thu = 5,
            Fri = 6,
            Sat = 7
        }

我正在写控制器,以使用“ +”号组合两个Enum:

  foreach (var item in monthdayarray){
lst.Add(new SelectListItem { Text = (Enum.GetName(typeof(Month), item)),   + (Enum.GetName(typeof(Day), item)) , Value = item.ToString() });
}

我正在尝试这样做: Image

1 个答案:

答案 0 :(得分:1)

除了使用foreach之外,您还可以尝试使用带字符串插值的for循环,

类似的东西

for(int i =1; i<= 7; i++)
    Console.WriteLine($"{((Month)i).ToString()} ({((Day)i).ToString()})");

如果要添加到列表中,则

for(int i =1; i<= 7; i++)
    lst.Add(new SelectListItem { Text = $"{((Month)i).ToString()} ({((Day)i).ToString()})" , Value = (Month)i });

输出将是:

Jan (Sun)
Feb (Mon)
Mar (Tue)
Apr (Wed)
May (Thu)
Jun (Fri)
Jul (Sat)

POC:.net Fiddle