SlideShare uma empresa Scribd logo
365ON
LAB-ON : ASP.NET MVC
Fundamentos: 01-O
Agenda
• O que é ASP.NET MVC
O que é ASP.NET MVC
• Framework para desenvolvimento de Web app;
• Implementa o padrão arquitetural –Model, View, Controller(MVC);
• Separa lógica de input, logica de negocio e ui;
• Consiste em um Separação de Responsabilidade:
• Model(ModelView): Objetos Modelo, Retorna e Mantem estado de objetos
modelos em um meio de persistência.
• View: UI
• Controller: Controlar a Interação com o usuário, faz a ligação entre model e
view.
• Aplica vários padrões : DRY, Conversion Over Configuration,
Workflow
Url Routing
• Engine de roteamento de url
• Suporte a rotas customizadas
• App_Start/RouteConfig.cs
Controller
• Controla requisições
• Executa a lógica apropriada
• Chama a View para geração do resposta em Html
Controlle : Action
Apenas um método
Controller : Action > Result
• ViewResult, RedirectToRouteResult, ContentResult, FileResult,
JsonResult, RedirectResult
View
• Views são criadas usando Razor View Engine
• Controller Retornam ActionResult
• Por Padrão todas as view compartilham o mesmo layout page
ViewBag
• Dynamic object
• Transportar dados entre view e layout, Controller e View/Layout
ViewBag
• Dynamic object
• Transportar dados entre view e layout, Controller e View/Layout
View : Razor View Engine
• Server Side Code
• Syntax compacta
• Integrado com c# e vb
• @ é marcado de blocos
• Ex.:
• @foreach(var p in produtos){<li>@p.Id</li> }
• @DateTime.Now.ToString()
• @if(produto.Valor < 1000){<p>Este produto não possui desconto</>}
• @{int numero = 1; stringe nome = “Alex”} <p>meu nome é @nome</p>
Helpers
• @Html.TextBoxFor(m => m.ProductID)
• Html.ActionLink(“Edit", “Edit", new{id=item.ID)}
Layout(MasterPage)
• @RenderBody()
• Desclaração Explicita de um layout @{LayoutPage =
“MeuLayout.cshtml”
• @RenderSection(“menu”, option:true)
• @Body()
• @section menu{}
Model
Model
Strongly Typed Models
• Prover uma forma tipada de passar dandos entre a controller e a view
Http Metodos
• HttpGet e HttpPost
• Tudo que for modificar dados por boa prática utiliza-se HttpPost
• HttpGet deve ser utilizado quando nenhum informação for modificar
server side.
Validation
Validation
Validation
Bundle
• Recurso que permite injetar conteúdo como css, javascript de forma
simples e re-ultilizavel
Exemplo : Controller > Detalhes

Mais conteúdo relacionado

Mais procurados

Mais procurados (13)

Java web
Java webJava web
Java web
 
ASP.NET MVC 4 - Introdução - Parte I
ASP.NET MVC 4 - Introdução - Parte IASP.NET MVC 4 - Introdução - Parte I
ASP.NET MVC 4 - Introdução - Parte I
 
Workshop Mundo Senai - Hello, Angular.js
Workshop Mundo Senai - Hello, Angular.jsWorkshop Mundo Senai - Hello, Angular.js
Workshop Mundo Senai - Hello, Angular.js
 
ASP.NET MVC 4 - Part III - Views (Continuação: Part II)
ASP.NET MVC 4 - Part III - Views (Continuação: Part II)ASP.NET MVC 4 - Part III - Views (Continuação: Part II)
ASP.NET MVC 4 - Part III - Views (Continuação: Part II)
 
Entity framework migrations
Entity framework migrationsEntity framework migrations
Entity framework migrations
 
Construindo aplicações leves e performáticas com ASP.NET Core 1.0
Construindo aplicações leves e performáticas com ASP.NET Core 1.0Construindo aplicações leves e performáticas com ASP.NET Core 1.0
Construindo aplicações leves e performáticas com ASP.NET Core 1.0
 
Ajax
AjaxAjax
Ajax
 
Web Server Controls e Banco de Dados
Web Server Controls e Banco de DadosWeb Server Controls e Banco de Dados
Web Server Controls e Banco de Dados
 
MVC na plataforma JEE
MVC na plataforma JEEMVC na plataforma JEE
MVC na plataforma JEE
 
HUGSP#6 Opus uDSL - Uma DSL para Microserviços
HUGSP#6 Opus uDSL - Uma DSL para MicroserviçosHUGSP#6 Opus uDSL - Uma DSL para Microserviços
HUGSP#6 Opus uDSL - Uma DSL para Microserviços
 
BluDotNet - Entity Framework Code First Migrations
BluDotNet - Entity Framework Code First MigrationsBluDotNet - Entity Framework Code First Migrations
BluDotNet - Entity Framework Code First Migrations
 
JavaOne LATAM 2016 - RESTful Services Simplificado com Spring Data REST
JavaOne LATAM 2016 - RESTful Services Simplificado com Spring Data RESTJavaOne LATAM 2016 - RESTful Services Simplificado com Spring Data REST
JavaOne LATAM 2016 - RESTful Services Simplificado com Spring Data REST
 
Asp.net
Asp.netAsp.net
Asp.net
 

Destaque

Cinco joyas del congreso mundial de moviles
Cinco joyas del congreso mundial de movilesCinco joyas del congreso mundial de moviles
Cinco joyas del congreso mundial de moviles
'Danni Estrada Herrera
 
Progresiones geométricas
Progresiones geométricasProgresiones geométricas
Progresiones geométricas
Jaiime Ibarra
 
2016_amalone_resume
2016_amalone_resume2016_amalone_resume
2016_amalone_resume
Andy Malone
 
Inamdar_et_al_ACP_2016
Inamdar_et_al_ACP_2016Inamdar_et_al_ACP_2016
Inamdar_et_al_ACP_2016
Aniket Inamdar
 
John_Ryan_Thesis_Final
John_Ryan_Thesis_FinalJohn_Ryan_Thesis_Final
John_Ryan_Thesis_Final
John Ryan
 
Inamdar_et_al_AIAA_2016
Inamdar_et_al_AIAA_2016Inamdar_et_al_AIAA_2016
Inamdar_et_al_AIAA_2016
Aniket Inamdar
 

Destaque (18)

Lactancia materna en el prematuro
Lactancia materna en el prematuro Lactancia materna en el prematuro
Lactancia materna en el prematuro
 
Cinco joyas del congreso mundial de moviles
Cinco joyas del congreso mundial de movilesCinco joyas del congreso mundial de moviles
Cinco joyas del congreso mundial de moviles
 
Punta for Sale #63 - Agosto-Septiembre 2013
Punta for Sale #63 - Agosto-Septiembre 2013Punta for Sale #63 - Agosto-Septiembre 2013
Punta for Sale #63 - Agosto-Septiembre 2013
 
Progresiones geométricas
Progresiones geométricasProgresiones geométricas
Progresiones geométricas
 
0.1 maquinas simples grado 8 a
0.1 maquinas simples grado 8 a0.1 maquinas simples grado 8 a
0.1 maquinas simples grado 8 a
 
2016_amalone_resume
2016_amalone_resume2016_amalone_resume
2016_amalone_resume
 
Eu sou assim
Eu sou assimEu sou assim
Eu sou assim
 
Centrefold Gallery Pitch - Leverage Your Idea 2016
Centrefold Gallery Pitch - Leverage Your Idea 2016Centrefold Gallery Pitch - Leverage Your Idea 2016
Centrefold Gallery Pitch - Leverage Your Idea 2016
 
Números naturales
Números naturalesNúmeros naturales
Números naturales
 
Maldonado _Yerly_ Actividad 4_presentación
Maldonado _Yerly_ Actividad 4_presentaciónMaldonado _Yerly_ Actividad 4_presentación
Maldonado _Yerly_ Actividad 4_presentación
 
Inamdar_et_al_ACP_2016
Inamdar_et_al_ACP_2016Inamdar_et_al_ACP_2016
Inamdar_et_al_ACP_2016
 
Una abundancia de katherines l john green
Una abundancia de katherines l john greenUna abundancia de katherines l john green
Una abundancia de katherines l john green
 
CURRICULUM VITAE. 2016
CURRICULUM VITAE. 2016CURRICULUM VITAE. 2016
CURRICULUM VITAE. 2016
 
John_Ryan_Thesis_Final
John_Ryan_Thesis_FinalJohn_Ryan_Thesis_Final
John_Ryan_Thesis_Final
 
Integrado 4 karen fernandez
Integrado 4 karen fernandezIntegrado 4 karen fernandez
Integrado 4 karen fernandez
 
Inamdar_et_al_AIAA_2016
Inamdar_et_al_AIAA_2016Inamdar_et_al_AIAA_2016
Inamdar_et_al_AIAA_2016
 
Terms and conditions
Terms and conditionsTerms and conditions
Terms and conditions
 
space-exploration
space-explorationspace-exploration
space-exploration
 

Semelhante a 365on Lab Asp.Net MVC Fundamentos 01 Overview

ASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre TarifaASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre Tarifa
guestea329c
 
[CLPE] Novidades do Asp.net mvc 2
[CLPE] Novidades do Asp.net mvc 2[CLPE] Novidades do Asp.net mvc 2
[CLPE] Novidades do Asp.net mvc 2
Felipe Pimentel
 
Desenvolvimento Web com CakePHP
Desenvolvimento Web com CakePHPDesenvolvimento Web com CakePHP
Desenvolvimento Web com CakePHP
Sérgio Vilar
 

Semelhante a 365on Lab Asp.Net MVC Fundamentos 01 Overview (20)

ASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre TarifaASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre Tarifa
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Palestra ASP.NET MVC
Palestra ASP.NET MVCPalestra ASP.NET MVC
Palestra ASP.NET MVC
 
[CLPE] Novidades do Asp.net mvc 2
[CLPE] Novidades do Asp.net mvc 2[CLPE] Novidades do Asp.net mvc 2
[CLPE] Novidades do Asp.net mvc 2
 
ApresentaçãO Mvc
ApresentaçãO MvcApresentaçãO Mvc
ApresentaçãO Mvc
 
Apresentação M V C
Apresentação M V CApresentação M V C
Apresentação M V C
 
Backbone.js nas trincheiras
Backbone.js nas trincheirasBackbone.js nas trincheiras
Backbone.js nas trincheiras
 
JSF com Primefaces
JSF com PrimefacesJSF com Primefaces
JSF com Primefaces
 
Desenvolvendo aplicações com Angular e Laravel no Back-end
Desenvolvendo aplicações com Angular e Laravel no Back-endDesenvolvendo aplicações com Angular e Laravel no Back-end
Desenvolvendo aplicações com Angular e Laravel no Back-end
 
Asp.Net Mvc Dev Days09 V3 Pt
Asp.Net Mvc Dev Days09 V3 PtAsp.Net Mvc Dev Days09 V3 Pt
Asp.Net Mvc Dev Days09 V3 Pt
 
Curso AngularJS - Parte 1
Curso AngularJS - Parte 1Curso AngularJS - Parte 1
Curso AngularJS - Parte 1
 
LambdaDay: Backbone.js
LambdaDay: Backbone.jsLambdaDay: Backbone.js
LambdaDay: Backbone.js
 
Gradle spring-hateoas-Lombok
Gradle spring-hateoas-LombokGradle spring-hateoas-Lombok
Gradle spring-hateoas-Lombok
 
Arquitetura Model View Controller
Arquitetura Model View ControllerArquitetura Model View Controller
Arquitetura Model View Controller
 
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
 
Spring MVC - QConSP
Spring MVC - QConSPSpring MVC - QConSP
Spring MVC - QConSP
 
TDC 2014 - Arquitetura front-end com AngularJS
TDC 2014 - Arquitetura front-end com AngularJSTDC 2014 - Arquitetura front-end com AngularJS
TDC 2014 - Arquitetura front-end com AngularJS
 
Curso de Ruby on Rails - Aula 01
Curso de Ruby on Rails - Aula 01Curso de Ruby on Rails - Aula 01
Curso de Ruby on Rails - Aula 01
 
Meu projeto final - Neobase 2.0
Meu projeto final - Neobase 2.0Meu projeto final - Neobase 2.0
Meu projeto final - Neobase 2.0
 
Desenvolvimento Web com CakePHP
Desenvolvimento Web com CakePHPDesenvolvimento Web com CakePHP
Desenvolvimento Web com CakePHP
 

365on Lab Asp.Net MVC Fundamentos 01 Overview

  • 1. 365ON LAB-ON : ASP.NET MVC Fundamentos: 01-O
  • 2. Agenda • O que é ASP.NET MVC
  • 3. O que é ASP.NET MVC • Framework para desenvolvimento de Web app; • Implementa o padrão arquitetural –Model, View, Controller(MVC); • Separa lógica de input, logica de negocio e ui; • Consiste em um Separação de Responsabilidade: • Model(ModelView): Objetos Modelo, Retorna e Mantem estado de objetos modelos em um meio de persistência. • View: UI • Controller: Controlar a Interação com o usuário, faz a ligação entre model e view. • Aplica vários padrões : DRY, Conversion Over Configuration,
  • 5. Url Routing • Engine de roteamento de url • Suporte a rotas customizadas • App_Start/RouteConfig.cs
  • 6. Controller • Controla requisições • Executa a lógica apropriada • Chama a View para geração do resposta em Html
  • 8. Controller : Action > Result • ViewResult, RedirectToRouteResult, ContentResult, FileResult, JsonResult, RedirectResult
  • 9. View • Views são criadas usando Razor View Engine • Controller Retornam ActionResult • Por Padrão todas as view compartilham o mesmo layout page
  • 10. ViewBag • Dynamic object • Transportar dados entre view e layout, Controller e View/Layout
  • 11. ViewBag • Dynamic object • Transportar dados entre view e layout, Controller e View/Layout
  • 12. View : Razor View Engine • Server Side Code • Syntax compacta • Integrado com c# e vb • @ é marcado de blocos • Ex.: • @foreach(var p in produtos){<li>@p.Id</li> } • @DateTime.Now.ToString() • @if(produto.Valor < 1000){<p>Este produto não possui desconto</>} • @{int numero = 1; stringe nome = “Alex”} <p>meu nome é @nome</p>
  • 13. Helpers • @Html.TextBoxFor(m => m.ProductID) • Html.ActionLink(“Edit", “Edit", new{id=item.ID)}
  • 14. Layout(MasterPage) • @RenderBody() • Desclaração Explicita de um layout @{LayoutPage = “MeuLayout.cshtml” • @RenderSection(“menu”, option:true) • @Body() • @section menu{}
  • 15. Model
  • 16. Model
  • 17. Strongly Typed Models • Prover uma forma tipada de passar dandos entre a controller e a view
  • 18. Http Metodos • HttpGet e HttpPost • Tudo que for modificar dados por boa prática utiliza-se HttpPost • HttpGet deve ser utilizado quando nenhum informação for modificar server side.
  • 22. Bundle • Recurso que permite injetar conteúdo como css, javascript de forma simples e re-ultilizavel
  • 23. Exemplo : Controller > Detalhes