Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Não consegui exibir os itens da lista em linhas separadas

Bom dia,

Seguindo o exemplo da aula, eu fiz o código da seguinte forma:

 var livros = new List<Livro>();
            livros.Add(new Livro("001", "Quem Mexeu Na Minha Querry?", 12.99m));
            livros.Add(new Livro("002", "Fique Rico Com CSharp", 30.99m));
            livros.Add(new Livro("003", "Java Para Baixinhos", 25.99m));

            app.Run(async (context) =>
            {
                foreach (var livro in livros)
                {
                    await context.Response.WriteAsync($"{livro.Codigo}, {livro.Nome}, {livro.Preco}\r \n");
                }
            });

Mas ao rodar a aplicação, eles aparecem na mesma linha, ignorando o \n. Estou utilizando o Microsoft Edge, se é que faz diferença...

3 respostas

Olá groquedesouza!

Acabei de iniciar um projeto para testar e o problema realmente é por causa do navegador (por mais bizarro que seja).

Pode ser que o navegador esteja desatualizado, mas o resultado foi igual ao que você descreveu. Tanto no Chrome quanto no Firefox houveram as quebras de linha. E no Edge ficou em uma linha apenas.

Soluções: Tentar atualizar o navegador, substituir o \r \n por uma tag <br /> ou envolver a linha com <p> </p>, assim: await context.Response.WriteAsync($"<p>{livro.Codigo}, {livro.Nome}, {livro.Preco}</p>");

Espero ter ajudado!

Bons estudos!

Olá.

Vai no arquivo launchSettings.json e procura pela linha:

"applicationUrl": "http://localhost:5447",

Pega esse endereço e abre no Chrome ou Firefox enquanto a aplicação estiver sendo executada que as quebras de linha vão funcionar.

Você também pode impedir que o navegador abra automaticamente mudando o valor das linhas:

"launchBrowser": true,

para false.

solução!

O jeito foi voltar a usar o Chorme. Pelo menos para esse curso... E pensar que logo o navegador da Microsoft que não funciona direito com ASP.NET Core...