Olá, o projeto funcionou bem até o último vídeo do curso. Quando implemento a ViewBag.Livros o sistema apresenta o erro: NullReferenceException: Object reference not set to an instance of an object. AspNetCore.ViewsLivros_Para_ler_cshtml+d__0.MoveNext() in Para-ler.cshtml, line 12 @foreach (var livro in ViewBag.A).
Código LivrosController:
namespace Alura.ListaLeitura.App.Logica
{
public class LivrosController : Controller
{
public IEnumerable<Livro> Livros { get; set; }
public string Detalhes(int id)
{
var repo = new LivroRepositorioCSV();
while (id > repo.Todos.Count())
{
return $"Matricula (Id) Invalida!\nDigite uma matricula valida de 1 ate {repo.Todos.Count()}.";
}
var livro = repo.Todos.First(l => l.Id == id);
return livro.Detalhes();
}
public IActionResult ParaLer()
{
var _repo = new LivroRepositorioCSV();
var Livros = _repo.ParaLer.Livros;
ViewBag.A = Livros;
var html = new ViewResult { ViewName = "Para-ler" };
return html;
}
public IActionResult Lendo(HttpContext context)
{
var _repo = new LivroRepositorioCSV();
ViewBag.Livros = _repo.Lendo.Livros;
var html = new ViewResult { ViewName = "Lendo"};
return html;
}
public IActionResult Lidos()
{
var _repo = new LivroRepositorioCSV();
//var html = CarregaLista(_repo.Lidos.Livros, "Lidos");
return new ViewResult { ViewName = "Lidos"};
}
public static string CarregaLista(IEnumerable<Livro> livros, string lista)
{
var conteudoArquivo = HtmlUtils.CarregaArquivoHTML(lista);
foreach (var livro in livros)
{
conteudoArquivo = conteudoArquivo.Replace("#livro", $"<li>{livro.Titulo} - {livro.Autor}</li>#livro");
}
return conteudoArquivo.Replace("#livro", "");
}
public string Teste()
{
return "Nova Funcionalidade Implementada";
}
}
}
Código Pagina Para-ler (lista do curso) em html:
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>Livros Para Ler</title>
</head>
<body>
<h1>Livros Para Ler</h1>
<ul>
@foreach (var livro in ViewBag.Livros)
{
<li>@livro.Titulo - @livro.Autor</li>
}
</ul>
</body>
</html>
Se puderem me ajudar agradeço.