You are on page 1of 17

Divisin de Alta Tecnologa

.NET 4.5.1 Web Advanced Application Developer Visual Studio 2013 con C#
1
Copyright Todos los Derechos Reservados - Cibertec Per SAC
ASP.NET MVC 5 Cap. 1
Objetivos Generales
Implementar una aplicacin web utilizando ASP.NET MVC 5.
Divisin de Alta Tecnologa
.NET 4.5.1 Web Advanced Application Developer Visual Studio 2013 con C#
2
Contenido de Agenda
ASP.NET MVC 5
Model
Controller
View
URL Routing
ASP.NET Identity
Files Upload
1.1 ASP.NET MVC 5
Divisin de Alta Tecnologa
.NET 4.5.1 Web Advanced Application Developer Visual Studio 2013 con C#
3
1.1 ASP.NET MVC 5
Contenido de Agenda
ASP.NET MVC 5
Model
Controller
View
URL Routing
ASP.NET Identity
Files Upload
Divisin de Alta Tecnologa
.NET 4.5.1 Web Advanced Application Developer Visual Studio 2013 con C#
4
El modelo es el conjunto de
entidades (clases en C# o VB) que
representan el dominio de la
aplicacin. No se debe confundir
con acceso a datos, y
generalmente se implementan en
proyectos separados con los
nombres: Entidades y AccesoDatos.
1.2 Model
Acceso a datos con Entity Framework 6:
Entity Framework es el ORM (Object Relational Mapping) de Microsoft.
Un ORM permite realizar un mapeo automtico de las tablas que tenemos
en la base de datos, hacia clases de la aplicacin, y viceversa.
Se tienen 3 enfoques para trabajar con Entity Framework:
Database First
Model First
Code First
1.2 Model
Divisin de Alta Tecnologa
.NET 4.5.1 Web Advanced Application Developer Visual Studio 2013 con C#
5
Contenido de Agenda
ASP.NET MVC 5
Model
Controller
View
URL Routing
ASP.NET Identity
Files Upload
Las controllers procesan las solicitudes entrantes, controlan los datos
proporcionados por el usuario y las interacciones, adems, ejecutan la
lgica de la aplicacin. Un controller normalmente llama a un componente
de vista independiente, para generar el HTML y enviar este como
respuesta de la solicitud.
En el controller se definen los Action Methods, los cuales son los que
responden a los requests. La interaccin del usuario con aplicaciones
ASP.NET MVC, se organiza en torno a los controllers y action methods.
El URL Routing es el encargado de encontrar el controller correspondiente
al request, y definir qu action method se debe ejecutar.
1.3 Controller
Divisin de Alta Tecnologa
.NET 4.5.1 Web Advanced Application Developer Visual Studio 2013 con C#
6
1.3 Controller
Resultado de la accin Mtodo auxiliar Descripcin
ViewResult View Representa una vista como una pgina web.
PartialViewResult PartialView
Representa una vista parcial, que define una seccin de una vista que se
puede representar dentro de otra vista.
RedirectResult Redirect Redirecciona a otro mtodo de accin utilizando su direccin URL.
RedirectToRouteResult
RedirectToAction
RedirectToRoute
Redirecciona a otro mtodo de accin.
ContentResult Content Devuelve un tipo de contenido definido por el usuario.
JsonResult Json Devuelve un objeto JSON serializado.
JavaScriptResult Javascript Devuelve un script que se puede ejecutar en el cliente.
FileResult File Devuelve la salida binaria para escribir en la respuesta.
EmptyResult (Ninguno)
Representa un valor devuelto que se utiliza si el mtodo de accin debe
devolver un resultado null (vaco).
Contenido de Agenda
ASP.NET MVC 5
Model
Controller
View
URL Routing
ASP.NET Identity
Files Upload
Divisin de Alta Tecnologa
.NET 4.5.1 Web Advanced Application Developer Visual Studio 2013 con C#
7
La Vista (o View) encapsula la lgica de presentacin, no debe contener
lgica de negocio ni cdigo de acceso a datos. Adems, la vista no es un
archivo fsico ligado a un URL tal como ocurren con los Web Forms.
View Engines: ASPX y Razor.
ASP.NET MVC nos ofrece tres opciones para pasar datos desde el
controlador para ver y en la prxima peticin:
ViewData, VieBag y TempData.
Tipos de Vistas:
View Page, Layout, View Content Page, Partial View, Strongly-Typed View.
1.4 View
Strongly-Typed Views
1.4 View
Divisin de Alta Tecnologa
.NET 4.5.1 Web Advanced Application Developer Visual Studio 2013 con C#
8
Partial Views:
Es un fragmento reusable de contenido y cdigo, que puede ser embebido
en otra vista y mejora la usabilidad de una aplicacin, as como tambin se
reduce la duplicidad de cdigo.
1.4 View
HTML helper methods:
Sections:
1.4 View
Divisin de Alta Tecnologa
.NET 4.5.1 Web Advanced Application Developer Visual Studio 2013 con C#
9
Model Binding
1.4 View
Implementacin de validaciones:
Al crear el modelo se vio cmo aplicar validaciones utilizando Data
Annotations. Para que se realice la validacin en las vistas se debe utilizar:
ValidationSummary: Indica la lista de errores que se generen en la vista.
ValidationMessageFor: Aplica la validacin del modelo, al campo generado en
la vista.
1.4 View
Divisin de Alta Tecnologa
.NET 4.5.1 Web Advanced Application Developer Visual Studio 2013 con C#
10
Contenido de Agenda
ASP.NET MVC 5
Model
Controller
View
URL Routing
ASP.NET Identity
Files Upload
La tabla de enrutamiento en una aplicacin ASP.NET contiene la
informacin necesaria para extraer informacin de una direccin URL
entrante y dirigir la solicitud para el componente de software adecuado.
La configuracin se realiza en la clase RouteConfig:
1.5 URL Routing
Divisin de Alta Tecnologa
.NET 4.5.1 Web Advanced Application Developer Visual Studio 2013 con C#
11
Contenido de Agenda
ASP.NET MVC 5
Model
Controller
View
URL Routing
ASP.NET Identity
Files Upload
Autenticacin
Es el proceso de identificar quin est accediendo a la aplicacin. Se
permite elegir entre: Autenticacin de Formularios o de Windows.
Autorizacin
Es el proceso de determinar qu acciones puede realizar un usuario
autenticado, de acuerdo a los permisos que tiene asignado.
1.6 ASP.NET Identity
Divisin de Alta Tecnologa
.NET 4.5.1 Web Advanced Application Developer Visual Studio 2013 con C#
12
El nuevo esquema de seguridad que provee ASP.NET, y que es la evolucin
de Membership, se llama: ASP.NET Identity (Microsoft.AspNet.Identity).
1.6 ASP.NET Identity
1.6 ASP.NET Identity
Microsoft.AspNet.Identity.Core
Divisin de Alta Tecnologa
.NET 4.5.1 Web Advanced Application Developer Visual Studio 2013 con C#
13
1.6 ASP.NET Identity
Microsoft.AspNet.Identity.EntityFramework
1.6 ASP.NET Identity
Authorize y AllowAnonymous
Divisin de Alta Tecnologa
.NET 4.5.1 Web Advanced Application Developer Visual Studio 2013 con C#
14
Contenido de Agenda
ASP.NET MVC 5
Model
Controller
View
URL Routing
ASP.NET Identity
Files Upload
Representa una de las caractersticas ms comunes en las aplicaciones Web,
pero en el caso de una aplicacin ASP.NET MVC debe tomar algunas
consideraciones para realizar el proceso de forma satisfactoria.
Este proceso puede realizarse de diversas formas:
Realizando un POST hacia el servidor, capturando la informacin en el controller,
para guardar el archivo en el servidor.
Realizando un Request asncrono a travs de AJAX (para esto se usan plugins).
1.7 Files Upload
Divisin de Alta Tecnologa
.NET 4.5.1 Web Advanced Application Developer Visual Studio 2013 con C#
15
1.7 Files Upload
Para cargar el archivo solo ser necesario definir el tipo de codificacin del
formulario como "multipart/form-data" y realizar el POST.
Los archivos enviados estarn disponibles directamente como parmetros en
las acciones, gracias al Model Binding.
1.7 Files Upload
La otra forma para cargar archivos es a travs de plugins de jQuery, los
cuales brindan algunas ventajas adicionales, como por ejemplo, realizar la
carga de forma asncrona.
Divisin de Alta Tecnologa
.NET 4.5.1 Web Advanced Application Developer Visual Studio 2013 con C#
16
Ejercicio 1:
Tiempo: 120 minutos
Implementar un mantenimiento de productos en ASP.NET MVC 5, considerando lo
siguiente:
Utilizar una arquitectura en capas: AccesoDatos, LogicaNegocio, Entidades, Web.
La capa de datos debe utilizar Entity Framework 6.
Aplicar validaciones en el modelo con Data Annotations.
Utilizar vistas strongly-typed, y cada fila de la lista de productos debe ser
implementado en una vista parcial.
Los productos deben tener una imagen.
Realizar una manejo de errores personalizado y grabar mensajes de auditora.
Implementar el esquema de autenticacin y autorizacin con ASP.NET Identity.
Laboratorios: 1.1. Mantenimiento con ASP.NET MVC 5
Resumen del Captulo
MVC
Modelo: Es el conjunto de clases (entidades) que representan el dominio de la aplicacin.
Controlador: El punto de entrada de un Request HTTP. La interaccin del usuario con aplicaciones
ASP.NET MVC, se organiza en torno a los controladores y Action Methods, es decir, se encargan
de interactuar con el usuario.
Vista: Es la respuesta que da el controlador en forma de HTML y que contiene los datos del
modelo.
Model Binding: Es el proceso de tomar los datos del Request y transformarlos en
Modelos. Estos datos pueden tomarse por ejemplo del Form, QueryString, etc.
Action Filters: Agregan lgica antes y despus de la ejecucin de los Action Methods.
HTML Helpers: Generan una salida en forma de cadena. Se utilizan en las vistas.
Divisin de Alta Tecnologa
.NET 4.5.1 Web Advanced Application Developer Visual Studio 2013 con C#
17
Resumen del Captulo
URL Routing: A cada peticin URL no se le asigna un archivo fsico del disco, tal como una
pgina, sino que se asigna una accin de un controlador. Las rutas son lgicas, y siguen
la estructura determinada en la tabla de enrutamiento definida en la clase RouteConfig.
ASP.NET Identity: Es el nuevo esquema de seguridad que provee ASP.NET, y que es la
evolucin de Membership.
Para cargar archivos se puede realizar de dos maneras:
Haciendo POST hacia el servidor, capturando la informacin en el controller, para guardar el
archivo en el servidor. Para cargar el archivo solo ser necesario definir el tipo de codificacin
del formulario como "multipart/form-data" y realizar el POST. Los archivos enviados estarn
disponibles directamente como parmetros HttpPostedFileBase en las acciones, gracias al Model
Binding.
Realizando un Request asncrono a travs de AJAX (para esto se usan plugins).

You might also like