/ / Como tornar o valor selecionado em @ Html.DropDownListFor como código a seguir? - asp.net-mvc-3

Como fazer o valor selecionado em @ Html.DropDownListFor como código a seguir? - asp.net-mvc-3

o código a seguir preenche a lista suspensa para 1-31 na data da lista suspensa na minha web asp.

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

Agora estou lutando para ter um valor nissolista suspensa pré-selecionada (por exemplo, eu quero que a data atual seja um valor selecionado). Eu assumo hoje é 3 e, em seguida, eu adicionei o código para verificar se é 3 e defina o valor da propriedade Selected em conformidade ... Ele não funciona - nenhum atributo selecionado em <option> quando vejo a fonte no navegador.

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

O especialista pode me esclarecer, por favor?

Respostas:

2 para resposta № 1

Tente isso, funcione para mim
Controlador:

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

Visão:

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