Asp.Net MVC com lista suspensa e assistência SelectListItem
Estou tentando criar uma lista suspensa, mas lutando com a renderização Html.DropDownList.
Eu tenho uma aula:
public class AccountTransactionView
{
public IEnumerable<SelectListItem> Accounts { get; set; }
public int SelectedAccountId { get; set; }
}
Esse é basicamente o meu modelo de exibição por enquanto. A lista de contas e uma propriedade para retornar o item selecionado.
No meu controlador, eu preparo os dados assim:
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);
}
Agora o problema:
Estou tentando construir o menu suspenso na minha opinião:
<%=Html.DropDownList("SelectedAccountId", Model.Accounts) %>
Eu estou recebendo o seguinte erro:
O item ViewData que possui a chave 'SelectedAccountId' é do tipo 'System.Int32', mas deve ser do tipo 'IEnumerable'.
Por que gostaria que eu devolvesse a lista inteira de itens? Eu só quero o valor selecionado. Como devo fazer isso?