Pop

Curso .NET Core en C# - 17.Vistas con objetos personalizados (ViewModels)

17. Vistas con objetos personalizados (ViewModels)

  • Hola a todos. En este curso, analizaremos todos los conceptos básicos, intermedios y avanzados de ASP.NET Core que nos ayudan a crear aplicaciones web basadas en datos.Al final de este curso, podremos realizar todas las operaciones de un CRUD, es decir, crear, leer, actualizar y eliminar datos  utilizando SQL Server como nuestra base de datos.
  • En el vídeo anterior ya vimos como pasar datos a una vista y como asociarla a un objeto del modelo. Pero en ovaciones necesitamos un objeto personalizado para todos los valores que la vista muestra por pantalla. Para eso se suele utilizar ViewModel:

  • Os dejo un resumen de lo visto en el vídeo:
1) Creamos una carpeta ViewModels
2) Agregamos una clase DetallesView

   public class DetallesView
    {
        public string Titulo { get; set; }
        public Amigo amigo { get; set; }
    }
3)Código del controlador:
   public ViewResult Details()
        {
            //Amigo amigo = amigoAlmacen.dameDatosAmigo(2);

            //ViewData["Cabecera"] = "LISTA AMIGOS";
            //ViewData["Amigo"] = amigo;

            //ViewBag.Titulo = "LISTA AMIGOS ViewBag";
            //ViewBag.Amigo = amigo;

            DetallesView detalles = new DetallesView();
            detalles.amigo = amigoAlmacen.dameDatosAmigo(2);
            detalles.Titulo = "LISTA AMIGOS VIEW MODELS";

            return View(detalles);
        }
4) Código de la vista:
@model  Ejemplo1.ViewModels.DetallesView
<html>
<head>
</head>
<body>

    <h3>@Model.Titulo </h3>
    <div>
        Nombre:@Model.amigo.Nombre
    </div>
    <div>
        Email:@Model.amigo.Email

    </div>
    <div>
        Ciudad:@Model.amigo.Ciudad
    </div>


</body>
</html>

No hay comentarios:

Publicar un comentario

Curso .NET Core en C# - 34.Creamos nuestro propio log

34.Creamos nuestro propio log Hola a todos. En este curso, analizaremos todos los conceptos básicos, intermedios y avanzados de  ASP.NET...