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

Este post esta hecho para explicar como buscar y reemplazar e insertar tablas en Word mediante Visual Studio y C#

FacebookGoogle BookmarksGoogle GmailTwitterYahoo MailHotmailLinkedInShare

Cuando Microsoft decidió crear la plataforma de trabajo .Net, vió la necesidad de crear un lenguaje que utilice el potencial de lo que estaba creando. Convocó a los creadores de Turbo Pascal y de Delphi para tan importante labor, el resultado lo conocemos ahora y se llama: C#. Amados por unos, acusados de copia por otros, lo importante es que tu mismo saques tus conclusiones y sobre todo aprendas el mayor número de lenguajes para que puedas saber lo que encierra este apasionante mundo de la programación

FacebookGoogle BookmarksGoogle GmailTwitterYahoo MailHotmailLinkedInShare

Si ya vimos como recorrer el DataSet y revisar el contenido de un DataTable para ver la información, ahora aprenderemos como insertar, modificar y eliminar algunas filas para que puedas manipular la información.

FacebookGoogle BookmarksGoogle GmailTwitterYahoo MailHotmailLinkedInShare

Si quieres desarrollar páginas web de calidad y en el menor tiempo posible, necesitas contar con herramientas que te ayuden a minimizar tu tiempo de desarrollo y también a garantizar un buen producto. En este artículo te voy a mencionar 5 aplicaciones que utilizo a diario cuando desarrollo aplicaciones web con la esperanza que te sean de tanta utilidad como lo son para mi.

FacebookGoogle BookmarksGoogle GmailTwitterYahoo MailHotmailLinkedInShare

Si crees que con sólo programar tus aplicaciones es suficiente, te equivocas. Debes de tomar en cuenta como va a encajar tu aplicación dentro del negocio que lo utiliza, piensa que no es una isla sino que debe de coexistir con otras aplicaciones actuales o futuras. Lee este artículo y entérate cómo puedes lograr esto.

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