Post on 19-Jul-2015
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
}
ROUTING Y CONTROLADORES
7
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