Manual Programacion Orientada A Objetos II

User Manual:

Open the PDF directly: View PDF PDF.
Page Count: 280

DownloadManual Programacion Orientada A Objetos II
Open PDF In BrowserView PDF
Programación
Orientada a
Objetos II

PROGRAMACIÓN ORIENTADA A OBJETOS II

CIBERTEC

2

CARRERAS PROFESIONALES

PROGRAMACIÓN ORIENTADA A OBJETOS II

3

ÍNDICE
Presentación
Red de contenidos
Unidad I: INTRODUCCION AL DESARROLLO WEB
1.1 Tema 1

: Introducción a ASP.NET MVC

9

1.2 Tema 2

: Arquitectura de ASP.NET MVC

31

Unidad II: TRABAJANDO CON DATOS EN ASP.NET MVC
2.1 Tema 3

: Interacción con el modelo de datos

63

2.2 Tema 4

: Manejo de Vistas

103

2.3 Tema 5

: Arquitectura “N” capas orientadas al Dominio

129

Unidad III: IMPLEMENTANDO UNA APLICACIÓN E-COMMERCE
3.1 Tema 6

: Implementando una aplicación e-commerce

165

Unidad IV: CONSUMO DE SERVICIOS
4.1 Tema 7

: Implementacion y consumo de servicios WCF

189

4.2 Tema 8

: Implementacion consumo de servicios Web API

223

Unidad V: PATRONES DE DISEÑO CON ASP.NET MVC
5.1 Tema 9

: Inversion of Control

243

APENDICE
A : Jquery y Ajax

CIBERTEC

262

CARRERAS PROFESIONALES

PROGRAMACIÓN ORIENTADA A OBJETOS II

CIBERTEC

4

CARRERAS PROFESIONALES

PROGRAMACIÓN ORIENTADA A OBJETOS II

5

PRESENTACIÓN
Visual Studio 2015 y su plataforma .NET FrameWork 4.5.2 permite implementar
desarrollos de software de manera rápida y robusta. ASP .NET, tanto en Web
Form como en MVC, admiten crear aplicaciones en tiempo mínimo bajo una
plataforma de librerías del .NET Framework. De esta manera, la aplicación puede
desarrollarse para entornos web y, luego, tener la posibilidad de emplear
cualquier dispositivo como cliente (Smartphone, Tablets, etc.) con muy poca
modificación.
El curso de Programación Orientada a Objetos II es un curso que pertenece a
la línea de programación y desarrollo de aplicaciones con tecnología Microsoft,
y se dicta en las carreras de TI de la institución. Brinda un conjunto de
herramientas, plantillas y librerías de programación que permite a los alumnos
desarrollar, en forma eficaz, soluciones a los problemas planteados en el curso.
El manual para este curso ha sido diseñado bajo la modalidad de unidades de
aprendizaje, las que desarrollamos durante semanas determinadas. En cada una
de ellas, el alumno hallará los logros que se deberá alcanzar al final de la unidad;
el tema tratado, el cual será ampliamente desarrollado; y los contenidos que
debe desarrollar. Por último, encontrará las actividades y trabajos prácticos que
deberá desarrollar en cada sesión, los que le permitirá reforzar lo aprendido en
la clase.

El curso es eminentemente práctico, consiste en un taller de programación con
Visual Studio y el framework de MVC. En la primera parte del curso se
desarrollan aplicaciones Web con Core ASP.NET MVC, acceso a datos
utilizando las clases ADO.NET y el uso del motor de renderizado Razor para la
vista de presentación. En la segunda parte del curso se profundiza el uso de la
Arquitectura de Capas con de Dominio, implementando dicho proceso en una
aplicación e-commerce. Por último, desarrollamos una aplicación Web para
exportar los datos a un archivo de ReportViewer.
El curso es eminentemente práctico, consiste en un taller de programación con
Visual Studio y el framework de MVC. En la primera parte del curso se
desarrollan aplicaciones Web con Core ASP.NET MVC, acceso a datos
utilizando las clases ADO.NET y el uso del motor de renderizado Razor para la
vista de presentación. En la segunda parte del curso se profundiza el uso de la
Arquitectura de Capas con de Dominio, implementando dicho proceso en una
aplicación e-commerce. Por último, desarrollamos una aplicación Web para
exportar los datos a un archivo de ReportViewer.

CIBERTEC

CARRERAS PROFESIONALES

PROGRAMACIÓN ORIENTADA A OBJETOS II

6

REDDECONTENIDOS
Desarrollo de Servicio Web I

Introducci
ón al
desarrollo
Web

Introducció
na
ASP.Net
MVC

Arquitectu
ra de
ASP.NET
MVC

Trabajando
con datos
en
ASP.NET
MVC

Interacciòn
con el
modelo de
datos

Arquitectu
ra “N”
capas en
ASP.NET
MVC

Manejo de
Vistas

CIBERTEC

Implementa
ndo ecommerce
en
ASP.NET
MVC

Consumo
de
Servicios

Implement
ando y
consumo
de
servicios
WCF

Implement
ando una
aplicación
ecommerce

Patrones de
diseño con
ASP.Net
MVC

Implement
ando y
consumo
de
servicios
WEB API

Inversion
of control

CARRERAS PROFESIONALES

PROGRAMACIÓN ORIENTADA A OBJETOS II

7

UNIDAD DE
APRENDIZAJE

1

INTRODUCCION AL ASP.NET
CORE MVC
LOGRO DE LA UNIDAD DE APRENDIZAJE
Al término de la unidad, el alumno desarrolla interfaces de usuario para una aplicación
Web utilizando el patrón de diseño MVC.

TEMARIO
Tema 1: Introducción a ASP.NET Core MVC (3 horas)
1. Introducción al patrón MVC
2. ASP.NET Core MVC
3. Plataforma ASP.NET Core MVC
4. Models
5. Vistas
6. Controllers
7. Razor y Scaffolding
8. URL de enrutamiento

ACTIVIDADES PROPUESTAS
 Los alumnos implementan un proyecto web utilizando en patrón de diseño Modelo
Vista Controlador.
 Los alumnos desarrollan los laboratorios de esta semana

CIBERTEC

CARRERAS PROFESIONALES

PROGRAMACIÓN ORIENTADA A OBJETOS II

CIBERTEC

8

CARRERAS PROFESIONALES

PROGRAMACIÓN ORIENTADA A OBJETOS II

1.

9

ASP.NET MVC
1.1 Introducción a ASP.NET MVC
ASP.NET MVC es una implementación reciente de la arquitectura Modelo-VistaControlador sobre la base ya existente del Framework ASP.NET otorgándonos de esta
manera un sin fin de funciones que son parte del ecosistema del Framework .NET.
Además que nos permite el uso de lenguajes de programación robustos como C#, Visual
Basic .NET.
ASP.NET MVC nace como una opción para hacer frente al ya consagrado y alabado
Ruby on Rails un framework que procura hacer uso de buenas practicas de programación
como la integración de Unit tests o la separación clara de ocupaciones, dándonos casi
todos los beneficios otorgados por Ruby on Rails y sumando el gran y prolijo arsenal
proporcionado por .NET.
Entre las características más destacables de ASP.NET MVC tenemos las siguientes:
-

Uso del patrón Modelo-Vista-Controlador.
Facilidad para el uso de Unit Tests.
Uso correcto de estándares Web y REST.
Sistema eficiente de routing de links.
Control a fondo del HTML generado.
Uso de las mejores partes de ASP.NET.
Es Open Source.

La siguiente figura muestra los principales componentes de su arquitectura:

Figura: 1
Ref: https://jjestruch.wordpress.com/2012/02/21/arquitectura-ddd-domain-driven-design-asp-netmvc/

¿ASP.NET MVC es mejor que ASP.NET Web Form?
Esta pregunta se responde fácilmente, ASP.NET MVC lo deberíamos usar cuando
tengamos que hacer un Software que sea de gran envergadura y en donde la
mantenibilidad y escalabilidad sean factores primordiales, en contraste deberíamos de

CIBERTEC

CARRERAS PROFESIONALES

PROGRAMACIÓN ORIENTADA A OBJETOS II

10

usar ASP.NET web form cuando hagamos aplicaciones simples donde el factor
primordial sea el tiempo.
El marco ASP.NET MVC ofrece las siguientes ventajas:
 Esto hace que sea más fácil de gestionar la complejidad de dividir una aplicación en
el modelo, la vista y el controlador.
 No utiliza el estado de vista o formas basadas en servidor. Esto hace que el marco
idóneo MVC para los desarrolladores que quieren un control total sobre el
comportamiento de una aplicación.
 Utiliza un patrón Front Controller que procesa las solicitudes de aplicaciones web a
través de un solo controlador. Esto le permite diseñar una aplicación que es
compatible con una rica infraestructura de enrutamiento.
 Proporciona un mejor soporte para el desarrollo guiado por pruebas (TDD).
 Funciona bien para las aplicaciones web que son apoyados por grandes equipos de
desarrolladores y diseñadores web que necesitan un alto grado de control sobre el
comportamiento de la aplicación.
El marco de trabajo basado en formularios Web ofrece las siguientes ventajas:
 Es compatible con un modelo de eventos que conserva el estado a través de HTTP,
lo que beneficia el desarrollo de aplicaciones Web de línea de negocio. La aplicación
basada en formularios Web ofrece decenas de eventos que se admiten en cientos
de controles de servidor.
 Utiliza un patrón Controlador Página que añade funcionalidad a las páginas
individuales.
 Utiliza el estado de vista sobre las formas basadas en servidor, que puede hacer la
gestión de la información de estado más fácil.
 Funciona bien para pequeños equipos de desarrolladores web y diseñadores que
quieren aprovechar el gran número de componentes disponibles para el desarrollo
rápido de aplicaciones.
 En general, es menos complejo para el desarrollo de aplicaciones, ya que los
componentes (la clase de página, controles, etc.) son fuertemente integrado y por lo
general requieren menos código que el modelo MVC.

1.2 ASP.NET Core MVC
El Modelo-Vista-Controlador (MVC) es un patrón arquitectónico que separa una
aplicación en tres componentes principales: el modelo, la vista y el controlador. El marco
ASP.NET MVC proporciona una alternativa al modelo de formularios Web Forms
ASP.NET para crear aplicaciones Web.
ASP.NET MVC es un marco de presentación de peso ligero, altamente comprobable de
que (al igual que con las aplicaciones basadas en formularios web) se integra con las
características ASP.NET existentes, como páginas maestras y autenticación basada en
membresía. El framework MVC se define en la asamblea System.Web.Mvc.
Modelo
Contiene el núcleo de la funcionalidad (dominio) de la aplicación.
Encapsula el estado de la aplicación.
No sabe nada / independiente del Controlador y la Vista.
Vista
Es la presentación del Modelo.
Puede acceder al Modelo pero nunca cambiar su estado.
Puede ser notificada cuando hay un cambio de estado en el Modelo.
Controlador
Reacciona a la petición del Cliente, ejecutando la acción adecuada y creando el
modelo pertinente
Es importante mencionar que el patrón MVC no es exclusivo para el diseño Web, en sus
inicios fue muy utilizado para el desarrollo de interfaces graficas de usuario (GUI), por

CIBERTEC

CARRERAS PROFESIONALES

PROGRAMACIÓN ORIENTADA A OBJETOS II

11

otro lado tampoco es una implementación propietaria de alguna empresa tecnológica,
sea Microsoft, Oracle o IBM.
MVC está implementando por muchas herramientas tales como:
 Ruby
 Java
 Perl
 PHP
 Python
 .NET
La siguiente figura muestra la idea grafica del patrón MVC para el entorno de la Web.

Figura: 2
Referencia: http://www.adictosaltrabajo.com/tutoriales/zk-mvc/

1.3 Plataforma ASP.NET MVC Core
ASP.NET MVC es la plataforma de desarrollo web de Microsoft basada en el conocido
patrón Modelo-Vista-Controlador. Está incluida en Visual Studio y aporta interesantes
características a la colección de herramientas del programador Web.

Figura: 3
Referencia: http://codigobase.com/el-porque-del-mvc-modelo-vista-controlador

Su arquitectura permite separar las responsabilidades de una aplicación Web en partes
diferenciadas y ofrece diversos beneficios:



CIBERTEC

Facilidad de mantenimiento
Facilidad para realizar testeo unitario y desarrollo orientado a pruebas.

CARRERAS PROFESIONALES

PROGRAMACIÓN ORIENTADA A OBJETOS II







12

URLs limpias, fáciles de recordar y adecuadas para buscadores.
Control absoluto sobre el HTML resultante generado, con la posibilidad de crear
webs "responsive" usando plantillas del framework Bootstrap de forma nativa.
Potente integración con jQuery y otras bibliotecas JavaScript.
Magnífico rendimiento y escalabilidad
Gran extensibilidad y flexibilidad

Características de la plataforma ASP.NET MVC
ASP.NET Web API: Es un nuevo framework el cual nos permite construir y consumir
servicios HTTP (web API’s) pudiendo alcanzar un amplio rango de clientes el cual incluye
desde web browsers hasta dispositivos móviles. ASP.NET Web API es también una
excelente plataforma para la construcción de servicios RESTFul
Mejora de los templates predeterminados de proyecto: Los templates de proyecto de
ASP.NET fueron mejorados para obtener sitios web con vistas mucho más modernas y
proveer vistas con rendering adaptativo para dispositivos móviles. Los templates utilizan
por defecto HTML5 y todas las características de los templates son instaladas utilizando
paquetes NuGet de manera que se puede obtener las actualizaciones de los mismos de
manera muy simple.
Templates de proyectos móviles: En el caso de que estés empezando un nuevo proyecto
y quieras que el mismo corra exclusivamente en navegadores de dispositivos móviles y
tablets, se puede utilizar el Mobile Application Project template, el cual está basado en
jQuery Mobile, una librería open source para construir interfaces optimizadas para el uso
táctil
Modos de visualización: el nuevo modo de visualización permite a MVC seleccionar el
tipo de vista más conveniente dependiendo del navegador que se encuentre realizando
el requerimiento. La disposición de las vistas y las vistas parciales pueden ser
sobrescritas dependiendo de un tipo de navegador en particular.
Soporte para llamados asincrónicos basados en tareas: Podemos escribir métodos
asincrónicos para cualquier controlador como si fueran métodos ordinarios, los cuales
retornan un objeto tipo Task o Task.
Unión y minimización: Nos permite construir aplicaciones web que carguen mucho más
rápidamente y sean más reactivas para el usuario. Estas aplicaciones minimizan el
número y tamaño de los requerimientos HTTP que nuestras páginas realizan para
recuperar los recursos de JavaScript y CSS.
Mejoras para Razor: ASP.NET MVC 5 incluye la última view engine de Razor, la cual
incluye mejor soporte para la resolución de referencias URL utilizando la sintaxis basada
en tilde (~/), asi como también provee soporte para atributos HTML condicionales.

1.3.1 Vistas
En el modelo Model-View-Controller (MVC), las vistas están pensadas exclusivamente
para encapsular la lógica de presentación. No deben contener lógica de aplicación ni
código de recuperación de base de datos. El controlador debe administrar toda la lógica
de aplicación. Una vista representa la interfaz de usuario adecuada usando los datos que
recibe del controlador. Estos datos se pasan a una vista desde un método de acción de
controlador usando el método View.
Las vistas en MVC ofrecen tres características adicionales de las cuales se puede
especificar: Create a strongly-typed view, Create as a parcial view y Use a layout or
master page

CIBERTEC

CARRERAS PROFESIONALES

PROGRAMACIÓN ORIENTADA A OBJETOS II






13

Creación de Vistas de Tipado Fuerte: Esta casilla se selecciona cuando la vista va
a estar relacionada a un Modelo y este objeto debe ser un parámetro de la acción en
el controlador.
Creacion de Vistas Parciales: Cuando es necesario reutilizar código HTLM en
diferentes partes del proyecto, se crea una vista de este tipo. Por ejemplo el menú
debe estar presente en gran parte de la aplicación, esta vista seria parcial y solo se
crearía una sola vez. Para crea una vista parcial se debe nombrar de la siguiente
forma: _NombreVistaParcial, la nombre se le debe anteponer el símbolo “_”. Ejemplo
_LoginPartial.cshtml ubicado en la carpeta /Views/Shared.
Usar como Plantilla o Pagina Maestra: Es una vista genérica de toda la aplicación,
es la que contendrá el llamado a los archivo JS y CSS. Las vistas de este tipo deben
cumplir con la misma regla para llamar el archivo, al nombre se le debe anteponer el
símbolo “_”. El llamado dinámico de las vistas por el Controlador se realiza por medio
de la función RenderBody().

1.3.2 Controladores
El marco de ASP.NET MVC asigna direcciones URL a las clases a las que se hace
referencia como controladores. Los controladores procesan solicitudes entrantes,
controlan los datos proporcionados por el usuario y las interacciones y ejecutan la lógica
de la aplicación adecuada. Una clase controlador llama normalmente a un componente
de vista independiente para generar el marcado HTML para la solicitud.
La clase Controller hereda de ControllerBase y es la implementación predeterminada
de un controlador. Esta clase es responsable de las fases del procesamiento siguientes:





Localizar el método de acción adecuado para llamar y validar que se le puede llamar.
Obtener los valores para utilizar como argumentos del método de acción.
Controlar todos los errores que se puedan producir durante la ejecución del método
de acción.
Proporcionar la clase WebFormViewEngine predeterminada para representar los
tipos de página ASP.NET (vistas).

Todas las clases de controlador deben llevar el sufijo "Controller" en su nombre. En el
ejemplo siguiente se muestra la clase de controlador de ejemplo, que se denomina
HomeController. Esta clase de controlador contiene métodos de acción que representan
las páginas de vista.

CIBERTEC

CARRERAS PROFESIONALES

PROGRAMACIÓN ORIENTADA A OBJETOS II

14

1.1.3 Razor y Scaffolding
Scaffolding implica la creación de plantillas a través de los elementos del proyecto a
través de un método automatizado.
Los scaffolds generan páginas que se pueden usar y por las que se puede navegar, es
decir, implica la construcción de páginas CRUD. Los resultados que se aplica es ofrecer
una funcionalidad limitada.
La técnica scaffolding es un proceso de un solo sentido. No es posible volver a aplicar la
técnica scaffolding en los controladores y las vistas para reflejar un modelo sin
sobrescribir los cambios. Por lo tanto, se debe evaluar los módulos que se han
personalizado para saber a qué modelos se les puede volver a aplicar la técnica
scaffolding y a cuáles no.
Cuando tiene la clase del modelo listo, Scaffolding y la Vista permite realizar CRUD
(Create, Read, Update, Delete) operaciones. Todo lo que necesitas hacer es seleccionar
la plantilla scafold y el modelo de datos para generar los métodos de acción que se
implementarán en el controlador.

Razor es una sintaxis basada en C# que permite usarse como motor de programación
en las vistas o plantillas de nuestros controladores.No es el único motor para trabajar con
ASP.NET MVC. Entre los motores disponibles destaco los más conocidos: Spark,
NHaml, Brail, StringTemplate o NVelocity, algunos de ellos son conversiones de otros

CIBERTEC

CARRERAS PROFESIONALES

PROGRAMACIÓN ORIENTADA A OBJETOS II

15

lenguajes de programación. En Razor el símbolo de la arroba (@) marca el inicio de
código de servidor.
El uso de la @ funciona de dos maneras básicas:
 @expresión: Renderiza la expresión en el navegador. Así @item.Nombre muestra el
valor de ítem.Nombre.
 @{ código }: Permite ejecutar un código que no genera salida HTML.

1.1.4 URL de Enrutamiento
Por defecto cuando creamos una aplicación ASP.NET MVC se define una tabla de
enrutamiento que se encarga de decidir qué controlador gestiona cada petición Web
basándose en la URL de dicha petición. Esta forma de enrutamiento presenta dos
grandes ventajas con respecto a las aplicaciones tradicionales de ASP.NET:
1. En cada petición URL no se asigna un archivo físico del disco como una página
.aspx, sino que se asigna una acción de un controlador (más un parámetro), que nos
mostrará una vista específica.
2. Las rutas son lógicas, es decir, siguen la estructura definida en la tabla de
enrutamiento, lo que favorece y facilita la gestión de la navegación en nuestro sitio.

La tabla de enrutamiento que se genera por defecto al crear una aplicación ASP.NET
MVC, la cual se encuentra en archivo RouteConfig.cs de la carpeta App_Start.

CIBERTEC

CARRERAS PROFESIONALES

PROGRAMACIÓN ORIENTADA A OBJETOS II

16

Estructura de una aplicación ASP.NET MVC
Para crear una aplicación con ASP.NET MVC, abrimos Visual Studio y seleccionamos
“Nuevo Proyecto”.
Selecciona la plantilla Aplicación web ASP.NET MVC, tal como se muestra. Asigne el
nombre al proyecto

A continuación seleccionamos la plantilla del proyecto, el cual será de tipo MVC

Al seleccionar dicha plantilla, las carpetas y referencias principales serán de tipo MVC.
Al terminar con el proceso hacer click en la opción ACEPTAR.

CIBERTEC

CARRERAS PROFESIONALES

PROGRAMACIÓN ORIENTADA A OBJETOS II

17

Estructura de directorios y archivos.
Cuando creamos una nueva aplicación con ASP.NET MVC se crea por defecto una
estructura de directorios, apropiada para la gran mayoría de las aplicaciones.

Directorio App_Data.
Este directorio está pensado para ubicar archivos de datos, normalmente bases de datos
MSSQL. También es el lugar adecuado para archivos XML o cualquier otra fuente de
datos. Inicialmente está vacio.
Directorio App_Start.
Este directorio, contiene los archivos de código que se ejecutan al inicializar la aplicación.
Toda aplicación ASP.NET MVC es una instancia derivada de la clase
System.Web.HttpApplication, definida en el archivo global.asax. Esta clase es la
encargada de iniciar la aplicación, el directorio App_Start está pensando para ubicar las
clases de configuración para el inicio de la aplicación. La siguiente imagen muestra el
contenido del directorio.

CIBERTEC

CARRERAS PROFESIONALES

PROGRAMACIÓN ORIENTADA A OBJETOS II

18

Por defecto contiene los siguientes archivos (clases):

AuthConfig.cs

BundleConfig.cs

FilterConfig.cs

RouteConfig.cs

WebApiConfig.cs
Directorio Content.
El directorio Content está pensado para el contenido estático de la aplicación,
especialmente útil para archivos css e imágenes asociadas. ASP.NET MVC nos ofrece
por defecto una organización en base a “temas”, que nos permita personalizar el aspecto
visual de nuestra aplicación de forma fácil y rápida.

Directorio Controllers.
El directorio controllers es el lugar para los controladores. Los controladores son las
clases encargadas de recibir y gestionar las peticiones http de la aplicación.

CIBERTEC

CARRERAS PROFESIONALES

PROGRAMACIÓN ORIENTADA A OBJETOS II

19

Directorio Models
El directorio models es la ubicación que nos propone ASP.NET MVC para las clases que
representan el modelo de la aplicación, los datos que gestiona nuestra aplicación.

Directorio Scripts
El directorio scripts está pensado para ubicar los archivos de javascript (*.js). El código
javascript es ejecutado en el contexto del navegador, es decir, en la parte cliente, y nos
permite ejecutar acciones sin necesidad de enviar los datos al servidor.

CIBERTEC

CARRERAS PROFESIONALES

PROGRAMACIÓN ORIENTADA A OBJETOS II

20

Directorio Views
El directorio Views contiene los archivos de la vista. Los controladores devuelven vistas
sobre las que imprimimos el modelo de nuestra aplicación. Estas vistas son interpretadas
por el motor de renderización – Razor en nuestro caso.

Directorio Shared
Contiene las vistas que van a ser reutilizadas en otras vistas, se incluye vistas parciales.
Es muy importante respetar la ubicación de los archivos, ya que cuando desde una vista
hagamos la llamada @Html.Partial(“Error”) para incluir la vista de la pantalla de error, el
motor buscará en el directorio Shared para encontrar la vista Error.cshtml.

CIBERTEC

CARRERAS PROFESIONALES

PROGRAMACIÓN ORIENTADA A OBJETOS II

21

Archivo _ViewStart.cshtml
Este archivo establece el layout por defecto de las páginas. El contenido del archivo es
sencillo y únicamente especifica el archivo de layout.
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
El layout es un archivo con extension .cshtml que contiene la estructura general de
documento, que es reutilizada en el resto de vistas. De este modo evitamos tener que
reescribir el código en todas las vistas, reutilizando el código y permitiendo que este sea
mucho más sencillo de mantener.
Archivo _Layout.cshtml
El archivo _Layout.cshtml definela capa de la aplicación, que contiene la estructura
general de documento, que es reutilizada en el resto de vistas.
El archivo _Layout.cshtml se encuentra dentro del directorio Views/Shared. El contenido
del archivo layout por defecto se muestra a continuación:

Fijemonos en la llamada que hace Razor al método @RenderBody(), es ahí donde se
procesará la vista que estemos mostrando. Podemos tener múltiples archivos de layout
dentro de nuestro proyecto.
El archivo web.config
El archivo web.config es el archivo principal de configuración de ASP.NET. Se trata de
un archivo XML donde se define la configuración de la aplicación. Veremos poco a poco
el contenido de este fichero, aunque vamos a ver aquí algunas características generales
que es necesario conocer.

CIBERTEC

CARRERAS PROFESIONALES

PROGRAMACIÓN ORIENTADA A OBJETOS II

22

El archivo global.asax
Toda aplicación ASP.NET MVC es una instancia de una clase derivada de
System.Web.HttpApplication. Esta clase es el punto de entrada de nuestra aplicación, es
el Main de la aplicación web.
Desde este archivo podemos manejar eventos a nivel de aplicación, sesión, cache,
autenticacion, etc.
Este archivo varia mucho desde la versión anterior de ASP.NET MVC, aunque el
funcionamiento es el mismo. En ASP.NET MVC se ha incluido el directorio App_Start
que nos permite organizar como se inicializa la aplicación.

Home Controller
La clase HomeController es el punto de entrada de la aplicación, la página por defecto.
Cuando creamos un nuevo proyecto ASP.NET MVC se crea también un controlador
HomeController situado directamente el folder Controllers.

CIBERTEC

CARRERAS PROFESIONALES

PROGRAMACIÓN ORIENTADA A OBJETOS II

23

Laboratorio 1.1
Creando una aplicación ASP.NET MVC
Implemente un proyecto ASP.NET MVC aplicando el patrón arquitectónico MVC donde permita
crear una página de inicio de un sitio web.

Creando el proyecto
Iniciamos Visual Studio 2015 y creamos un nuevo proyecto:
1. Seleccionar el proyecto Web Visual Studio 2015
2. Seleccionar el FrameWork: 4.5.2
3. Seleccionar la plantilla Aplicación web de ASP.NET
4. Asignar el nombre del proyecto
5. Presionar el botón ACEPTAR

A continuación, seleccionar la plantilla del proyecto MVC. Presiona el botón ACEPTAR

CIBERTEC

CARRERAS PROFESIONALES

PROGRAMACIÓN ORIENTADA A OBJETOS II

24

Agregando la carpeta imágenes
En el explorador de soluciones, agregar una carpeta Nueva, llamada imágenes. En dicha
carpeta agregar los archivos de imágenes: jpg.

Crear carpeta y agregar
archivos

Agregando Hojas de Estilo css
Para brindar un mejor estilo a la vista, agregamos, en la carpeta Content, una hoja de estilo
llamada estilos.css, tal como se muestra la figura.

Crear archivo estilos.css

CIBERTEC

CARRERAS PROFESIONALES

PROGRAMACIÓN ORIENTADA A OBJETOS II

25

A continuación definimos estilos a las etiquetas que utilizará las páginas cshtml.

Agregando archivo Script js
Para programar la página principal.cshtml, agregamos, en la carpeta Script, un archivo
librería.js, tal como se muestra la figura

Crear archivo librería.js

A continuación visualizamos el contenido del archivo js, donde programamos la clase .itmenu
en el evento hover.

CIBERTEC

CARRERAS PROFESIONALES

PROGRAMACIÓN ORIENTADA A OBJETOS II

26

Trabajando con el _Layout
Abrir la pagina _Layout, para realizar el diseño de la página maestra.
Primero agregamos un link para enlazarnos al archivo estilo.css, y agregamos el link script
para librería.js, tal como se muestra

Agregar archivo estilos.css

Agregar el archivo
librería.js

CIBERTEC

CARRERAS PROFESIONALES

PROGRAMACIÓN ORIENTADA A OBJETOS II

27

En el body del _Layout, diseña los bloques 
y