
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
.NET es un marco de desarrollo de software gratuito y de código abierto desarrollado por Microsoft. MVC, o Modelo-Vista-Controlador, es un patrón de diseño arquitectónico que separa una aplicación en tres componentes principales: el Modelo (los datos y la lógica de negocio), la Vista (la interfaz de usuario) y el Controlador (la lógica que maneja las solicitudes del usuario y coordina las interacciones entre el Modelo y la Vista). En el contexto de .NET, MVC es un marco de trabajo que permite a los desarrolladores crear aplicaciones web escalables y mantenibles mediante la implementación del patrón MVC.
En esta demostración del Proyecto 1, exploraremos los conceptos básicos de creación de una aplicación web utilizando .NET 10 MVC. Comenzaremos configurando el entorno de desarrollo y creando un nuevo proyecto MVC. Luego, exploraremos la estructura del proyecto y agregaremos algunos controladores y vistas simples para comprender cómo funciona la arquitectura MVC en la práctica.
En esta demostración del Proyecto 2, nos adentraremos en temas más avanzados de .NET 10 MVC. Exploraremos cómo trabajar con bases de datos utilizando Entity Framework Core para realizar operaciones CRUD (Crear, Leer, Actualizar, Eliminar) en nuestra aplicación web. También discutiremos técnicas para gestionar la autenticación y la autorización de usuarios utilizando ASP.NET Core Identity.
El objetivo principal de este proyecto es aprender a crear 3 dropdown’s o campos de selección anidados, es decir que cada dropdown se llene con las opciones dependiendo de la selección del anterior. Todo esto usando base de datos y tecnologías con .NET 10, EF Core, Javascript/Jquery y Ajax.
Para este curso de .NET 10 MVC, necesitarás algunas herramientas esenciales de desarrollo. Esto incluye un entorno de desarrollo integrado (IDE) como Visual Studio o Visual Studio Code, el SDK de .NET 10, y preferiblemente un gestor de paquetes como NuGet. Además, asegúrate de tener instaladas las extensiones necesarias para el desarrollo web ASP.NET Core en tu IDE.
Para crear un nuevo proyecto .NET 10 MVC, primero debes instalar el SDK de .NET 10 si aún no lo has hecho. Crearemos un proyecto usando Visual Studio Community.
Al revisar los archivos y carpetas de un proyecto .NET 10 MVC, encontrarás una estructura organizada que sigue las convenciones del patrón MVC. En la carpeta Controllers, se encuentran los controladores que manejan las solicitudes HTTP. En Views, se encuentran las vistas HTML que definen la interfaz de usuario. En Models, se encuentran las clases que representan los datos de la aplicación. Además, encontrarás archivos de configuración, bibliotecas de terceros y otros recursos necesarios para el funcionamiento de la aplicación.
La seguridad es un aspecto crítico en cualquier aplicación web. En ASP.NET Core, se ofrecen diversas características y herramientas para garantizar la seguridad de la aplicación. Esto incluye la autenticación de usuarios, la autorización de roles, la protección contra ataques comunes como la falsificación de solicitudes entre sitios (CSRF) y la inyección de código SQL, y la gestión de contraseñas seguras mediante el almacenamiento y la encriptación adecuados.
Los middlewares en ASP.NET Core son componentes que se ejecutan entre la recepción de una solicitud HTTP y la generación de una respuesta. Estos componentes proporcionan funcionalidades como enrutamiento, manejo de errores, autenticación, autorización, compresión de respuesta, y mucho más. Los middlewares permiten configurar el comportamiento de la aplicación de manera flexible y modular, facilitando la implementación de características adicionales y la personalización del flujo de solicitud y respuesta.
El enrutado en ASP.NET Core es el proceso de mapear las solicitudes HTTP entrantes a los controladores y acciones correspondientes en una aplicación MVC. Esto se logra mediante la configuración de rutas, que especifican cómo deben interpretarse las URL y qué controladores y acciones deben manejarlas. El enrutado proporciona un mecanismo flexible y poderoso para definir la estructura de la aplicación web y cómo se accede a sus diferentes funcionalidades.
Los Tag Helpers en ASP.NET Core son atributos especiales que se utilizan en las vistas para generar HTML de manera más fácil y legible. Estos helpers permiten agregar funcionalidades dinámicas a las etiquetas HTML utilizando sintaxis similar a la de HTML, lo que facilita la integración de código C# en las vistas y mejora la legibilidad del código. Los Tag Helpers son especialmente útiles para simplificar tareas comunes, como la generación de formularios o la vinculación de datos.
Las Data Annotations en ASP.NET Core son atributos que se utilizan para aplicar validaciones y otras reglas de comportamiento a las clases de modelo de una aplicación. Estas anotaciones permiten especificar restricciones como la longitud máxima de una
.NET es un marco de desarrollo en constante evolución, con nuevas versiones que se lanzan regularmente para introducir nuevas características, mejoras de rendimiento y correcciones de errores. Cada versión de .NET se desarrolla con un enfoque en la compatibilidad, la estabilidad y la innovación, con el objetivo de proporcionar a los desarrolladores las herramientas y tecnologías más avanzadas para crear aplicaciones modernas y escalables. Es importante mantenerse actualizado con las últimas versiones de .NET para aprovechar al máximo sus capacidades y beneficios.
En esta demostración del Proyecto Terminado, revisaremos el resultado final de nuestro trabajo en el curso de .NET 10 MVC. Mostraremos cómo todos los componentes del proyecto se integran para crear una aplicación web funcional y bien estructurada. Demostraremos las características principales, la navegación entre páginas y cómo interactuar con la base de datos para realizar operaciones CRUD en los contactos.
La creación del proyecto es el primer paso para comenzar a desarrollar una aplicación web en .NET 10 MVC. Durante este proceso, configuraremos un nuevo proyecto MVC utilizando Visual Studio o la línea de comandos de .NET. Seleccionaremos las opciones de configuración necesarias y estableceremos la estructura básica del proyecto para comenzar a agregar funcionalidades.
La cadena de conexión SQL es un elemento crucial para establecer la comunicación entre nuestra aplicación MVC y la base de datos SQL Server. En esta sección, discutiremos cómo configurar y especificar la cadena de conexión en el archivo de configuración de la aplicación para que nuestra aplicación pueda acceder y manipular los datos en la base de datos.
Antes de comenzar a desarrollar en .NET 10 MVC, es importante tener instaladas las extensiones necesarias en nuestro entorno de desarrollo. Estas extensiones pueden incluir paquetes NuGet, plantillas de proyecto adicionales, herramientas de diagnóstico y extensiones de IDE que facilitan el desarrollo y la depuración de aplicaciones MVC.
El archivo de contexto en Entity Framework Core es responsable de establecer la conexión con la base de datos y mapear las clases de modelo a tablas de base de datos. Exploraremos cómo crear y configurar el archivo de contexto en nuestro proyecto MVC para definir las entidades y las relaciones entre ellas.
El modelo de contacto representa la estructura de datos para la entidad de contacto en nuestra aplicación. Definiremos las propiedades necesarias para almacenar la información del contacto, como nombre, correo electrónico y número de teléfono, y estableceremos las validaciones necesarias utilizando Data Annotations.
La configuración de conexión en ASP.NET Core es el proceso de especificar cómo y dónde se establece la conexión con la base de datos. Exploraremos cómo configurar la conexión en el archivo appsettings.json o mediante inyección de dependencias para que nuestra aplicación pueda acceder a la base de datos de manera segura y eficiente.
Las migraciones en Entity Framework Core son el mecanismo utilizado para aplicar cambios en el modelo de datos y sincronizarlos con la base de datos subyacente. Discutiremos cómo generar y aplicar migraciones en nuestro proyecto MVC para crear o modificar la estructura de la base de datos de acuerdo con los cambios en el modelo de datos.
El controlador y el método Index son fundamentales en una aplicación MVC, ya que representan el punto de entrada principal para las solicitudes HTTP y la renderización de la página de inicio. En esta sección, crearemos un controlador y el método Index correspondiente para mostrar una lista de contactos en nuestra aplicación.
La lista de contactos es una vista que muestra todos los contactos almacenados en la base de datos. Utilizaremos el método Index del controlador para recuperar los contactos de la base de datos y los presentaremos en una tabla HTML en la vista correspondiente.
El formulario para crear un nuevo contacto es una interfaz que permite al usuario ingresar la información del contacto. Implementaremos esta funcionalidad creando una nueva vista y un formulario HTML que permita al usuario introducir los datos del contacto, como nombre, correo electrónico y número de teléfono.
La funcionalidad para crear un contacto implica procesar los datos del formulario enviado por el usuario y guardarlos en la base de datos. Implementaremos este proceso en el controlador correspondiente, validaremos los datos ingresados por el usuario y utilizaremos Entity Framework Core para guardar el nuevo contacto en la base de datos.
La funcionalidad para editar un contacto permite al usuario modificar la información de un contacto existente. Crearemos una nueva vista y un formulario HTML que muestre los datos actuales del contacto y permita al usuario realizar cambios. Implementaremos la lógica en el controlador para actualizar el contacto en la base de datos con los nuevos datos proporcionados por el usuario.
La vista de detalle de contacto muestra toda la información disponible sobre un contacto específico, incluidos su nombre, correo electrónico y número de teléfono. Implementaremos esta funcionalidad en una nueva vista que se pueda acceder haciendo clic en un contacto en la lista de contactos. Utilizaremos el ID del contacto para recuperar los datos de la base de datos y mostrarlos en la vista de detalle.
En esta clase haremos los últimos ajustes para mejorar el Layout de nuestra aplicación usando Html, Css y Razor
Presentamos la versión completa del proyecto .NET 10 MVC, demostrando su funcionamiento integral y la integración de todos los componentes.
Iniciamos la aplicación web .NET 10 MVC mediante la configuración del entorno de desarrollo y la generación de la estructura básica del proyecto.
Creamos una librería de clases en .NET para organizar y reutilizar código en la aplicación, facilitando la modularidad y el mantenimiento.
Instalamos extensiones esenciales en el entorno de desarrollo, como herramientas de desarrollo y paquetes NuGet, para facilitar el desarrollo en .NET 8 MVC.
Dividimos la aplicación en áreas lógicas independientes para gestionar diferentes funcionalidades, simplificando la gestión y el mantenimiento.
Organizamos la aplicación por niveles, separando la presentación, la lógica de negocio y el acceso a datos para una mejor modularidad y mantenimiento.
Configuramos Bootstrap y Bootswatch para diseñar interfaces de usuario atractivas y responsivas en la aplicación web.
Instalamos plugins frontend para agregar funcionalidades adicionales a la aplicación web, como efectos visuales y mejoras en la experiencia del usuario.
En esta lección crearemos los ajustes iniciales para el layout como en el Navbar usando Bootstrap 5 y también crearemos los links para todas las operaciones CRUD de más adelante
Configuramos la conexión a una base de datos SQL, definimos un contexto de base de datos y creamos migraciones para actualizar la base de datos en la aplicación.
Definimos un modelo de categoría, generamos una migración para crear la tabla correspondiente en la base de datos y la aplicamos para hacerla disponible en la aplicación.
El Repository Pattern es un patrón de diseño que separa la lógica de acceso a datos de la lógica de negocio en una aplicación. Proporciona una capa de abstracción sobre el acceso a datos, permitiendo que el código de negocio interactúe con los datos a través de interfaces de repositorio en lugar de acceder directamente a la base de datos.
La Unidad de Trabajo es un concepto relacionado con el Repository Pattern que representa una transacción o conjunto de operaciones que se ejecutan como una única unidad coherente. Proporciona un mecanismo para agrupar operaciones relacionadas y asegurar la consistencia de los datos en la base de datos.
En el flujo de trabajo con el Repository Pattern, los controladores de la aplicación interactúan con los repositorios para realizar operaciones de lectura y escritura en la base de datos. Los repositorios encapsulan la lógica de acceso a datos y proporcionan métodos para buscar, agregar, modificar y eliminar entidades de datos.
En la implementación del Repository Pattern, creamos interfaces de repositorio para cada entidad de datos y clases concretas que implementan estas interfaces. Estas clases concretas contienen la lógica real para acceder y manipular los datos en la base de datos.
Continuamos con la implementación del Repository Pattern definiendo métodos en las clases de repositorio concretas para realizar operaciones CRUD (Crear, Leer, Actualizar, Eliminar) en la base de datos. Estos métodos encapsulan la lógica de acceso a datos y permiten a la aplicación interactuar con la base de datos de manera coherente.
El repositorio de categorías es una clase concreta que implementa la interfaz de repositorio para la entidad de categoría en la aplicación. Proporciona métodos para buscar, agregar, modificar y eliminar categorías en la base de datos, encapsulando la lógica de acceso a datos relacionada con las categorías.
La implementación de la Unidad de Trabajo consiste en crear una clase que coordina las operaciones de varios repositorios dentro de una sola transacción. Esta clase agrupa las operaciones relacionadas y asegura la consistencia de los datos al finalizar la transacción.
Creamos un controlador para manejar las operaciones relacionadas con las categorías en nuestra aplicación MVC. Este controlador contendrá acciones para mostrar la lista de categorías, crear nuevas categorías, editar categorías existentes y eliminar categorías.
Creamos una vista para mostrar una lista de categorías en nuestra aplicación MVC. Esta vista utilizará el modelo de categoría para obtener los datos de la base de datos y los mostrará en una tabla o lista en el navegador web.
Implementamos un método en el controlador de categorías para manejar la creación de nuevas categorías. También creamos una vista correspondiente que contiene un formulario para que el usuario ingrese los datos de la nueva categoría.
Agregamos la funcionalidad en el controlador de categorías para procesar el formulario de creación de nuevas categorías. Validamos los datos ingresados por el usuario y los guardamos en la base de datos como una nueva categoría si son válidos.
Implementamos la funcionalidad en el controlador de categorías para editar categorías existentes en nuestra aplicación MVC. Esto implica crear una acción para mostrar el formulario de edición y otra acción para procesar los datos enviados por el usuario y guardar los cambios en la base de datos.
Agregamos la capacidad en el controlador de categorías para eliminar categorías existentes en nuestra aplicación MVC. Esto implica crear una acción para manejar la solicitud de eliminación y eliminar la categoría correspondiente de la base de datos.
Aprende como formatear una fecha para que se muestre exactamente como lo quieres en C# y .NET
Creamos un modelo para representar los artículos en nuestra aplicación y generamos una migración para crear la tabla correspondiente en la base de datos. Con esto, aseguramos que los artículos se puedan almacenar y recuperar de manera efectiva.
Creamos un repositorio para manejar las operaciones relacionadas con los artículos y lo integramos en nuestra unidad de trabajo para asegurar una gestión coherente de las transacciones.
Implementamos un controlador para manejar las acciones relacionadas con los artículos, incluida la acción para mostrar una lista de artículos en nuestra aplicación.
Diseñamos un formulario que permita a los usuarios crear nuevos artículos, capturando los datos necesarios y enviándolos al servidor para su procesamiento.
Agregamos una lista desplegable en el formulario de creación de artículos para que los usuarios puedan seleccionar la categoría a la que pertenece cada artículo.
Comenzamos a implementar la funcionalidad de carga de archivos en nuestra aplicación, permitiendo a los usuarios seleccionar y cargar archivos en el servidor.
Continuamos con la implementación de la carga de archivos, procesando los archivos recibidos en el servidor y almacenándolos en una ubicación adecuada para su posterior uso.
Integramos el editor de texto en nuestra aplicación para permitir a los usuarios editar el contenido de los artículos de manera más fácil y visual.
Creamos una vista que permita a los usuarios editar tanto el contenido del artículo como la imagen asociada, si es necesario.
Implementamos la funcionalidad en el controlador para procesar los cambios realizados por los usuarios en la edición de artículos e imágenes, asegurando que los datos se actualicen correctamente en la base de datos.
Agregamos la capacidad para que los usuarios eliminen artículos de nuestra aplicación, proporcionando una acción en el controlador que maneje esta operación y elimine el artículo correspondiente de la base de datos.
Puntos de Depuración (Debug) Importantes: Identificamos y destacamos los puntos de depuración importantes en nuestra aplicación, como los puntos de interrupción en el código, para facilitar la resolución de problemas y el seguimiento del flujo de ejecución durante la depuración.
Debug Datatables.js: Depuramos el código JavaScript de DataTables.js para resolver problemas relacionados con la configuración, la manipulación de datos y la interacción con la interfaz de usuario. Utilizamos herramientas de desarrollo del navegador y mensajes de registro para identificar y solucionar errores en el código.
La tarea consiste en implementar las operaciones CRUD (Crear, Leer, Actualizar, Eliminar) para el módulo Slider en nuestra aplicación. Esto implica crear las acciones en el controlador, las vistas correspondientes y las funciones de manipulación de datos en el repositorio.
En la primera parte de la solución, creamos las acciones en el controlador para mostrar la lista de sliders, agregar un nuevo slider y editar sliders existentes. También creamos las vistas correspondientes para estas acciones, así como los formularios de entrada de datos.
En la segunda parte de la solución, implementamos la funcionalidad para eliminar sliders existentes y para procesar los datos enviados por los usuarios en los formularios de creación y edición. Además, realizamos las validaciones necesarias en el lado del servidor para garantizar la integridad de los datos.
Creamos un controlador y una vista para la página de inicio de nuestra aplicación, donde los usuarios pueden obtener una visión general del contenido principal.
Creamos una página de detalle donde los usuarios pueden ver información adicional o detallada sobre un elemento específico, como un producto o una entrada de blog.
Diseñamos la página de inicio para incluir un slider que destaque contenido relevante o promocional, proporcionando una experiencia visual atractiva para los usuarios.
Implementamos la funcionalidad para activar el slider en la página de inicio, asegurando que las imágenes o mensajes relevantes se presenten de manera dinámica y atractiva.
Comenzamos con una introducción al desarrollo de aplicaciones web utilizando ASP.NET Core Identity, un marco de trabajo que facilita la gestión de autenticación, autorización y otras características relacionadas con la seguridad del usuario en nuestras aplicaciones.
Utilizamos el comando Scaffold Identity para generar automáticamente las páginas, vistas y controladores necesarios para la administración de usuarios, roles y otros aspectos de la autenticación en nuestra aplicación ASP.NET Core.
Personalizamos el modelo de usuario de ASP.NET Core Identity agregando campos adicionales para capturar información específica del usuario, como nombre completo, fecha de nacimiento, etc.
Implementamos la funcionalidad de registro de usuarios en nuestra aplicación, permitiendo que los usuarios creen nuevas cuentas proporcionando información básica y seleccionando opciones de seguridad, como contraseñas seguras.
Implementamos la funcionalidad de inicio de sesión de usuarios en nuestra aplicación, permitiendo que los usuarios autenticados accedan a recursos protegidos y realicen acciones específicas dentro de la aplicación.
Configuramos y gestionamos roles de usuario en nuestra aplicación, asignando permisos específicos a diferentes roles para controlar el acceso a las funcionalidades y recursos de la aplicación.
Desarrollamos funcionalidades CRUD (Crear, Leer, Actualizar, Eliminar) para administrar usuarios, incluyendo la capacidad de bloquear y desbloquear usuarios según sea necesario para mantener la seguridad y la integridad de la aplicación.
Implementamos lógica para ocultar ciertos elementos o funcionalidades de la interfaz de usuario a usuarios autenticados, proporcionando una experiencia personalizada y segura en la aplicación.
Domina ASP.NET MVC y Entity Framework con .NET 10 y proyectos reales
Conviértete en desarrollador web profesional con tecnologías Microsoft dominando ASP.NET MVC y Entity Framework Core usando .NET 10, la versión más reciente y optimizada del framework.
Este curso está diseñado para llevarte desde los fundamentos hasta la construcción y publicación de aplicaciones reales, tal como se trabaja en entornos profesionales.
Aquí no solo aprenderás teoría.
Construirás proyectos completos, con arquitectura N-Tier, patrones de diseño, seguridad, base de datos, frontend moderno y despliegue en la nube.
¿Por qué este curso es diferente?
Totalmente actualizado a .NET 10, con mejoras de rendimiento y estabilidad
Enfoque 100% práctico, orientado a proyectos reales
Arquitectura profesional usada en empresas
Seguridad real con ASP.NET Identity, roles y autorización
Incluye publicación en Azure App Service y Azure SQL Database
Ideal para pasar de nivel principiante o intermedio a profesional
Fundamentos sólidos (la base correcta)
Comenzarás entendiendo realmente cómo funciona ASP.NET MVC:
Estructura de un proyecto MVC moderno
Routing, Tag Helpers y Razor
Data Annotations y validaciones
Middlewares y flujo de ejecución
Seguridad en ASP.NET Core
Diferencias entre versiones y por qué .NET 10 ofrece mejor rendimiento
Estos fundamentos te permiten avanzar con confianza hacia proyectos reales, sin improvisar ni copiar código.
Proyectos prácticos incluidos (el corazón del curso)
Proyecto 1: CRUD con Entity Framework Core
Aprenderás a crear un CRUD completo desde cero:
SQL Server
DbContext y migraciones
Formularios, validaciones y operaciones reales de base de datos
Proyecto principal: BlogCore (aplicación profesional)
El proyecto más importante del curso. Construirás una aplicación real que integra:
Arquitectura N-Tier
Repository Pattern y Unit of Work
CRUD de categorías, artículos y sliders
Manejo de imágenes
Depuración real de errores
Frontend dinámico para usuarios
ASP.NET Identity con roles y permisos
Protección de áreas y controladores
Data Seeding para roles y usuarios iniciales
Además, publicarás el proyecto BlogCore en Azure App Service
y migrarás la base de datos a Azure SQL Database, simulando un entorno real de producción.
Proyecto: Entity Framework Database First
Aprenderás a trabajar con bases de datos existentes, aplicando ingeniería inversa, configuración del modelo y expansión del proyecto.
Proyecto: Dropdowns Anidados
Desarrollarás un caso real muy solicitado en aplicaciones administrativas:
Listas dependientes
Lógica dinámica
Formularios avanzados
Tecnologías y herramientas que dominarás
ASP.NET MVC con .NET 10
Entity Framework Core (Code First y Database First)
SQL Server y Azure SQL
Bootstrap 5 y Bootswatch
jQuery, AJAX, DataTables, Toastr y SweetAlert
LINQ, paginación y buscadores eficientes
Azure App Service (despliegue profesional)
Bonus y contenido adicional
Proyecto adicional con MySQL
Procedimientos almacenados
Autocompletado con jQuery
Envío de correos con MailKit
Acceso de por vida y futuras actualizaciones
Recursos descargables y soporte en la plataforma
Garantía de satisfacción de 30 días
¿Para quién es este curso?
Desarrolladores que quieren dominar ASP.NET MVC con .NET 10
Programadores .NET que buscan arquitectura, seguridad y despliegue real
Estudiantes y profesionales que quieren mejorar su perfil laboral
Personas que quieren pasar de proyectos pequeños a aplicaciones profesionales
Da el siguiente paso en tu carrera como desarrollador .NET
Si quieres dejar de hacer ejemplos simples y empezar a construir aplicaciones reales, seguras y escalables, este curso es para ti.
Inscríbete ahora y domina ASP.NET MVC y Entity Framework con .NET 10 desarrollando proyectos reales desde cero.