我有一个从数据库中获取数据的下拉列表
它包含4个数据:
我的控制员:
public ActionResult Index()
{
ViewBag.Postes = _db.Postes.ToList();
return View();
}
[HttpPost]
public ActionResult Index( Poste poste,string num_cin="R346399")
{
if (ModelState.IsValid)
{
if (poste.Id == 3)
{
return RedirectToAction("Inscription", "Candidat");
}
return View(poste);
}
}
我的观点
@Html.DropDownListFor(model => model.Id,
new SelectList(ViewBag.Postes, "Id", "intitule_poste"),"choisir le poste")
问题是如果我从下拉列表中选择一个值!= 3它会给我一个错误"项目必须不为空"
答案 0 :(得分:1)
您查看包含基于@Html.DropDownListFor()
值生成的ViewBag.Postes
。当您返回视图时(即当poste.Id不等于3时),您必须重新分配ViewBag.Postes
的值
if (ModelState.IsValid)
{
if (poste.Id == 3)
{
return RedirectToAction("Inscription", "Candidat");
}
ViewBag.Poste = _db.Postes.ToList(); // reassign collection for dropdown
return View(poste);
}