Estoy tratando de completar una lista desplegable de una base de datos asignada con Linq-2-SQL, usando ASP.NET MVC 2, y sigo recibiendo este error.
Estoy tan confundido porque estoy declarando una variable de tipo IEnumerable<SelectListItem>en la segunda línea, pero el error me hace pensar que este no es el caso. Siento que esto debería ser muy simple, pero estoy luchando. Cualquier ayuda es apreciada.
Aquí están los bits interesantes de mi controlador:
public ActionResult Create()
{
var db = new DB();
IEnumerable<SelectListItem> basetypes = db.Basetypes.Select(
b => new SelectListItem { Value = b.basetype, Text = b.basetype });
ViewData["basetype"] = basetypes;
return View();
}
Y aquí están los puntos interesantes de mi punto de vista:
<div class="editor-label">
<%: Html.LabelFor(model => model.basetype) %>
</div>
<div class="editor-field">
<%: Html.DropDownList("basetype") %>
<%: Html.ValidationMessageFor(model => model.basetype) %>
</div>
Aquí está la acción POST al enviar el formulario
// POST: /Meals/Create
[HttpPost]
public ActionResult Create(Meal meal)
{
if (ModelState.IsValid)
{
try
{
// TODO: Add insert logic here
var db = new DB();
db.Meals.InsertOnSubmit(meal);
db.SubmitChanges();
return RedirectToAction("Index");
}
catch
{
return View(meal);
}
}
else
{
return View(meal);
}
}
Gracias.