Ich versuche, meine Kunden auf einer Dropdownlist-Liste, aber ich bin immer diese Fehlermeldung:Fehler DropDownListFor in MVC
The ViewData item that has the key 'cliente' is of type 'System.Int32' but must be of type 'IEnumerable'.
ich den gleichen Code auf 3 verschiedene Controller haben, und in zwei von ihnen, Es klappt.
Controller:
public ActionResult Create([Bind(Include = "id,osmanual,empresa,funcionario,cliente,requisitante,recepcionar,motorista,smsr,smsu,smsm,emailenviado,status,observacaostatus,diahora,todosrecepcionar,requisitantenome,requisitantecelular,requisitanteenviarsms,requisitanteenviaremail,departamento,ramal,pgtoccusto,faturadocc,cartaoautorizada,cartaoautorizadaerro,cartaodatadebito,recepcionarnome,recepcionarenviarsms,recepcionarenviaremail,local,transladopara,origem,linhaaerea,nvoo,celular,email,motoristaenviarsms,kmtranslado,kmtransladopreco,tempoespera,tempoesperapreco,estacionamento,pedagio,estacionamentopedagiopreco,nomecartao,numero,codigo,validade,valor,datacadastro,dataeditado")] ordensservicos ordensservicos)
{
if (ModelState.IsValid)
{
ViewBag.Clientes = new SelectList(db.clientes.Where(x => x.excluido == 0).OrderBy(x => x.nomefantasia).Select(x => x.id,), "id", "nomefantasia", 0);
db.ordensservicos.Add(ordensservicos);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(ordensservicos);
}
Und dann in HTML:
<div class="form-group" style="width: 450px">
@Html.Label("Cliente ")
@Html.DropDownListFor(model => model.cliente, (SelectList)ViewBag.Clientes, "Selecione", new { @class = "form-control", @style = "width: 450px" })
@Html.ValidationMessageFor(model => model.cliente, "", new { @class = "text-danger" })
</div>
ich nur Zehn Thema lesen Sie hier, ohne Erfolg.
Weil 'ModelState' ist ungültig und Sie kehren die Sicht, aber Sie haben nicht neu zugewiesen' ViewBag.Clientes' (Sie tun es nur, wenn 'ModelState' gültig ist, die sinnlos ist) –