Olá, Marco
Muito interessante sua dúvida! Pena não termos abordado isso no curso.
Bom, o problema que você está colocando pode ser resolvido pela técnica de Partial Views, que são fragmentos de views compartilhadas por páginas diferentes, ou seções diferentes da mesma página (como no seu caso).
Você pode ver a documentação sobre Partial Views original aqui:
https://docs.microsoft.com/en-us/aspnet/core/mvc/views/partial
Ou se preferir a versão traduzida:
https://docs.microsoft.com/pt-br/aspnet/core/mvc/views/partial
Então, por exemplo, digamos que você tenha criado uma PartialView chamada "CarrosselPartial.cshtml". Para consumir essa mesma partial view em lugares diferentes, você precisa de um comando do Razor @Html.Partial
:
...html aqui....
@Html.Partial("CarrosselPartial", tecnologiaViewModel)
...html aqui....
@Html.Partial("CarrosselPartial", livrosViewModel)
...html aqui....
@Html.Partial("CarrosselPartial", vestuarioViewModel)
...html aqui....
Onde cada view model contém somente os produtos específicos de uma área (Tecnologia, Livros, Vestuário).
Espero que tenha ajudado!