Получение выпадающего списка для работы с codefirst 4.1 MVC3

#entity-framework #asp.net-mvc-3 #ef-code-first

#entity-framework #asp.net-mvc-3 #ef-code-first

Вопрос:

Я пытаюсь разобраться в подходе entity framework 4.1 codefirst к MVC3.

Я пытаюсь добавить выпадающий список в представление create, но безуспешно.

У меня есть модель, похожая

 public class BusinessModel
{
    public int Id { get; set; }

    [Required]
    public string BusinessName { get; set; }
    [Required]
    public string PhoneNumber { get; set; }


    public int BusinessTypeId { get; set; }
    public virtual BusinessTypeModel BuinessTypeModel { get; set; }

}

public class BusinessTypeModel
{
    public int Id { get; set; }
    public string BusinessType { get; set; }
}
  

Мой выпадающий список выглядит следующим образом

      @Html.DropDownListFor(model => model.BusinessTypeId,
         ((IEnumerable<CRM.Models.BusinessTypeModel>)ViewBag.BuinessTypes)
    .Select(option => new SelectListItem
    {

        Text = (option == null ? "None" : option.BusinessType),

        Value = option.Id.ToString(),

        Selected = (Model != null) amp;amp; (option.Id == Model.BusinessTypeId)

    }), "Select Business Type...")
  

Я еще ничего не сделал со своим контроллером, поэтому его ванильный

  public ActionResult Create()
    {
        return View();
    } 
  

Однако я получаю ошибку null

Значение не может быть нулевым. Имя параметра: источник

Теперь я предполагаю, что это значение равно нулю, потому что я неправильно привязываю выпадающий список, однако я не уверен, где я ошибаюсь.

Может кто-нибудь, пожалуйста, помочь с тем, что я делаю неправильно?

Ответ №1:

вы используете «ViewBag.BuinessTypes» на ваш взгляд,

Возможно, вам следует присвоить значение ViewBag.Какие типы файлов используются при создании контроллера?

Нравится:

  public ActionResult Create()
    {
        ViewBag.BuinessTypes = ...;        
        return View();
    }