5
Cosa mi manca qui?Binding a dropdownlist in mvc3 ad un dizionario?
ViewModel:
public class ViewModel
{
public IDictionary<int, string> Entities { get; set; }
public int EntityId { get; set; }
}
Controller:
public override ActionResult Create(string id)
{
ViewModel = new ViewModel();
IEnumerable<Entity> theEntities = (IEnumerable <Entity>)db.GetEntities();
model.Entities= theEntities.ToDictionary(x => x.Id, x => x.Name);
return View(model);
}
Vista:
<div class="editor-field">@Html.DropDownListFor(model => model.EntityId,
new SelectList(Model.Entities, "Id", "Name"))</div>
</div>
Errore:
DataBinding: 'System.Collections.Generic.KeyValuePair....does not contain a property with the name 'Id'
hi , grazie per la risposta, ma i miei id non sono contig. I risultati di ritorno dalla lista a cui desidero costruire la lista di selezione e memorizzare l'id selezionato sono come: [2] = "Joes ent", [9] = "Johns ent" ... ecc., Ecco perché desidero cattura l'id selezionato che corrisponde all'ID associato nel modello dstabase. – Mariah
Quindi cambia la tua vista a '
Impressionante, grazie !!!!!!! – Mariah