Список для отображения значений перечисления в чек-листе - PullRequest
0 голосов
/ 26 апреля 2018

В viewModel я создал перечисление для разных месяцев года, а также создал свойства класса.

 public class Lists
{

    public enum Months
    {
        Jan = 0,
        Feb = 1,
        Mar = 2,
        Apr = 3,
        May = 4,
        Jun = 5,
        Jul = 6,
        Aug = 7,
        Sep = 8,
        Oct = 9,
        Nov = 10,
        Dec = 11
    }
 public object Month { get; set; }
 public bool isChecked { get; set; }

В контроллере я создал список объектов и попытался добавить названия месяцев в этот список, используя метод GetValues.

public class SchedulerController : Controller
{
    // GET: Scheduler
    [HttpGet]
    public ActionResult schedulerIndex()
    {
        List<Lists> lst = new List<Lists>();
lst.Add(new Lists { Month = Enum.GetValues(typeof(Lists.Months)), isChecked = false });

Затем я создал представление, в котором я попытался добавить поле контрольного списка. Однако, когда я пытаюсь запустить веб-приложение, все, что отображается в флажке, - это system.string [].

Как мне заставить его отображать имена вместо?

Ответы [ 2 ]

0 голосов
/ 27 апреля 2018

Это решило проблему. Я создал цикл foreach, который добавил каждое значение перечисления в список.

        foreach (Lists.Months month in Enum.GetValues(typeof(Lists.Months)))
        {
            lst.Add(new Lists { Month = month, IsChecked = false });
        }
0 голосов
/ 26 апреля 2018

Попробуйте что-то вроде этого:

Enum.GetNames(typeof(Lists.Months)).OfType<string>()
  .ForEach(m => lst.Add(new Lists { Month = m, isChecked = false });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...