.net Core MVC: получить несколько значений перечисления в одном SelectListItem - PullRequest
0 голосов
/ 11 октября 2019

В проекте мне нужно представить данные, отфильтрованные по модели enum, в выпадающем списке. Модель enum имеет три записи, но две из них необходимо объединить. К сожалению, я не могу сделать это ни в самой модели enum, ни в контроллере, это должно быть быстрым решением, и переписать enum или контроллер - большая работа из-за множества других вещей.

Enum Model

public enum Status
    {
        New,
        Active,
        Closed
    }

Мне нужно представить новые и активные записи в Active SelectListItem, чтобы у пользователей было Active и Closed на выбор, а при выборе Active отображаются как новые, так и активные записи.

Есть ли способ сделать это во внешнем интерфейсе, на мой взгляд? Теперь у меня есть фрагмент Html.DropDownList:

var selectList = new SelectList(
        new List<SelectListItem>
        {
        new SelectListItem {Text = "Active", Value = (Status.Active).ToString()},
        new SelectListItem {Text = "Closed", Value = (Status.Closed).ToString()},
        }, "Value", "Text");
    }
@Html.DropDownList("Status", selectList, "All Changes", new { @class = "form-control", @id = "status" })

В этом коде отсутствуют записи New, кроме параметра All Changes. Однако Новые записи должны быть видны как в разделе «Все изменения», так и «Активно». Надеюсь, мое объяснение понятно. Есть ли способ, которым это может быть относительно легко?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...