Вот суть: в моей школе есть список классов.Каждый класс принадлежит одной карьере.Я создаю создать новую форму класса, например.Математика, общественные науки и т. Д. В форме, которую я хочу создать в раскрывающемся списке с доступными предлагаемыми вакансиями.
Невозможно привести объект типа 'System.Collections.Generic.List`1 [System.Web.Mvc.SelectListItem] 'для ввода' System.Web.Mvc.SelectList '.
Вот мой код:
[HttpGet]
public ActionResult Crear()
{
CarreraRepository carreraRepository = new CarreraRepository();
var carreras = carreraRepository.FindAll().OrderBy(x => x.Nombre);
var carrerasList = new List<SelectListItem>();
foreach (var carrera in carreras)
{
carrerasList.Add(new SelectListItem()
{
Text = carrera.Nombre,
Value = carrera.ID.ToString()
});
}
ViewData["Carreras"] = carrerasList.AsEnumerable();
Materia materia = new Materia();
return View(materia);
}
[HttpPost]
public ActionResult Crear(Materia materia, FormCollection values)
{
if (ModelState.IsValid)
{
repo.Add(materia);
repo.Save();
return RedirectToAction("Index");
}
return View(materia);
}
А вот представление:
<div class="editor-label">
<%: Html.LabelFor(model => model.IDCarrera) %>
</div>
<div class="editor-field">
<%: Html.DropDownList("Carrera", (SelectList)ViewData["Carreras"]) %>
<%--<%:Html.TextBoxFor(model => model.IDCarrera)%>--%>
<%: Html.ValidationMessageFor(model => model.IDCarrera) %>
</div>
Есть предложения?Моя схема и код базы данных кода очень просты, поэтому ошибка может быть совершенно очевидна для некоторых.Спасибо за помощь!:)