SlideShare une entreprise Scribd logo
1  sur  36
ASP.NET MVC ModelBinding SharpShooters Fernando Kakimoto (@nandokakimoto)
Quem Sou Eu?
O que é ModelBinding?
O que é ModelBinding? Mecanismo do ASP.NET MVC  paramapear dados de umarequisição HTTP emparâmetros de Action Methods e objetos .NET
Começando com um Exemplo
Como ModelBinding Funciona? A classe DefaultModelBinder do ASP.NET MVC e diferentes implementações de IValueProvider são responsáveis por converter os dados provenientes de requisições HTTP em objetos .NET requeridos como parâmetos deActionsMethods
Como ModelBinding Funciona?
Como ModelBinding Funciona?
Como ModelBinding Funciona? O framework utiliza a convençãonomeDoParâmetro.NomeDaPropriedadeparaassegurarque o bindaconteça no parâmetrocorreto
Como ModelBinding Funciona?
Como ModelBinding Funciona? Sem ModelBinding Com ModelBinding
Como ModelBinding Funciona? DefaultModelBinderusareflectionpara saber quaispropriedadespúblicasestãoexpostasemtiposcomplexos
Como ModelBinding Funciona? View fortemente tipada?
Particularidades do ModelBindind no ASP.NET MVC
Escolhendo um Subconjunto de Propriedades  Evitar bind através de parâmetros na URL
Invocando ModelBinding Controle explicito Instanciação dos objetos Provedor de dados Tratamento de erros
Invocando ModelBinding Instanciação dos Objetos
Invocando ModelBinding Provedor de Dados
Invocando ModelBinding Tratamento de Erros Informaçãoenviadapelousuárionuncadeve ser descartada, mesmo se inválida Quandoexistemmúltiploserros, o sistemadeveinformarsobretodoseles Erros de bindnãodevem ser ignorados
Invocando ModelBinding Tratamento de Erros Utiliza o objeto ModelState Cada tentativa de bind armazena o nome da propriedade, o valor de entrada e os erros causados pela atribuição
Invocando ModelBinding Tratamento de Erros
Invocando ModelBinding Tratamento de Erros
ModelBinding em Coleções
ModelBinding em Coleções
ModelBinding em Coleções
Estendendo o sistema de ModelBinding do ASP.NET MVC
Implementando IValueProvider Permite fornecer dados extras ao sistema de ModelBinding do ASP.NET MVC
Implementando IValueProvider
Implementando IValueProvider
Implementando IModelBinder Permite configurar formas diferentes de mapear dados de entrada em tipos específicos
Implementando IModelBinder
Implementando IValueProvider
E Finalmente....
Fazendo Upload de Arquivos
Fazendo Upload de Arquivos
ASP.NET MVC ModelBinding SharpShooters Fernando Kakimoto (@nandokakimoto)

Contenu connexe

Similaire à ASP.NET MVC - Model Binding

Treinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVCTreinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVCMichael Costa
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosRodolfo Fadino Junior
 
MVC, MVP e MVVM: Uma Comparação de Padrões Arquiteturais
MVC, MVP e MVVM: Uma Comparação de Padrões ArquiteturaisMVC, MVP e MVVM: Uma Comparação de Padrões Arquiteturais
MVC, MVP e MVVM: Uma Comparação de Padrões ArquiteturaisJorge Tressino Rua
 
[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 2Felipe Pimentel
 
ASP.NET Web Forms X ASP.NET MVC
ASP.NET Web Forms X ASP.NET MVCASP.NET Web Forms X ASP.NET MVC
ASP.NET Web Forms X ASP.NET MVCguest489a65e
 
Apresentação mvc
Apresentação mvcApresentação mvc
Apresentação mvcleopp
 
Introdução ao Asp.NET MVC
Introdução ao Asp.NET MVCIntrodução ao Asp.NET MVC
Introdução ao Asp.NET MVCBenicio Ávila
 
Ebook AngularJS | Guia Introdutório
Ebook AngularJS | Guia Introdutório Ebook AngularJS | Guia Introdutório
Ebook AngularJS | Guia Introdutório Portal GSTI
 
ASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre TarifaASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre Tarifaguestea329c
 
Java Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e ServletsJava Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e ServletsEduardo Mendes
 

Similaire à ASP.NET MVC - Model Binding (20)

ASP .NET Core MVC
ASP .NET Core MVCASP .NET Core MVC
ASP .NET Core MVC
 
Treinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVCTreinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVC
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São Carlos
 
MVC, MVP e MVVM: Uma Comparação de Padrões Arquiteturais
MVC, MVP e MVVM: Uma Comparação de Padrões ArquiteturaisMVC, MVP e MVVM: Uma Comparação de Padrões Arquiteturais
MVC, MVP e MVVM: Uma Comparação de Padrões Arquiteturais
 
Asp net mvc
Asp net mvcAsp net mvc
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
 
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
 
Aula1
Aula1Aula1
Aula1
 
ASP.NET Web Forms X ASP.NET MVC
ASP.NET Web Forms X ASP.NET MVCASP.NET Web Forms X ASP.NET MVC
ASP.NET Web Forms X ASP.NET MVC
 
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
 
Padrões de Projeto Web e o MVC
Padrões de Projeto Web e o MVCPadrões de Projeto Web e o MVC
Padrões de Projeto Web e o MVC
 
Apresentação mvc
Apresentação mvcApresentação mvc
Apresentação mvc
 
Asp.Net Mvc
Asp.Net MvcAsp.Net Mvc
Asp.Net Mvc
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Introdução ao Asp.NET MVC
Introdução ao Asp.NET MVCIntrodução ao Asp.NET MVC
Introdução ao Asp.NET MVC
 
Ebook AngularJS | Guia Introdutório
Ebook AngularJS | Guia Introdutório Ebook AngularJS | Guia Introdutório
Ebook AngularJS | Guia Introdutório
 
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
 
Java Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e ServletsJava Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e Servlets
 

ASP.NET MVC - Model Binding