@Html.DropDownListFor(x => x.SelectedProperty, Model.Property, "Please Select")
Ho il codice sopra in asp.net mvc3 per compilare un elenco a discesa. I dati vengono compilati ma l'elemento selezionato è il primo elemento del risultato del modello. Sto cercando di impostare il valore predefinito come "Seleziona". Come farlo?
risposte:
2 per risposta № 1Nell'azione del tuo controller devi impostare il valore di SelectedProperty
al valore dell'oggetto che vuoi preselezionare:
model.SelectedProperty = "5";
Questo ovviamente presuppone che il Porperty
contiene un valore simile:
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" },
};
IMPOSTANDO model.SelectedProperty = "5";
, l'oggetto con Value="5"
sarà automaticamente preselezionato dal Html.DropDownListFor
aiutante.
Se invece vuoi avere il "Please Select"
viene visualizzato il valore predefinito, assicurati che nel tuo controller azioni SelectedProperty
è impostato per null
e non a qualche valore contenuto negli articoli.