asp .net mvc: desarrollo web con el patrón mvc

Post on 19-Jul-2015

227 Views

Category:

Software

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Programación Web con MVC

1

Rioja{dotnet}

Juan Valer @juanvalertMoisés Martínez de Quel @mdquel

Rioja{dotnet

}

AGENDA

1. Introducción

2. Routing y controladores

3. Data annotations

4. Vistas y vistas parciales

5. API

6. Áreas

2

Rioja{dotnet

}

INTRODUCCIÓN

3

El patrón Modelo-Vista-Controlador permite separar las responsabilidades de una aplicación Web en partes diferenciadas y ofrece diversos beneficios:

•Facilidad de mantenimiento•Facilidad de creación de pruebas y testeo unitario•Orientado a la realización de pruebas unitarias.•Urls limpias, fáciles de recordar y adecuadas para buscadores•Control absoluto sobre el HTML generado•Potente integración con JQuery y otras librerías AJAX•Magnifico rendimiento y escalabilidad•Gran extensibilidad y flexibilidad

Rioja{dotnet

}

INTRODUCCIÓN

4

Rioja{dotnet

}

INTRODUCCIÓN

5

Rioja{dotnet

}

ROUTING Y CONTROLADORES

6

Patrón Ejemplo de URLs coincidentes

{controller}/{action}/{id} product/view/sony-vaio

product/view/sony-vaio/vote

admin/{controller}/{action}/{id} admin/users/edit/5

admin/threads/add

admin/account/logout

{controller}/{action}/{year}/{month} blog/archive/2009/12

{controller}/{action}/{forumName} /forum/browse/

/forum/browse/ASP.NET

Rioja{dotnet

}

PROYECTO ONE ASP.NET

8

La base de mvc6

Un proyecto completoMVC WebWeb API: interface agnósticas al front-end

One asp.net totalmente funcional únicamente en Visual Studio 2013

Rioja{dotnet

}

¿QUIEN DIJO MIEDO…?

9

Entender lo que pasa 1º Global.asax (indicamos como vamos a funcionar)

protected void Application_Start(){

AreaRegistration.RegisterAllAreas();FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);RouteConfig.RegisterRoutes(RouteTable.Routes);BundleConfig.RegisterBundles(BundleTable.Bundles); //bootstrap

}

2º Web.config (Parametros de configuración del servidor web)

<staticContent><mimeMap fileExtension=".json" mimeType="application/json" />

</staticContent>

3º RuteConfig.cs (Encaminador)

Su nombre lo indica:ModelsControllersViews

Rioja{dotnet

}

ROUTING Y CONTROLADORES

10

Rioja{dotnet

}

ROUTING Y CONTROLADORES

11

Rioja{dotnet

}

ROUTING Y CONTROLADORES

12

Mapeo de ruta

(RouteConfig.cs)

Controlador

Rioja{dotnet

}

RESTRICCIONES

13

Rioja{dotnet

}

RESTRICCIONES

14

Rioja{dotnet

}

RESTRICCIONES

15

Desde las restricciones personalizadas tenemos acceso a:

•nombre del parámetro que estamos intentando validar•los valores de todos los parámetros•la regla actual•el contexto de la petición, de donde podemos extraer información como: cookies, encabezados, query string, etc.•datos del usuario autenticado

Rioja{dotnet

}

ATTRIBUTE ROUTING

16

Rioja{dotnet

}

ATRIBUTOS COMPLEJOS

17

Rioja{dotnet

}

ATRIBUTOS COMPLEJOS

18

Rioja{dotnet

}

ATRIBUTOS COMPLEJOS

19

Rioja{dotnet

}

ATRIBUTOS COMPLEJOS

20

Rioja{dotnet

}

RESTRICCIONES PERSONALIZADAS

21

Rioja{dotnet

}

VISTAS

22

Rioja{dotnet

}

VISTAS

23

Rioja{dotnet

}

GRACIAS!!

Web: http://www.riojadotnet.com

Twitter: http://www.twitter.com/riojadotnet

E-mail: info@riojadotnet.com

24

top related