/ / @ html.dropdownfor não está selecionando o valor padrão - asp.net-mvc-3, html.dropdownlistfor

@ html.dropdownfor não está selecionando o valor padrão - asp.net-mvc-3, html.dropdownlistfor

@Html.DropDownListFor(x => x.SelectedProperty, Model.Property, "Please Select")

Eu tenho o código acima no asp.net mvc3 para preencher uma lista suspensa. Os dados são preenchidos, mas o item selecionado é o primeiro item do resultado do modelo. Estou tentando definir o valor padrão selecionado como "Por favor, selecione". Como fazer isso?

Respostas:

2 para resposta № 1

Na sua ação do controlador você deve definir o valor do SelectedProperty para o valor do item que você deseja pré-selecionar:

model.SelectedProperty = "5";

Isso obviamente pressupõe que o Porperty contém tal valor:

model.Property = new[]
{
new SelectListItem { Value = "1", Text = "item 1" },
new SelectListItem { Value = "2", Text = "item 2" },
new SelectListItem { Value = "3", Text = "item 3" },
new SelectListItem { Value = "4", Text = "item 4" },
new SelectListItem { Value = "5", Text = "item 5" },
new SelectListItem { Value = "6", Text = "item 6" },
};

Definindo model.SelectedProperty = "5";, o item com Value="5" será pré-selecionado automaticamente pelo Html.DropDownListFor ajudante.

Se, por outro lado, você quiser ter o "Please Select" valor padrão sendo mostrado, certifique-se de que na ação do controlador SelectedProperty está configurado para null e não a algum valor contido nos itens.