CRUD ASP.net CORE – 02 Arquitetura MVC
Arquitetura Cliente-Servidor ( Aplicação Web)

Estrutura básica de um projeto ASP.net Core



O ViewBag é um objeto com propriedades do tipo dynamic, portanto é possível criar qualquer nome para ela no momento da atribuição de valor. E na View utilizamos o @ViewBag.nomepropriedade para acessar o valor. O ViewData tem um comportamento similar ao ViewBag mas no formato de chave/valor. Mas o método mais correto para passar dados do Controlador para a View é criar o objeto Model, e dentro da Action do controlador instanciar o objeto ou recuperar do banco de dados, e então retornar para a view através do return View(variavel);
A classe Controller do ASP.net MVC Core possui diversos métodos para facilitar o controle do fluxo da aplicação entre as Actions e os Controllers.
//return View(); retorna ViewResult
//return PartialView(); retorna ParatialViewResult
//return Content(“Eu nao acredito”); retorna ContentResult
//return Redirect(“/”); retorna RedirectResult
//return RedirectToAction(“contact”); retorna RedirectToRouteResult
//return RedirectToAction(“contact”,”home”);
//return RedirectToAction(“contact”, “home”, new {page=1, sortBy=”name”});
//return Json(col, JsonRequestBehavior.AllowGet); retorna JsonResult
//byte[] fileBytes = System.IO.File.ReadAllBytes(@”C:\favicon.ico“);
//return File(fileBytes, System.Net.Mime.MediaTypeNames.Image.Jpeg); retorna FileResult
//return HttpNotFound(“deu ruim”); retorna HttpNotFoundResult
//return new EmptyResult(); retorna EmptyResult – não gera nenhum tipo de erro

Na View utilizamos o @model NomeDaClasseModel para anotar que esta view irá utilizar este objeto como seu modelo, e para acessar os valores que o modelo carrega utilizamos o @Model.NomeDaPropriedade
