Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Bind não funcionando como devia

Quando se faz um Scaffolding de um model o EF já monta o Controller e as Views e no controller das views Edit e Create ele usa um Bind para montar o objeto com os valores, assim:

 [HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult Edit([Bind(Include = "ID,Pasta,DataCadastro, TipoAcaoID,TipoNaturezaID,TipoProcedimentoID,Assunto, ValorPedido")] Processo processo)
        {
            if (ModelState.IsValid)
            {
                db.Entry(processo).State = EntityState.Modified;
                db.SaveChanges();

Só que tenho notado que o "processo" criado e enviado para a View no Get do Edit não retorna completo quando montado por esse Bind.

A única forma de fazer essa edição é o Bind?

E o ModelState.IsValid está dizendo que a montagem é inválida, mas não indica o que tornou inválida. Onde posso ver o que está inválido?

1 resposta
solução!

Olá, Jaqueline!

No form HTML você precisa ter todos os campos que deseja enviar para o método POST. Então, crie na sua view um elemento Html.HiddenFor() para cada campo faltante.

Sobre as mensagens de erro, você pode chamar o método Html.ValidationSummary() para ver todos os erros do modelo, ou Html.ValidationMessageFor() para obter os erros para uma propriedade específica do modelo.

Boa sorte e bons estudos!