1
resposta

Erro ao adicionar o method="POST"

Boa noite, já tentei de todas as formas apresentadas aqui no fórum. Consigo rodar a aplicação mantendo as propriedades do formulario.html como: -Compilador = Conteúdo -Copiar para o diretório de Saída = Se for mais novo

Realizei diversos testes aqui e identifiquei que sem a inserção do método post no form, funciona normalmente, após eu incluir o método post, primeiramente que não é atualizado sem parar e compilar novamente a aplicação, e após compilar novamente e tentar realizar o cadastro de um novo livro a exceção é lançada:

System.InvalidOperationException HResult=0x80131509 Message=Sequence contains no elements Source=System.Linq StackTrace: at System.Linq.Enumerable.First[TSource](IEnumerable`1 source) at Alura.ListaLeitura.App.Startup.ProcessaFormulario(HttpContext context) in D:\Projects\CSharp\DotNet\01\Alura.ListaLeitura.Aula1\Alura.ListaLeitura\Alura.ListaLeitura.App\Startup.cs:line 42 at Microsoft.AspNetCore.Builder.RouterMiddleware.d__4.MoveNext()

Alguém consegue me ajudar em alguma possibilidade de solucionar este problema, por favor?

Desde já agradeço à todos

1 resposta

Olá Thiago, tudo bem?

Sentimos muito pela demora em te retornar.

A exceção que está ocorrendo realmente não tem conexão com a propriedade do arquivo HTML.

Pelo erro o problema está no método ProcessaFormulario. Acredito que seja por algum erro de sintaxe neste trecho do código:

Livro livro = new Livro()
            {
                Titulo = context.Request.Form["titulo"].First(),
                Autor = context.Request.Form["autor"].First()
            };

De qualquer maneira, irei deixar o método completo abaixo:

public Task ProcessaFormulario(HttpContext context)
        {
            Livro livro = new Livro()
            {
                Titulo = context.Request.Form["titulo"].First(),
                Autor = context.Request.Form["autor"].First()
            };

            var repo = new LivroRepositorioCSV();

            repo.Incluir(livro);
            return context.Response.WriteAsync("Livro adicionado!");
        }

Bons estudos e um forte abraço!