我正在尝试在asp.net mvc中验证我的CRUD应用程序,但是当我创建一个部门并且想要重新创建该现有部门时,必须提示我该部门存在。但这向我显示了此错误。
““具有键'depID'的ViewData项的类型为'System.String',但必须为'IEnumerable'类型。” 当我要测试对现有注册学校的验证时,会显示此错误 这是我的程序控制器代码
public ActionResult Create([Bind(Include = "progID,progName,depID,IsDeleted")] programme programme)
{
try
{
using (MyCrudDb db = new MyCrudDb())
{
if (valid.progExist(programme))
{
ModelState.AddModelError(Guid.NewGuid().ToString(), "Programme Already Exist");
return View(programme);
}
db.programmes.Add(programme);
db.SaveChanges();
}
return RedirectToAction("Index");
}
catch
{
ViewBag.depList = new SelectList(db.departments, "depID", "depName");
return View(programme);
// return View();
}
}
这是我对下拉列表的看法
<div class="form-group">
@Html.LabelFor(model => model.depID, "depID", htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@* @Html.DropDownList("depID", null, htmlAttributes: new { @class = "form-control" })*@
@Html.DropDownListFor(m => m.depID, ViewBag.depList as SelectList, htmlAttributes: new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.depID, "", new { @class = "text-danger" })
</div>
</div>
该下拉列表运行得很好,但是我不知道为什么当我要测试现有程序的验证时错误仍然显示
谢谢。