Voici la méthode Edit
de mon contrôleur. Tout fonctionne correctement, mais la valeur actuelle de l'agent dans le menu déroulant FixedOrVariable
n'est pas définie comme valeur par défaut. Cependant, je peux éditer cette valeur correctement.ASP MVC3 - Liste déroulante ne définissant pas la valeur par défaut correcte
Le champ FixedOrVariable
est un champ à un caractère dans le modèle. Ses valeurs sont F
ou V
(toujours en majuscule).
Voici la méthode du contrôleur
public ActionResult Edit(int id)
{
var banklistagentid = db.BankListAgentId.Find(id);
ViewBag.BankID = new SelectList(db.BankListMaster, "ID", "BankName", banklistagentid.BankID);
SelectList tmpList = new SelectList(new[] { "AL", "AK", "AS", "AZ", "AR", "CA", "CO", "CT", "DE", "DC", "FM", "FL", "GA", "GU", "HI", "ID", "IL", "IN", "IA", "KS", "KY", "LA", "ME", "MH", "MD", "MA", "MI", "MN", "MS", "MO", "MT", "NE", "NV", "NH", "NJ", "NA", "NM", "NY", "NC", "ND", "MP", "OH", "OK", "OR", "PW", "PA", "PR", "RI", "SC", "SD", "TN", "TX", "UT", "US", "VT", "VI", "VA", "WA", "WV", "WI", "WY" });
ViewBag.StateCodeList = tmpList;
var fixedOrVariable = new[] {new {Text = "Fixed", Value = "F"}, new {Text = "Variable", Value = "V"}};
ViewBag.FixedOrVariable = new SelectList(fixedOrVariable, "Value", "Text", banklistagentid.FixedOrVariable);
return View(banklistagentid);
}
Et voici le code de la vue
<div class="editor-field">
@Html.DropDownListFor(model => model.FixedOrVariable, (SelectList)ViewBag.FixedOrVariable)
</div>
S'il vous plaît vérifier quelques réponses sur la même question [ici] (http://stackoverflow.com/questions/781987/how-can-i-get-this-asp-net-mvc -selectlist-to-work/11705380 # 11705380). – ararog
L'affichage de votre élément de liste déroulante est-il correct? –
@ararog: Il n'est pas nécessaire de surcharger la méthode 'ToString', cela devrait être une solution beaucoup plus simple. – NealR