none
Erro após executar uma ação redirecionar para uma página RRS feed

  • Pergunta

  • Acredito que estou passando errado o código abaixo, ele deveria depois de salvar o Cliente e redirecionar para página Cliente/Index, porém depois de salvar fica na mesma página, usando o Debug ele passa no Cliente/Index (Action e View), mas não abre a página.

     public ActionResult Cadastro(Cliente cliente)
            {
                if (ModelState.IsValid)
                {
                    if (IsCpf(cliente.CPF).Equals(true))
                    {
                        db.Cliente.Add(cliente);
                        db.SaveChanges();
                        return RedirectToAction("Index");
                    }
                    else
                        ViewBag.Mensagem = "CPF Inválido"; 
                }
    
                ViewBag.Estados = new SelectList(SelecionarEstados(), "Value", "Text");
                return View(cliente);
    
            }
    
     public ActionResult Index()
            {
                return View(db.Cliente.Where(s => s.Ativo == true).ToList());
            }


    Por favor, lembre-se de “Marcar como Resposta” as respostas que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.


    segunda-feira, 30 de novembro de 2015 21:33

Respostas

Todas as Respostas

  • Boa noite.

    Tente fazer o seguinte:

    return RedirectToAction("Index", "NomeDoController");

    Trocando o NomeDoController pelo nome propriamente dito, óbvio.

    Não tenho certeza que seja esse o problema, mas vale a pena tentar.


    Att., Rafael Simor

    segunda-feira, 30 de novembro de 2015 23:36
  • Já tentei assim, do mesmo jeito obrigado.

    Por favor, lembre-se de “Marcar como Resposta” as respostas que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    terça-feira, 1 de dezembro de 2015 13:47
  • A Action está sendo chamada por algum Ajax?

    Já tentaste colocar [HttpPost] acima da Action?

    O formulário possui um AntiForgeryToken? Se sim, tu precisas colocar [ValidateAntiForgeryToken] acima da Action.


    Att., Rafael Simor

    terça-feira, 1 de dezembro de 2015 13:56
  • Encontrei a resposta no Stack

    http://pt.stackoverflow.com/questions/100254/erro-ap%C3%B3s-executar-uma-a%C3%A7%C3%A3o-redirecionar-para-uma-p%C3%A1gina/100281?noredirect=1#comment206621_100281


    Por favor, lembre-se de “Marcar como Resposta” as respostas que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    terça-feira, 1 de dezembro de 2015 16:14
  • O problema, então, era o AJAX (como eu havia falando anteriormente); correto?

    Ou tem mais algum detalhe que impedia?

    [Perguntando mais pra deixar a resolução um pouco mais detalhada nesta mesma thread]


    Att., Rafael Simor

    terça-feira, 1 de dezembro de 2015 16:22
  • Sim, o problema é que eu fazia uma requisição AJAX, então ele não redirecionava.
    Então, resolvi usar as propriedades nativas do ASP.net MVC para redirecionar.

    Por favor, lembre-se de “Marcar como Resposta” as respostas que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    terça-feira, 1 de dezembro de 2015 17:25