Powerpoint 1 - ASP.net Mvc 5 - c#

download Powerpoint 1 - ASP.net Mvc 5 - c#

of 17

Transcript of Powerpoint 1 - ASP.net Mvc 5 - c#

  • 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 5Cap. 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 deentidades (clases en C# o VB) querepresentan el dominio de laaplicacin. No se debe confundircon acceso a datos, ygeneralmente se implementan enproyectos separados con losnombres: 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 tenemosen 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 datosproporcionados por el usuario y las interacciones, adems, ejecutan lalgica de la aplicacin. Un controller normalmente llama a un componentede vista independiente, para generar el HTML y enviar este comorespuesta de la solicitud.

    En el controller se definen los Action Methods, los cuales son los queresponden a los requests. La interaccin del usuario con aplicacionesASP.NET MVC, se organiza en torno a los controllers y action methods.

    El URL Routing es el encargado de encontrar el controller correspondienteal 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 PartialViewRepresenta una vista parcial, que define una seccin de una vista que sepuede representar dentro de otra vista.

    RedirectResult Redirect Redirecciona a otro mtodo de accin utilizando su direccin URL.

    RedirectToRouteResultRedirectToAction

    RedirectToRouteRedirecciona 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 debedevolver 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 contenerlgica de negocio ni cdigo de acceso a datos. Adems, la vista no es unarchivo 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 elcontrolador 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 embebidoen otra vista y mejora la usabilidad de una aplicacin, as como tambin sereduce 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 DataAnnotations. 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 enla 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 lainformacin necesaria para extraer informacin de una direccin URLentrante 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

    AutenticacinEs el proceso de identificar quin est accediendo a la aplicacin. Sepermite elegir entre: Autenticacin de Formularios o de Windows.

    AutorizacinEs el proceso de determinar qu acciones puede realizar un usuarioautenticado, 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 evolucinde 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 algunasconsideraciones 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, loscuales brindan algunas ventajas adicionales, como por ejemplo, realizar lacarga 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 encargande interactuar con el usuario.

    Vista: Es la respuesta que da el controlador en forma de HTML y que contiene los datos delmodelo.

    Model Binding: Es el proceso de tomar los datos del Request y transformarlos enModelos. 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 unapgina, sino que se asigna una accin de un controlador. Las rutas son lgicas, y siguenla 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 laevolucin 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 codificacindel formulario como "multipart/form-data" y realizar el POST. Los archivos enviados estarndisponibles directamente como parmetros HttpPostedFileBase en las acciones, gracias al ModelBinding.

    Realizando un Request asncrono a travs de AJAX (para esto se usan plugins).