Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Este post va dirigido para personas iniciando desde cero en el mundo de MVC .NET, ya
que existen otros posts ms avanzados donde en la introduccin a MVC de una vez
pasan a Creacin de credenciales y autenticacin, Conexin con un Entity
Framework, etc. Pero este post est ms dirigido a como llamar y ejecutar Acciones
(antes conocidos como eventos) y como manipular los componentes bsicos. Y an
mejor, si tienes dudas como, donde son las pginas? Como se invocan las pginas?
Qu rayos es un controlador?, etc. A mi, personalmente, no me gusta mucho usar
templates de VS donde ya crean muchas cosas por debajo, porque de repente uno no
sabe realmente que es lo que estn pre-creandole en el proyecto. Y s, me gusta crear
todo a pie from scratch.
Vamos a ir creando esas bases que luego van a permitir pasar a temas ms complejos
que tambin voy a tratar de postear en este blog. Porqu MVC?, como funciona
MVC?, porqu se escucha tanto ltimamente de MVC?, es mejor que Web Forms?
Porqu MVC? MVC ya lleva aos liberado y existe en diversas tecnologas a parte
de .NET. MVC permite aislar an ms responsabilidades dentro de un Web Application,
crear aplicaciones ms ligeras, trabajar con componentes y frameworks avanzados
como jQuery y utilizar un patrn de desarrollo Web que Microsoft est apoyando
mucho ms ultimamente. Dejando la interfaz grfica del lado cliente potenciandola
adems con HTML5 y CSS3. Es, adems, altamente testeable; sin dejar de lado la gran
potencia que agrega ASP.NETdel lado servidor.
Como funciona MVC? El fundamento de MVC es [MODELO] [VISTA]
[CONTROLADOR] (Model-View-Controller). Este patrn de arquitectura se basa en
PostBacks, es decir, que si vienes de una tecnologa como PHP o web pura ser muy
familiar entrar en MVC.
Para los que no han escuchado hablar de Razor, es una propuesta de Microsoft que
sali por ah del 2011 para Visual Studio 2010, basado en C# o VB.NETpara crear
pginas web. Permite incrustar cdigo de lgica dentro del markup del HTML, es decir,
que sobre ejecucin podemos crear un for dentro del HTML que creen las filas de una
tabla. Ms adelante vamos a ver un ejemplo.
La base de la aplicacin est en las siguientes 3 carpetas:
Vamos a crear un par de componentes bsicos en una sitio web, como lo son el
encabezado y el pie de pgina.
Explicando que contiene la pgina de abajo: en el tag de Title utilizamos el ViewBag
(una de las formas para pasar informacin o datos desde el controlador a la vista. Esto
significa que si el master lo tiene, siempre va a poner en el tag de Title lo que venga
en el ViewBag en la propiedad Title. As podemos ir cambiando el title del sitio
dependiendo de la pgina que estemos.
Creamos un Div para el header, uno para el contenido y otro para el footer.
Podemos crear un controlador para esta pgina maestra, de esta forma, poner
contenido dinmico en esta zona.
1.)
2.)
3.)
Lo siguiente sera crear una pgina default. Por convencin se crean las pginas
principales en un controlador llamado Home entonces lo primero sera crear el
controlador y que el se encargue de crear sus pginas.
En el HTML:
Ya podemos correr la aplicacin y obtendremos lo siguiente:
As terminara este primer post, en el siguiente vamos a ver como utilizar el modelo y
pasar datos a las vistas.
Conceptos bsicos
MVC y primer Web
Application con MVC 4
(Parte 2)
16 MartesJUL 2013
POSTED BY WALTER MONTES IN C#, MVC .NET, UNCATEGORIZED, WEB
2 COMENTARIOS
Etiquetas
basico mvc, mvc .net,mvc 4, mvc desde cero
En el Post anterior vimos un poco lo que es la introduccin a MVC, creamos un
proyecto bsico y un par de vistas interactuando con el controlador. Hasta pasamos
contenido desde un controlador a una vista de Layout.
Ahora vamos a ver como entra en juego el Modelo y como interactua con Razor para
crear lgica dentro de nuestra pgina.
Vamos a crear un objeto sencillo. Podemos ubicarlos dentro de la carpeta deModels en
una carpeta de entidades.
Lo que vamos a hacer ahora es meterlo en una nueva vista y crear un dropdownlist
con los datos de una coleccin de objectos de Producto. De igual forma que las vistas
anteriores se crea, clic derecho sobre Controllers, le ponemos ProductController,
damos click derecho sobre Index y creamos una vista.
Podemos pasar los datos por medio del ViewBag, ya que son pocos. Ms adelante
vamos a ver otros modos de pasar datos a las vistas.
El controlador lo que har es invocar a la pgina que est ligada a Index dentro de
Product y pasarle los datos del ViewBag. En este caso la lista de Productos.
Pasamos los datos de manera quemada pero ms adelante podemos hacerlos
dinmicos y tomarlos desde una base de datos a travs de un Servicio de Datos creado
dentro de los modelos u otro proyecto.
Y el resultado es el siguiente:
Como pueden ver, Razor renderiza todo el cdigo .NET en puro HTML segn la funcin
creada.
Y genial, as logramos (de una de las muchas formas que se puede) pasar datos a una
vista, pero, y al revs? de una vista a un controlador para poder manipular los datos
ingresados por el usuario.
En el controlador de Productos:
Luego damos click sobre Nuevo y agregamos una vista.
Vamos a tomar ventaja de una nueva caracterstica que viene con MVC, los
DataAnnotations, con esto personalizamos el objeto y le damos propiedades para el
comportamiento en la vista. (Si no lo conocas vas a encontrarlo fascinante!). (Las
propiedades entre corchetes sobre cada propiedades del objeto).
Y en la nueva vista creamos el formulario y reflejamos esas nuevas propiedades que le
dimos al objeto:
Parte 3
Conceptos bsicos
MVC y primer Web
Application con MVC 4
(Parte 3)
16 MartesJUL 2013
1 COMENTARIO
Etiquetas
.net errores, ejemplo mvc, html, html5,manejar errores mvc,mvc 4, mvc basico, mvc errores, pagina
mvc,partial view, partialview mvc, web config errores, web workers
En el Post anterior ya vimos como pasar datos por medio del ViewBag, crear
dropdownlists, crear formularios y comunicacin en ambos lados entre el Controller y
las vistas.
En esta oportunidad vamos a ver otras propiedades de MVC importantes que facilitan
la vida desarrollando
Componentes tiles:
HTML5: podemos tambin empezar a echar mano de algunas ventajas que nos
trae HTML5, como la nueva semntica, por si no han odo de la misma, es una
ayuda a los desarrolladores para tener componentes con tags ms acorde a su
Vistas Parciales:
Las vistas parciales permiten incrustar secciones de pginas en otras, como por
ejemplo, el tpico login en el header de las pginas, que cuando uno se loggea
aparece su usuario. Cosas de este tipo nos permiten las vistas parciales. Cmo se
crean? No tienen mucha ciencia por debajo, son simples vistas pero que son llamadas
de distinta manera y no utilizan el marco o pgina maestra.
En este ejemplo voy a usar otra de las nuevas caractersticas de HTML5 que son
los Web Workers, (procesos de JavaScript que pueden correr encicladamente sin
afectar el performance del resto de la pgina o hacerla esperar a que termine.) Pero
bien, puede ser un texto quemado, algo desde la base de datos actualizado con su
controller o una imagen dinmica.
Web Worker
Resultado
Pginas de error
Nuevamente creamos las pginas de los ActionResult, clic derecho sobre el nombre
(NotFound()) y crear vista. Igual para ServerError y todas las que se deseen
personalizar. Y creamos las vistas.
Solamente falta configurar el web.config acorde a nuestras vistas de error
Corramos la aplicacin y forcemos a que ocurra un 404 para ver nuestro manejador de
errores en accin.
De esta forma, el controlador nos permite manejar las excepciones y que nuestra
pgina no presente errores genricos, sin personalizacin y que lo que logran es
asustar a los usuarios.
En el prximo post vamos a ver como configurar la autenticacin desde cero es decir,
que si uno quiere autenticarse a travs de los datos de XML se puede hacer y no
depender de un solo mtodo como Windows Authentication o Forms que pone .NET por
default.