none
Ajuda com DropDownListFor RRS feed

  • Pergunta

  • Como faço para pegar o valor (id) do item selecionado em um DropDownListFor? Estou tendo o seguinte erro:

    Na Controller:

    public ActionResult Create()
    {
                ViewBag.Position = new SelectList(_positionApp.GetAll(), "PositionId", "Description");
                ViewBag.Departament = new SelectList(_departamentApp.GetAll(), "DepartamentId", "Description");
                return View();
    }

    Na View:

    @Html.DropDownListFor(model => model.DepartamentId, (IEnumerable<SelectListItem>)ViewBag.Departament, string.Empty)
    
    @Html.DropDownListFor(model => model.PositionId, (IEnumerable<SelectListItem>)ViewBag.Position, string.Empty)

    Mas, no momento que submeto o formulário tenho o seguinte erro:

    An exception of type 'System.InvalidOperationException' occurred in System.Web.Mvc.dll but was not handled in user code Additional information: The ViewData item that has the key 'DepartamentId' is of type 'System.Int32' but must be of type 'IEnumerable<SelectListItem>'

    Podem me ajudar?

    segunda-feira, 16 de maio de 2016 19:20

Todas as Respostas

  • Bom dia,

    Na sua "Action POST" você recebe um objeto que contem o atributo DepartamentoId ?

    Tente trocar para:

    @Html.DropDownListFor(model => model.DepartamentId, (SelectList)ViewBag.Departament, string.Empty)


    Se a resposta contribuiu com seu aprendizado por favor marque como util, se solucionou seu problema marque como resposta.

    segunda-feira, 16 de maio de 2016 22:13