none
Try...Catch no MVC RRS feed

  • Pergunta

  • Olá pessoal!

    Estou com uma dúvida bem básica:

    Tenho um sistema que gera arquivos PDFs a partir de um formulário da WEB.

    A criação dos arquivos PDF está sendo feita na camada Model. Estou usando o Controller para receber os dados da View e chamar a rotina de criação na Model.

    A minha dúvida é a seguinte:
    Caso aconteça algum erro durante a criação do PDF, eu o pegarei utilizando um TRY...CATCH.

    No meu Controller, eu coloquei uma ActionResult que redireciona para uma página de erro com a msg de erro capturada.

    Minha dúvida é: Como chamar esse ActionResult a partir da instrução Catch q está na minha Model?

    terça-feira, 28 de janeiro de 2020 20:19

Todas as Respostas

  • pjsantiago89,

        Vale chute? Coloque dentro do catch algo assim:

    =================================================================
    How to call an ActionResult from another ActionResult in asp.net

    RedirectToAction("display", "controlername", new { id = 1 });
    
    // ou 
    
    return RedirectToAction("display", new { id = 1 });


    https://stackoverflow.com/questions/19829926/how-to-call-an-actionresult-from-another-actionresult-in-asp-net
    =================================================================

       Veja também:

    =================================================================
    Exception Handling In ASP.NET MVC

    https://www.c-sharpcorner.com/article/exception-handling-in-asp-net-mvc/
    =================================================================
    calling an MVC controller from c# class

    https://forums.asp.net/t/2036738.aspx?calling+an+MVC+controller+from+c+class
    =================================================================
    C# Choose a return method ActionResult

    https://www.codeproject.com/questions/1056854/csharp-choose-a-return-method-actionresult
    =================================================================

    []'s,
    Fabio I.
    quarta-feira, 29 de janeiro de 2020 11:18
  • Olá, Fabio!
    Muito obrigado pela resposta.

    Infelizmente o RedirectToAction não funcionou. Dei uma lida nos artigos para ir tirando umas idéias.

    Só funcionou qdo eu coloquei o TRY...CATCH na camada Controller, na instrução que chama o comando de criação (que fica na Model).

     try
                {
                    CC.CriandoArquivo(Dados);
                    return RedirectToAction("CriarPDF");
                }
                catch (Exception e)
                {
                    ViewBag.Message = e.Message;
                    return View("Error");
                }

    Obrigado!!!! =D

    quarta-feira, 29 de janeiro de 2020 20:02
  • pjsantiago89,

       Eu não tinha certeza do "RedirectToAction", só uma suspeita.
       Estou tentando entrar mais nesta praia, mas infelizmente até agora ninguém me deu uma chance. 
       Ainda bem que você conseguiu!

    Falow!
    []'s,
    Fabio I.
    quinta-feira, 30 de janeiro de 2020 11:37