//[Route("/Error")]
        // implementar [ValidateAntiForgeryToken]
        // usar [Bind(nameof(NovoUsuariomodel.Nome))] para evitar ataque Mass assignment, também conhecido como Over-posting
        public async Task <IActionResult> AddItem([Bind(nameof(UsuarioModel.Nome), nameof(UsuarioModel.Sobrenome))] UsuarioModel novoUsuario)
        {
            if (await TryUpdateModelAsync <UsuarioModel>(novoUsuario, "usuario", s => s.Nome, s => s.Sobrenome))
            {
                await _Iusuario.AddItemAsync(novoUsuario);

                return(Resultado());
                // Aqui retorno após inserir novo usuário JsonResult onde a string cairá no SPAN id=msg da PartialViewNovoUsuario.
                //return RedirectToAction(nameof(Index));

                // Aqui para retornar uma nova view ususario ou pelo nome do método do controller Usuario
                //return RedirectToRoute("usuario");
                //return RedirectToAction(nameof(Index));
            }
            else
            {
                // Aqui contruo uma variavel que me retornará o erro diretamente do ModelState sem precisar redirecionar ou chamar novamente a View() e coloco o valor como forma de JsonResult.
                var errorList = (from item in ModelState
                                 where item.Value.Errors.Any()
                                 select item.Value.Errors[0].ErrorMessage).ToList();

                return(new JsonResult(errorList));
            }
        }