无法在MVC中绑定DropDownList

时间:2015-02-09 14:12:59

标签: c# asp.net asp.net-mvc asp.net-mvc-4

我是MVC的新手。我试图绑定下拉列表但遇到问题。

遵循DataLayer的代码:

public List<DataLayer.Customer> GetCustomers()
      {
          return obj.Customers.ToList();

      }

控制器代码:

 [Authorize]
         public ActionResult CreateOrder()
         {
             ViewBag.Message = "Crearte Order";
             ViewBag.Customers = manageOrder.GetCustomers();
             return View();
         }

查看代码:

@Html.DropDownList("SelectedMovieType", (IEnumerable<SelectListItem>) ViewBag.Customers)

尝试绑定DropDownList

时出现以下错误

启用类型&#39; System.Collections.Generic.List 1[DataLayer.Customer]' to type 'System.Collections.Generic.IEnumerable 1 [System.Web.Mvc.SelectListItem]&#39;。

让我知道如何解决这个问题。

1 个答案:

答案 0 :(得分:5)

ViewBag.Customers应为List<SelectListItem>类型。

控制器代码:

ViewBag.Customers = manageOrder.GetCustomers().Select(c => new SelectListItem { Text = c.TextProperty, Value = c.ValueProperty }).ToList();

查看代码:

@Html.DropDownList("Customers")