Próbuję wypełnić listę rozwijaną z bazy danych zmapowanej za pomocą Linq-2-SQL, używając ASP.NET MVC 2 i nadal otrzymuję ten błąd.
Jestem tak zdezorientowany, ponieważ deklaruję zmienną typu IEnumerable<SelectListItem>
w drugim wierszu, ale błąd sprawia, że myślę, że tak nie jest. Wydaje mi się, że to powinno być bardzo proste, ale walczę. Każda pomoc jest mile widziana.
Oto interesujące fragmenty mojego kontrolera:
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();
}
A oto interesujące fragmenty mojego poglądu:
<div class="editor-label">
<%: Html.LabelFor(model => model.basetype) %>
</div>
<div class="editor-field">
<%: Html.DropDownList("basetype") %>
<%: Html.ValidationMessageFor(model => model.basetype) %>
</div>
Oto akcja POST podczas przesyłania formularza
// 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);
}
}
Dzięki.