Как сделать выбранное значение в @ Html.DropDownListFor следующим кодом? - PullRequest
1 голос
/ 26 августа 2011

следующий код заполняет раскрывающийся список на 1-31 под раскрывающимся списком даты в моей сети asp.

@Html.DropDownListFor(
    model => model.eDate,
    Enumerable.Range(1, 31).Select(i => new SelectListItem 
        { Value = i.ToString(), Text = i.ToString() }))

Теперь я пытаюсь сделать так, чтобы значение в этом выпадающем меню было предварительно выбрано (например, я хочу, чтобы текущая дата была выбранным значением). Я предполагаю, что сегодня это 3, а затем я добавил код, чтобы проверить, если это 3 и установить значение свойства Selected соответственно ... Это не работает - нет выбранного атрибута в <option>, когда я просматриваю источник в браузере.

@Html.DropDownListFor(
    model => model.eDate, 
    Enumerable.Range(1, 31).Select(i => new SelectListItem 
        { Value = i.ToString(), Text = i.ToString(), Selected = i == 3 }))

Может ли эксперт просветить меня, пожалуйста?

1 Ответ

2 голосов
/ 26 августа 2011

Попробуй, у меня это работаетКонтроллер:

public ActionResult Index()
{
    var mymodel = new MyModel() { 
        eDate = DateTime.Now.Day
    };
    return View(mymodel);
}

Вид:

@Html.DropDownListFor(
model => model.eDate,
Enumerable.Range(1, 31).Select(i => new SelectListItem 
    { Value = i.ToString(), Text = i.ToString() }))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...