获取dropdownlist的数据时出现问题

本文关键字:问题 数据 dropdownlist 获取 | 更新日期: 2023-09-27 18:21:17

我有一个从数据库获取数据的下拉列表

它包含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")

问题是,如果我从dropdownlist中选择一个值=3它给了我一个错误"项目必须不为空"

获取dropdownlist的数据时出现问题

您的视图包括基于ViewBag.Postes的值生成的@Html.DropDownListFor()。当您返回视图时(即当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);
}