无法在MVC中绑定DropDownList

Cod*_*der 2 c# asp.net asp.net-mvc asp.net-mvc-4

我是新手MVC.我正在尝试绑定下拉列表但遇到问题.

以下DataLayer代码:

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

      }
Run Code Online (Sandbox Code Playgroud)

控制器代码:

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

查看代码:

@Html.DropDownList("SelectedMovieType", (IEnumerable<SelectListItem>) ViewBag.Customers)
Run Code Online (Sandbox Code Playgroud)

尝试绑定时出现以下错误 DropDownList

能够转换类型为'System.Collections.Generic.List 1[DataLayer.Customer]' to type 'System.Collections.Generic.IEnumerable1 [System.Web.Mvc.SelectListItem]'的对象.

让我知道我如何能够解决这个问题.

kma*_*zek 5

ViewBag.Customers应该是类型List<SelectListItem>.

控制器代码:

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

查看代码:

@Html.DropDownList("Customers")
Run Code Online (Sandbox Code Playgroud)