El patrón arquitectónico Modelo-Vista-Controlador (MVC) separa una aplicación en tres componentes principales: el modelo, la vista y el controlador. El marco MVC de ASP.NET proporciona una alternativa al patrón de formularios web de ASP.NET para crear aplicaciones web. El marco de ASP.NET MVC es un marco de presentación ligero y altamente comprobable que (al igual que con las aplicaciones basadas en Web Forms) se integra con las características existentes de ASP.NET, como las páginas maestras y la autenticación basada en membresía. El marco MVC se define en el ensamblado System.Web.Mvc.
El marco MVC incluye los siguientes componentes:
Versión | Versión .NET | Fecha de lanzamiento |
---|---|---|
MVC 1.0 | .NET 3.5 | 2009-03-13 |
MVC 2.0 | .NET 3.5 / 4.0 | 2010-03-10 |
MVC 3.0 | .NET 4.0 | 2011-01-13 |
MVC 4.0 | .NET 4.0 / 4.5 | 2012-08-15 |
MVC 5.0 | .NET 4.5 | 2013-10-17 |
MVC 5.1 | .NET 4.5 | 2014-01-17 |
MVC 5.2 | .NET 4.5 | 2014-08-28 |
MVC 6.0 | .NET 4.5 | 2015-11-18 |
Core MVC 1.0 | .NET 4.5 | 2016-07-12 |
Core MVC 1.1 | .NET 4.5 | 2016-11-18 |
ASP.NET MVC es un framework de aplicaciones web de código abierto. MVC en sí es un patrón de diseño que se basa en tres componentes principales: model-view-controller .
Modelo : los modelos reflejan los objetos de su negocio y son un medio para pasar datos entre controladores y vistas.
Vista : las vistas son las páginas que representan y muestran los datos del modelo al usuario. Las vistas de ASP.NET MVC se escriben normalmente utilizando la sintaxis de Razor.
Controlador : los controladores manejan las solicitudes HTTP entrantes de un cliente y, por lo general, devuelven uno o más modelos a una vista apropiada.
Las características de ASP.NET MVC:
Aplicación MVC simple
Vamos a crear una aplicación MVC simple que muestra detalles personales. Crea un nuevo proyecto MVC usando Visual Studio. Agregue un nuevo modelo llamado Person a la carpeta de modelos como sigue:
public class Person
{
public string Surname { get; set; }
public string FirstName { get; set; }
public string Patronymic { get; set; }
public DateTime BirthDate { get; set; }
}
Agregar un nuevo controlador a la carpeta Controladores:
public class HomeController : Controller
{
//Action Method
public ActionResult Index()
{
// Initialize model
Person person = new Person
{
Surname = "Person_SURNAME",
FirstName = "Person_FIRSTNAME",
Patronymic = "Person_PATRONYMIC",
BirthDate = new DateTime(1990, 1, 1)
};
// Send model to View for displaying to user
return View(person);
}
}
Finalmente, agregue Ver a / Vistas / Inicio / carpeta llamada Index.cshtml :
@* Model for this view is Person *@
@model Hello_MVC.Models.Person
<h2>Hello @Model.FirstName !</h2>
<div>
<h5>Details:</h5>
<div>
@Html.LabelFor(m => m.Surname)
@Html.DisplayFor(m => m.Surname)
</div>
<div>
@Html.LabelFor(m => m.FirstName)
@Html.DisplayFor(m => m.FirstName)
</div>
<div>
@Html.LabelFor(m => m.Patronymic)
@Html.DisplayFor(m => m.Patronymic)
</div>
<div>
@Html.LabelFor(m => m.BirthDate)
@Html.DisplayFor(m => m.BirthDate)
</div>
</div>