Ich versuche, eine Dropdownliste zu erstellen, aber kämpfen mit der Html.DropDownList Rendering.
Ich habe eine Klasse:
public class AccountTransactionView
{
public IEnumerable<SelectListItem> Accounts { get; set; }
public int SelectedAccountId { get; set; }
}
Das ist im Wesentlichen mein derzeitiges Sichtmodell. Die Liste der Konten, und eine Eigenschaft für die Rückgabe des ausgewählten Elements.
In meinem Controller stelle ich die Daten so bereit:
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);
}
Jetzt das Problem:
Ich versuche dann, das Dropdown in meiner Ansicht zu erstellen:
<%=Html.DropDownList("SelectedAccountId", Model.Accounts) %>
Ich erhalte den folgenden Fehler:
Das ViewData-Element mit dem Schlüssel "SelectedAccountId" ist vom Typ "System.Int32", muss aber vom Typ "IEnumerable" sein.
Warum sollte ich die gesamte Liste zurückschicken wollen? Ich möchte nur den ausgewählten Wert. Wie sollte ich dies tun?