Home :: Otros :: Productividad :: ASP.NET y MVC 3–Parte I
 
asp-net-mvc-3

ASP.NET y MVC 3–Parte I

ene 04, 2012 en Productividad por Victor Parasi

Luego de describir el patrón MVC, vamos a ponerlo en práctica con una aplicación Web. Vamos a analizar la interacción entre las vistas y el controlador para luego realizar algo más avanzado.

FacebookGoogle BookmarksGoogle GmailTwitterYahoo MailHotmailLinkedInShare

Antes de empezar, quisieramos dar gracias a los que nos escribieron para felicitarnos por haber escrito un post luego de mucho tiempo.  Debido a la confianza que les tenemos, les explicaremos brevemente el motivo de haber dejado de escribir. Cuando  decidimos crear el blog, lo hicimos, en primer lugar, para tener un canal de comunicación con todas las personas que, como a nosotros, les gusta programar. Escribir lo que sabemos o contar algunas investigaciones realizadas fue nuestra principal motivación.  Lastimosamente, no todo en la vida es color de rosa. Este blog , para nosotros, tiene un costo y habíamos pensado mantenerlo mediante la publicidad existente, pero a la fecha no ha tenido los resultados esperados, debido a eso nos vimos en la necesidad de dedicar nuestro tiempo en otras ocupaciones.

Luego de analizar la situación, hemos decidido empezar este 2012 con un ánimo renovado, borrando lo anterior y esperando que la fortuna nos acompañe y sobre todo que ustedes continuen leyendo y escribiendo sus comentarios  a los post que vamos a ir escribiendo.

Ahora si, los dejamos con el nuevo post, no sin antes darles gracias por su tiempo en leer estas líneas.

Atte.

Copstone….Programando por Diversión

En el post anterior vimos de que trataba el MVC. En este post vamos a analizar una aplicación Web sencilla  con ASP.NET y MVC 3. El concepto de  MVC 3 en ASP.NET hace referencia a un framework para que nuestras aplicaciones web sean desarrolladas bajo el patrón MVC. Lo puedes descargar desde este link.

Creación del Proyecto

Luego de instalar los archivos, reinicia tu VS 2010 y crea un nuevo proyecto del tipo Web en el lenguaje C#. De manera específica vamos a realizar un proyecto del tipo ASP. NET MVC 3 Web Application.

image

Le voy a poner de nombre al proyecto DemoMVC3App y luego pulsar el botón OK

Luego de pulsar el botón, vamos a acceder a una nueva ventana. En esta ventana vamos a escoger el motor de vistas que usaremos y el template del proyecto que usaremos.

  • Para el Motor de Vistas (View Engine) escogeremos RAZOR. Este motor permite un acceso mejorado a las vistas que las del motor ASPX. Este es uno de los cambios del MVC 3 con respecto a sus predecesores.
  • En el caso de los template, usaremos el template que permite la creación de una “project with an account controller that uses forms authentication.”

 

image

Luego de presionar OK, esperamos unos segundos y se crea el proyecto de la siguiente forma:

image

Como pueden ver, en el Solution Explorer, se han creado carpetas y llaman la atención 3 de ellas, Controllers, Models y Views.

Vistas

Como ya saben, las vistas vienen a ser las interfaces que van a visualizar el usuario. Si ejecutan la aplicación, tal como está, verán la siguiente página inicial:

image

Si analizamos la interacción del usuario con la página tenemos:

  • Puede dar Click en HOME
  • Puede dar Click en About
  • Puede dar Click en LogOn

Estas tres interacciones, según el concepto de MVC, deberían generar, cada una,  un evento el cual debe de ser controlado por un Controller y llevar a la visualización de vistas, digamos 3 vistas. Veamos si esto es cierto.

Vamos a VS2010, en la carpeta Views, veamos que hay dentro de esa carpeta.

image

Si expandimos la carpeta View, vemos que existe una subcarpeta Account, con varios archivos, pero nos interesa por ahora LogOn.cshtml. También vemos una carpeta llamada Home con dos archivos About.cshtml e Index.cshtml.

A estas alturas ya deben de haber deducido algo, y si no se los digo. Los archivos mencionados, son las vistas de las 3 opciones que mencionamos líneas arribas. Para despejar las dudas, los invito a abrir esos archivos y verán que el contenido de los mismos son tag o controles que se visualizan al momento de dar click en cada una de las opciones.

Una pregunta se cae de madura y si no te la haces, la hago yo. Se dieron cuenta que los archivos tienen extensión CSHTML?, la respuesta es el motor de vistas seleccionado RAZOR.

Controladores

Nuevamente recordemos el concepto de MVC. El controlador intercepta los eventos y dependiendo de lo que se desee realizar interactúa, finalmente, con una vista para visualizar algo.

Veamos el contenido de la carpeta Controllers del proyecto.

image

Contiene dos archivos, uno llamado AccountController.cs y otro llamado HomeController.cs.

Para que tenga sentido estos nombres recordemos que en la carpeta Views encontramos dos subcarpetas. Una llamada Account y otra llamada Home. Por lo tanto AccountController es el controlador de las vistas de la carpeta Account y HomeController el controlador de las vistas que se encuentran la carpeta Home.

Ahora, vamos a ver el contenido de un Controlador. Veamos el archivo HomeController.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace DemoMVC3App.Controllers
{
    public class HomeController : Controller
    {
	//Esta método se invoca cuando el usuario da click en la opción HOME.
	//La página de HOME es la página de inicio de la aplicación
        //Para que quede claro diremos que si el website esta en localhost,
	//esta página se visualiza si colocamos en el browser
	//http://localhost o http://localhost:1239/Home/ en la barra de direcciones

	public ActionResult Index()
        {
            ViewBag.Message = "Welcome to ASP.NET MVC!";

            return View();
        }

	//Esta método se invoca cuando el usuario da click en la opción ABOUT.
        //Para que quede claro diremos que si el website esta en localhost
	//Si colocamos en el browser http://localhost:1239/Home/About

        public ActionResult About()
        {
            return View();
        }
    }
}

En este punto y ya casi para terminar este post, debemos de dejar en claro como funciona la vista y el controlador.

  • Si en la carpeta Views existe una subcarpeta llamada Home (que agrupa a muchas vistas) en la carpeta Controllers debe de haber un archivo llamado HomeController que será el controlador de las vistas.
  • Si dentro de la subcarpeta Home, que hay en Views, existe un archivo llamado Index.cshtml, en el archivo HomeController debe de haber un método public ActionResult Index().

En el siguiente post, vamos a agregar vistas y trabajar con el controlador para que veas lo sencillo que es.


Autor: Victor Parasi

Siempre es difícil escribir sobre uno mismo, qué contar, o por donde empezar, suele ser todo un dilema al momento de presentarse. Aquí vamos. Les diré que soy peruano, Ingeniero por vocación, dedicado a la docencia y siempre en la búsqueda de programar cada vez mejor. Aunque a veces algo terco, sé que no todo en la vida es blanco o negro. Existe el Open Source, y lo respeto pero me llevo mejor con el .Net. Si me hablas de preferencias, te digo que C#, C++, una buena película, colores oscuros, escribir, leer e investigar. Para terminar les diré que amo muchísimo a una mujer espectacular y que es la dueña de mi corazón.


Deja un comentario

   

copstone en Facebook

Otros artículos

Una de las tareas más comunes en una PC es la de copiar (Ctrl + C) y pegar (Ctrl + V). En este artículo te enseño como copiar y pegar con código en C++. Te mostraré como copiar y pegar texto e imágenes.

FacebookGoogle BookmarksGoogle GmailTwitterYahoo MailHotmailLinkedInShare

Las páginas web modernas hacen uso de AJAX para realizar peticiones al servidor y obtener nuevo contenido sin necesidad de cargar toda la página nuevamente. En este artículo voy a enseñar como crear peticiones AJAX de forma nativa y responder a ellas de forma nativa y con PHP. Además te mostraré como usar PHP para responder a peticiones AJAX.

FacebookGoogle BookmarksGoogle GmailTwitterYahoo MailHotmailLinkedInShare

Si sigues colocando todo el código de tu aplicación dentro del formulario y no sabes que tipo de proyecto usar, en Visual Studio, para separar la capa de presentación de la lógica de nuestra aplicación? Entonces este artículo es para tí.

FacebookGoogle BookmarksGoogle GmailTwitterYahoo MailHotmailLinkedInShare

Alguna vez te haz preguntado cómo hace una función como por ejemplo el printf para recibir una cantidad de parámetros indefinida? En este artículo te voy a enseñar a escribir funciones que no necesiten una cantidad definida de parámetros.

FacebookGoogle BookmarksGoogle GmailTwitterYahoo MailHotmailLinkedInShare

Sabias que puedes ejecutar tus aplicaciones en un idioma distinto al de tu Sistema Operativo, te dejo este post para que te enteres de que se trata.

FacebookGoogle BookmarksGoogle GmailTwitterYahoo MailHotmailLinkedInShare

Calendario

enero 2012
L M X J V S D
« nov    
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

Categorías

Comparte este artículo

  • Facebook
  • Google Bookmarks
  • Google Gmail
  • Twitter
  • Yahoo Mail
  • Hotmail
  • LinkedIn
  • Share
TIENES ALGO QUE PREGUNTAR? ESCRÍBENOS AQUÍ

Copyright © 2012 - Programando por diversion

Subir