Bom dia, Marcelo, tudo na paz?
Por quê o uso da ViewData para transportar os dados da camada de controller para view e não o uso da ViewBag?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Bom dia, Marcelo, tudo na paz?
Por quê o uso da ViewData para transportar os dados da camada de controller para view e não o uso da ViewBag?
Opa, como é fds, vou tentar adiantar a resposta aqui.. dei uma googlada e caí nessa discussão => https://github.com/aspnet/Docs/issues/803
Parece que, no fim, é apenas questão de gosto.. eu chutaria que usar o viewbag tende a ser mais limpo.
Obrigado, Alberto Souza! Dei uma navegada também pelo google...encontrei um comentário muito bem explicado. Segue abaixo para caso alguém tenha dúvida também:
ViewData -> É um dicionário de objetos derivado de ViewDataDictionary e é acessível utilizando strings como chaves.
ViewBag -> É uma propriedade dinâmica baseada na funcionalidade “dynamic” do C# 4.0 Requer typecasting (conversão) quando associada a tipos complexos. Não necessita de conversão para tipos complexos.
Resumindo, ViewData e ViewBag possuem a mesma proposta, porém o ViewBag está disponível a partir do ASP.Net MVC 3, enquanto o ViewData existe desde a primeira versão.
OBS: O ViewData é um wrapper, uma implementação do ViewBag, pois utiliza o ViewBag internamente, portanto: Por este motivo ViewData é mais rápido que o ViewBag, porém essa diferença de velocidade é mínima, não é necessário deixar de usar o ViewBag por este motivo.
Caros colegas, caso esteja equivocado por favor, corrija-me.
Olá, Ivanostik! Você já disse tudo sobre as diferenças entre o ViewBag e ViewData. Usamos o ViewData no curso somente para definir os títulos das páginas, e apenas porque o ViewData já estava incluso no template das views do projeto.