Как я могу получить SelectListItem, отличный от значения со значением = 0, который будет выбран по умолчанию? - PullRequest
0 голосов
/ 26 января 2019

У меня есть <select> для рабочих дней в ViewComponent Default.cshtml, каждый день с соответствующими значениями 0-6 (с воскресенья по субботу).Тем не менее, я хочу, чтобы понедельник был указан как первый день, поэтому в моей ViewModel у меня есть это:

public List<SelectListItem> SelectableWeekdays => new List<SelectListItem>
{
    new SelectListItem { Text = "Monday", Value = "1", Selected = true },
    new SelectListItem { Text = "Tuesday", Value = "2", Selected = false },
    new SelectListItem { Text = "Wednesday", Value = "3", Selected = false },
    new SelectListItem { Text = "Thursday", Value = "4", Selected = false },
    new SelectListItem { Text = "Friday", Value = "5", Selected = false },
    new SelectListItem { Text = "Saturday", Value = "6", Selected = false },
    new SelectListItem { Text = "Sunday", Value = "0", Selected = false }
};

На мой взгляд, я отображаю раскрывающийся список следующим образом:

<select asp-for="Weekday" class="form-control" asp-items="@Model.SelectableWeekdays">
</select>

Я также попытался вручную добавить выбранную отключенную опцию:

<select asp-for="Weekday" class="form-control" asp-items="@Model.SelectableWeekdays">
    <option selected disabled>Please choose</option>
</select>

Независимо от того, что я пробовал, выбранная опция всегда "воскресенье" с атрибутом selected="selected", для которого установлендень.

Я также пытался добавить

new SelectListItem { Text = "Please choose", Value = "99", Selected = true, Disabled = true },

во ViewModel и опустить опцию manual в моем представлении, но это тоже не сработало.Отключенная опция «Пожалуйста, выберите» была в верхней части списка, но воскресенье все еще оставалось выбранной опцией.

1 Ответ

0 голосов
/ 26 января 2019

Я считаю, что проблема заключается в значении свойства базовой модели Weekday.

Если установить для этого свойства значение, которое вы хотите выбрать по умолчанию (в данном случае 1), элемент управления будет отображаться соответствующим образом.

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