Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Este artículo es parte de Aprender paso a paso ASP.NET MVC en 7 días y puedes revisarlo en los
link siguientes:
Contenido
Como el nombre del artículo dice, aprender MVC, la agenda es simple, vamos a
aprender ASP.NET MVC en 7 dias.
La manera como aprenderémos MVC en esta serie de artículos es haciendo
laboratorios, mirando los pasos detallados de cómo se hacen esos laboratorios.
Queriendo demostrar que el concepto MVC es igual entre ASP.NET MVC y SPRING MVC
es que realizare Aprender MVC con las dos tecnologias( para ls amantes de microsoft y para
los amantes del software libre).
Pueden revisar Aprender SPRING MVC Paso a Paso en 7 dias(Dia 1)
Estoy seguro que todos los desarrolladores les gusta el concepto de code-behind.
La aceptación de algo nuevo como MVC, no es nada fácil para ellos.
Si se mira los aspecto de la distribución del código, el mayor código el cual tiene la
lógica es la capa intermedia o el code-behind(archivos ASPX.cs). La UI(Interfaz de
Usuario) o archivos ASPX son archivos HTML, los cuales son mas acerca del
diseñador de la interfaz de usuario, y la lógica de acceso a datos son mas o menos
componentes estándar como los Enterprise Data Blocks.
No hay ninguna lógica en testear ASPX HTML, como se trata más de apariencia.
Ahora viene el punto más importante: el The code-behind tiene mucho de acción
y testear esto es una de las cosas más importantes. la única manera de invocar
estos códigos es haciéndololos de forma manual, desde una perspectiva de tiempo
esto no sería una gran opción.
El code-behind de ASP.NET esta completamente atado con el objeto HttpContext
de ASP.NET lo cual hace dificultoso el testeo unitario.
como dije previamente, los ASPX y los ASPX.cs, no pueden ser desacoplados, lo
que reduce la reutilización. Si, Microsoft dijo primero que el code-behind es
diferente de la UI, pero entonces ellos son solo archivos físicamente separados y
no pueden existir sin uno del otro.
Por ejemplo digamos que el mismo codigo del boton click cuando se llama via
HTTP POST podría visualizar usando displayinvoice.aspx y cuando llamo via
HTTP GEt podría mostrar en un tree view. En otras palabras deberíamos como
reusar el code-behind. Justo pienso como puedo hacer esto usando el actual code-
behind.
Pre-Requisitos
- Visual Studio 2012( Cualquier version). Esto incluye ASP.NEt MVC 4
Lab 01: Creando una simple Aplicacion ASP.NEt MVC “Hola Mundo”
En el cuadro de dialogo indica el nombre de la vista, el cual debe ser el mismo que
en el controlador(Index) u desactiva usar una pagina de diseño o maestra, porque
no queremos que nuestra vista herede de un Master Page.
Una vez hecho en aceptar, podremos ver una simple pagina ASPX con el siguiente
codigo HTML.
Paso 04: Ejecutar la Aplicación
Para MVC nos gustaría ver el alcance limitado al controlador y la vista, en otras
palabra nos gustaría mantener datos cuando el golpe llega al controlador y alcanza
la vista y después que el alcance de los datos debe expirar.
lo siguiente es mostrar data en la vista pero usando. tag porcentaje. Uno de los
puntos mas importantes a notas es que la vista no tiene cod-behind. Para mostrar
la vista necesitamos usar el tag <% en la pagina ASPX.
el primer paso es crear un simple modelo personalizado el cual esta en blanco con
tres propiedades: code, name, y amount. Crear un simple Proyecto MVC y hacer
click en la carpeta model y clic en Add New Item y seleccionar clase y asignarle el
nombre Curstomer.
el primer paso es crear un controlador y agregar una simple acción que muestre el
Customer.
Importar el namespaces del modelo en la clase controlador, creamos un objeto de
la clase Customer con algunos datos y lo pasamos a la vista llamado
“DisplayCustomer”.
Necesitamos ahora unir los puntos de MVC, mediante la creación de vistas. Hace
clic derecho en el método DisplayCustomer dentro del controlador(Con realizado
en el primer laboratorio).
Abajo esta el codigo de la vista(sintaxis Razor) el cual muestra los valores de las
propiedades del cliente. También podemos asignar una condición IF que muestre
los clientes como un cliente privilegiado si la cantidad está por arriba de 100 y un
cliente normal si esta por debajo de 100.
el primer paso para crear una entrada de datos es usar las etiquetas form de
HTML como se muestra en el código de abajo. Lo mas importante a notar es que
la accion del boton es apuntada al método del controlador llamado
“DisplayCustomer”.
Para ayudarnos de Visual Studio y como ya sabemos toda pagina esta relacionada
a una accion del controlador en el controlador Customer vamos a crear el metodo
FillCustomer.
Después siguiendo los pasos anteriores de como crear una vista(Click derecho y
Add View) creamos la vista FillCustomer.
En este laboratorio veremos como usar clases razor para minimizar el código
manual e incrementar la productividad.
Las clases Razor tienen funciones el cual te permite crear controles HTML con
facilidad enviar a la vista y ver el intellisense de las clases Razor.
Usando Razor puedes crear cualquier control HTML como TextBox , Label,
ListBox.
En orden para crear una etiqueta forma para HTML necesitamos usar
“Html.BeginForm”
El código de arriba genera el siguiente codigo HTML:
Para crear el formulario con Razor es necesario que la vista se haya creado con la
opcion vista fuertemente tipada como se realizo en el laboratorio 03. Pero si no se
hizo esto en la parte superio de la vista agregamos lo siguiente y hacer la vista
fuertemente tipada.
Para el segundo día hablaremos acerca de Routing URL, fácil manera del testeo
unitario MVC, atributos del controlador y mucho mas.Los siguientes laboratorio van
a ser más avanzados a comparado con el primer dia. asi que realiza todos los
laboratorios para que estes listo para el segundo dia.