ASP.NET MVC - Model Binding

1,483 views
1,355 views

Published on

Apresentação realizada no dia 26/01/2011 no grupo sharp

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,483
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

ASP.NET MVC - Model Binding

  1. 1. ASP.NET MVC ModelBinding<br />SharpShooters<br />Fernando Kakimoto<br />(@nandokakimoto)<br />
  2. 2. Quem Sou Eu?<br />
  3. 3. O que é ModelBinding?<br />
  4. 4. O que é ModelBinding?<br />Mecanismo do ASP.NET MVC paramapear dados de umarequisição HTTP emparâmetros de Action Methods e objetos .NET<br />
  5. 5. Começando com um Exemplo<br />
  6. 6. Como ModelBinding Funciona?<br />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<br />
  7. 7. Como ModelBinding Funciona?<br />
  8. 8. Como ModelBinding Funciona?<br />
  9. 9. Como ModelBinding Funciona?<br />O framework utiliza a convençãonomeDoParâmetro.NomeDaPropriedadeparaassegurarque o bindaconteça no parâmetrocorreto<br />
  10. 10. Como ModelBinding Funciona?<br />
  11. 11. Como ModelBinding Funciona?<br />Sem ModelBinding<br />Com ModelBinding<br />
  12. 12. Como ModelBinding Funciona?<br />DefaultModelBinderusareflectionpara saber quaispropriedadespúblicasestãoexpostasemtiposcomplexos<br />
  13. 13. Como ModelBinding Funciona?<br />View fortemente tipada?<br />
  14. 14. Particularidades do ModelBindind no ASP.NET MVC<br />
  15. 15. Escolhendo um Subconjunto de Propriedades <br />Evitar bind através de parâmetros na URL<br />
  16. 16. Invocando ModelBinding<br />Controle explicito<br />Instanciação dos objetos<br />Provedor de dados<br />Tratamento de erros<br />
  17. 17. Invocando ModelBinding<br />Instanciação dos Objetos<br />
  18. 18. Invocando ModelBinding<br />Provedor de Dados<br />
  19. 19. Invocando ModelBinding<br />Tratamento de Erros<br />Informaçãoenviadapelousuárionuncadeve ser descartada, mesmo se inválida<br />Quandoexistemmúltiploserros, o sistemadeveinformarsobretodoseles<br />Erros de bindnãodevem ser ignorados<br />
  20. 20. Invocando ModelBinding<br />Tratamento de Erros<br />Utiliza o objeto ModelState<br />Cada tentativa de bind armazena o nome da propriedade, o valor de entrada e os erros causados pela atribuição<br />
  21. 21. Invocando ModelBinding<br />Tratamento de Erros<br />
  22. 22. Invocando ModelBinding<br />Tratamento de Erros<br />
  23. 23. ModelBinding em Coleções<br />
  24. 24. ModelBinding em Coleções<br />
  25. 25. ModelBinding em Coleções<br />
  26. 26. Estendendo o sistema de ModelBinding do ASP.NET MVC<br />
  27. 27. Implementando IValueProvider<br />Permite fornecer dados extras ao sistema de ModelBinding do ASP.NET MVC<br />
  28. 28. Implementando IValueProvider<br />
  29. 29. Implementando IValueProvider<br />
  30. 30. Implementando IModelBinder<br />Permite configurar formas diferentes de mapear dados de entrada em tipos específicos<br />
  31. 31. Implementando IModelBinder<br />
  32. 32. Implementando IValueProvider<br />
  33. 33. E Finalmente....<br />
  34. 34. Fazendo Upload de Arquivos<br />
  35. 35. Fazendo Upload de Arquivos<br />
  36. 36. ASP.NET MVC ModelBinding<br />SharpShooters<br />Fernando Kakimoto<br />(@nandokakimoto)<br />

×