2014-09-10 3 views
1

У меня есть DropDownList получение данных из базы данныхпроблемы с получением данных для DropDownList

содержит 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, это даст мне ошибку ", что элементы должны быть не n ull "

+0

Вы используете вид модели с вашей точки зрения? , если да, тогда попробуйте новый SelectList (Model.postes, «Id», «intitule_poste»), «choisir le poste») – Swaraj

+0

Я не использую ViewModel .... – saidmohamed11

+0

На какой строке у вас есть ошибка и что такое точное сообщение? – glautrou

ответ

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); 
} 
Смежные вопросы