Está en la página 1de 52

Oscar Gensollen Arroyo MCT, MCPD, MCTS, MCSD, MCAD oscar.gensollen@formativa.com.

pe

Dino Esposito

Request

Controlador

Peticin

Respuesta

Vista Modelo

Microsoft Confidential

ASP.NET MVC es un framework liviano, altamente testeable que esta integrado con las

caractersticas existentes de ASP .NET

El framework MVC incluye los siguientes componentes:

Modelos

Vistas Son los componentes que muestran la interface de usuario de la aplicacin

Controladoras

Son parte de la aplicacin que implementa la lgica para los datos del dominio

Son los componentes que manejan la interaccin con el usuario, trabajan con el modelo y seleccionan una vista para renderizar la UI

Desarrollando modelos MVC

public class Blog { public string Title { get; set; } public string Description { get; set; } }

LINQ to SQL
LINQ to SQL aboga por la idea de aplicaciones donde lo primero son los datos LINQ to SQL mantiene el estado del objeto con el uso de DataContext

Entity Framework
Entity Framework puede ser usado para crear aplicaciones donde lo primero es el modelo Entity Framework usa el ObjectDataContext para mantener el estado del objeto Entity Framework soporta relaciones de muchos a muchos

LINQ to SQL no soporta relaciones muchos a muchos

LINQ to SQL esta descontinuado para Entity Framework es el mapeador Microsoft relacional de objetos preferido por Microsoft

client

The repository

In memory strategy

aPerson

new

aCriteria

Equal(this. BENEFACTOR) Matching(aCriteria) Matching(aCriteria) *satisifes (aCriteria)

People who satisfied the criteria

[Visual C#] public partial class Blog { }

Desarrollando controladoras MVC

Es un mtodo pblico de una controladora que puede tener cualquier nmero de parmetros y tipicamente devuelve un objeto de tipo ActionResult. Normalmente, ste llama a la vista y pasa datos a la vista va el objeto ViewData

Deben ser pblicos


No pueden ser estticos No pueden tener parmetros de tipo genrico no enlazados No pueden ser sobrecargados basados en parmetros a menos que se empleen atributos tales como NonActionAttribute o AcceptVerbsAttribute.

La clase ActionResult encapsula el resultado de un mtodo action


ContentResult Devuelve un tipo de contenido definido por el usuario EmptyResult Devuelve un resultado nulo FileResult Devuelve un archivo binario JavaScriptResult Devuelve JavaScript. JsonResult Devuelve un objeto serializado en Json PartialViewResult Renderiza una vista parcial RedirectResult Redirecciona a otro mtodo action usando su URL RedirectToRouteResult Redirecciona a otro mtodo action ViewResult Renderiza una vista. Esta clase contiene propiedades que identifican la vista a renderizar, el nombre de la vista, el nombre de la vista maestra, datos temporales, y una coleccin de motores de vistas para la aplicacin

Usando el objeto Request Usando la FormCollection Usando Model Binders [HttpPost] public ActionResult Create(Blog blog) { if (ModelState.IsValid) { // TODO: Add insert logic here }; return RedirectToAction("Index"); }

Desarrollando vistas MVC

Son usados para renderizar marcas de HTML programticamente en una vista. Ellos devuelven una cadena de tipo MvcHtmlHelper <%: Html.TextBox("Text1") %> Clases de mtodos HtmlHelper: MvcForm Extensions Renderizan formularios HTML Input Extensions Renderizan elementos input de HTML Label Extensions Renderizan elementos etiqueta de HTML Link Extensions Renderizan enlaces HTML Select Extensions Renderizan listas desplegables y simples TextArea Extensions Renderizan un TextArea HTML Validation Extensions Renderizan controles de validacin

Contiene datos que estan basados sobre un modelo

<%@ Page Inherits="System.Web.Mvc.ViewPage <AdventureWorks.Models.Person>" %> <% using (Html.BeginForm()) {%> <div class="editor-label"> <%: Html.LabelFor(model => model.FirstName) %> </div> <div class="editor-field"> <%: Html.TextBoxFor(model => model.FirstName) %> <%: Html.ValidationMessageFor(model => model.FirstName) %> </div> <% } %>

Usando el cuadro de dilogo Add View, es fcil crear vistas strongly-typed para crear, leer, actualizar y eliminar registros

Hay tipos de vistas que el cuadro de dilogo Add View puede crear: List Details Create Update Delete Empty

Vista parcial
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl <SampleMVC.Models.Person>" %>

Pgina que renderiza una vista parcial


<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage <SampleMVC.Models.Person>" %> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Create</title> </head> <body> <% Html.RenderPartial("Person"); %> </body> </html>

Gracias !
Oscar Gensollen Arroyo MCT, MCPD, MCTS, MCSD, MCAD oscar.gensollen@formativa.com.pe