Estoy intentando crear una lista desplegable, pero luchando con la representación Html.DropDownList.Asp.Net MVC con lista desplegable y SelectListItem Assistance
tengo una clase:
public class AccountTransactionView
{
public IEnumerable<SelectListItem> Accounts { get; set; }
public int SelectedAccountId { get; set; }
}
Eso es básicamente mi vista del modelo por ahora. La lista de cuentas y una propiedad para devolver el elemento seleccionado.
En mi controlador, consigo los datos preparados de esta manera:
public ActionResult AccountTransaction(AccountTransactionView model)
{
List<AccountDto> accounts = Services.AccountServices.GetAccounts(false);
AccountTransactionView v = new AccountTransactionView
{
Accounts = (from a in accounts
select new SelectListItem
{
Text = a.Description,
Value = a.AccountId.ToString(),
Selected = false
}),
};
return View(model);
}
Ahora el problema:
entonces yo estoy tratando de construir el Desplegar en mi opinión:
<%=Html.DropDownList("SelectedAccountId", Model.Accounts) %>
Recibo el siguiente error:
El elemento ViewData que tiene la clave 'SelectedAc countId 'es del tipo' System.Int32 'pero debe ser del tipo' IEnumerable '.
¿Por qué querría que le devolviera toda la lista de artículos? Solo quiero el valor seleccionado. ¿Cómo debería estar haciendo esto?
Gracias @Darin Dimitrov - Eso funcionó - pero no estoy seguro de lo que estaba mal con mi intento. ¿Puedes explicarlo? – Craig
@cdotlister, no estoy seguro, pero el problema podría estar relacionado con el hecho de que estaba pasando el modelo incorrecto a la acción de su controlador. –
Gracias. Visto eso justo después de publicar. – Craig