我是asp.net MVC的新手,希望有人能提供帮助。我尝试将创建表单的类别字段更改为 dorpdownlist。下拉列表的项目来自一个表 - 类别
一切似乎都很好,但是当我提交创建时,我收到了错误消息
具有键“类别”的 ViewData 项的类型为“System.String”,但必须为“IEnumerable<SelectListItem>”类型
这是我的控制器代码:
public ActionResult Create()
{
IEnumerable<SelectListItem> items = db.Catagorys
.Select(c => new SelectListItem
{
Text = c.CatagoryName
});
ViewBag.Searchcategory = items;
return View();
}
//
// POST: /Admin/Create
[HttpPost]
public ActionResult Create(Contact contact)
{
try
{
if (ModelState.IsValid)
{
db.Contacts.Add(contact);
db.SaveChanges();
return RedirectToAction("Index");
}
}
catch (DataException)
{
//Log the error (add a variable name after DataException)
ModelState.AddModelError("", "Unable to save changes, Try again.");
}
return View(contact);
}
这是我的创建视图代码:
<div class="editor-field">
@Html.DropDownListFor(model => model.category, (IEnumerable<SelectListItem>)ViewBag.Searchcategory, "--Select One--")
@Html.ValidationMessageFor(model => model.category)
</div>