#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();
}