How to use a ViewBag to create a dropdownlist?

后端 未结 7 2353
失恋的感觉
失恋的感觉 2020-12-01 07:35

Controller:

public ActionResult Filter()
{
    ViewBag.Accounts = BusinessLayer.AccountManager.Instance.getUserAccounts(HttpContext.User.Identity.Name);
             


        
7条回答
  •  难免孤独
    2020-12-01 08:01

    You cannot used the Helper @Html.DropdownListFor, because the first parameter was not correct, change your helper to:

    @Html.DropDownList("accountid", new SelectList(ViewBag.Accounts, "AccountID", "AccountName"))
    

    @Html.DropDownListFor receive in the first parameters a lambda expression in all overloads and is used to create strongly typed dropdowns.

    Here's the documentation

    If your View it's strongly typed to some Model you may change your code using a helper to created a strongly typed dropdownlist, something like

    @Html.DropDownListFor(x => x.accountId, new SelectList(ViewBag.Accounts, "AccountID", "AccountName"))
    

提交回复
热议问题