SlideShare uma empresa Scribd logo
1 de 24
ASP .NET 4.0 WebForms,
 Novas Funcionalidades
Caio Proiete

•   10 anos de experiência profissional em TI
•   Microsoft Most Valuable Professional
•   Microsoft Certified Trainer @ CICLO
•   Líder da Comunidade NetPonto
ASP .NET 4 WebForms

• Melhoria nos controlos existentes
• Maior controlo do código HTML gerado
• Código HTML mais “limpo”

• Novas Funcionalidades
  • ClientIDMode
  • ViewStateMode
  • URL Routing
File -> New -> Project

Demo
ClientIDMode e ViewStateMode

Parte II / III
ASP .NET <= 3.5: ClientID
    1) Master Page ("Conteudo")          Hierarquia
                                         dos Controlos




• ID dos controlos no HTML (ClientID):
   • ctl00_Conteudo
   • ctl00_Conteudo_Formulario
   • ctl00_Conteudo_Formulario_Nome
ASP .NET <= 3.5: ClientID
    1) Master Page ("Conteudo")          Hierarquia
                                         dos Controlos
    2) UserControl ("Formulario")




• ID dos controlos no HTML (ClientID):
   • ctl00_Conteudo
   • ctl00_Conteudo_Formulario
   • ctl00_Conteudo_Formulario_Nome
ASP .NET <= 3.5: ClientID
    1) Master Page ("Conteudo")          Hierarquia
                                         dos Controlos
    2) UserControl ("Formulario")

        3) TextBox ("Nome")




• ID dos controlos no HTML (ClientID):
   • ctl00_Conteudo
   • ctl00_Conteudo_Formulario
   • ctl00_Conteudo_Formulario_Nome
ASP .NET 4: ClientIDMode

• ClientIDMode permite customizar os IDs
  gerados para os controlos.

• AutoID - Idêntico ao ASP .NET <= 3.5
• Inherit - Herda o valor do container (default)
• Predictable - Concatenação dos nomes dos
  containers sem prefixos e sufixos ctlxxx.
• Static - Mantém o valor definido (não altera)
ASP .NET <= 3.5: EnableViewState

• EnableViewState precisa ser incluído
  invidualmente em cada controlo.

• Se desabilitar ao nível da página, desabilita
  para todos os controlos e ignora a definição
  nos controlos “filhos”.
ASP .NET 4: ViewStateMode

• ViewStateMode permite desabilitar o
  ViewState para toda a página, e habilitar
  apenas nos controlos desejados.

• Disabled - Desabilita o ViewState
• Enabled - Habilita o ViewState
• Inherit - Herda o valor do container
ClientIDMode e ViewStateMode

Demo
URL Routing

Parte III / III
ASP .NET 4: URL Routing

• Permite criar URLs mais legíveis e melhores
  para serem indexadas por mecanismos de
  busca (SEO-friendly).
  Ao invés de:
  /Produtos.aspx?cat=bebidas&subcat=vinhos
  /Produtos.aspx?cat=frescos&subcat=peixaria

  Utilize:
  /produtos/bebidas/vinhos
  /produtos/frescos/peixaria
ASP .NET 4: URL Routing

• Define-se o mapa das rotas no método
  Application_Start do Global.asax
 protected void Application_Start(object sender, EventArgs e)
 {
     RouteTable.Routes.MapPageRoute(
         "rotaProdutos",
         "produtos/{categoria}/{subcategoria}",
         "~/ListaDeProdutos.aspx");
 }
ASP .NET 4: URL Routing

• Define-se o mapa das rotas no método
  Application_Start do Global.asax
  protected void Application_Start(object sender, EventArgs e)
  {
      RouteTable.Routes.MapPageRoute(
          "rotaProdutos",
          "produtos/{categoria}/{subcategoria}",
          "~/ListaDeProdutos.aspx");
  }


Qualquer requisição que coincidir com este padrão, será tratada pela
página ListaDeProdutos.aspx
ASP .NET 4: URL Routing

• Na página, utiliza-se a colecção
  Page.RouteData.Values para obter os
  valores na URL
 protected void Page_Load(object sender, EventArgs e)
 {
     string categoria =
         (string)Page.RouteData.Values["categoria"];
 }
ASP .NET 4: URL Routing

• Para redireccionar para outra rota, utiliza-se
  o Response.RedirectToRoute
 protected void Page_Load(object sender, EventArgs e)
 {
     Response.RedirectToRoute("rotaProdutos",
         new { categoria = "Mercearia" });
 }
URL Routing

Demo
Resumo

• Diversas melhorias no ASP.NET 4 Web Forms
  • Melhorias nos controlos existentes
  • Maior controlo do HTML gerado
  • URLs lógicas e intuitivas com URL Routing


• E muito mais...
Q&A
A sua opinião é importante!
Complete o questionário de
avaliação e devolva-o à saida.
ASP .NET 4.0 WebForms, Novas funcionalidades
ASP .NET 4.0 WebForms, Novas funcionalidades

Mais conteúdo relacionado

Semelhante a ASP .NET 4.0 WebForms, Novas funcionalidades

ASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre TarifaASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre Tarifaguestea329c
 
Windows Azure 5/8 - Recursos adicionais do Windows Azure
Windows Azure 5/8 - Recursos adicionais do Windows AzureWindows Azure 5/8 - Recursos adicionais do Windows Azure
Windows Azure 5/8 - Recursos adicionais do Windows AzureVitor Ciaramella
 
[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
 
Play Framework - FLISOL
Play Framework - FLISOLPlay Framework - FLISOL
Play Framework - FLISOLgrupoweblovers
 
PDC - Engenharia - Plataforma Microsoft .NET
PDC - Engenharia - Plataforma Microsoft .NETPDC - Engenharia - Plataforma Microsoft .NET
PDC - Engenharia - Plataforma Microsoft .NETslides_teltools
 
JavaOne LATAM 2016 - Combinando AngularJS com Java EE
JavaOne LATAM 2016 - Combinando AngularJS com Java EEJavaOne LATAM 2016 - Combinando AngularJS com Java EE
JavaOne LATAM 2016 - Combinando AngularJS com Java EERodrigo Cândido da Silva
 
365on Lab Asp.Net MVC Fundamentos 01 Overview
365on Lab Asp.Net MVC Fundamentos 01 Overview365on Lab Asp.Net MVC Fundamentos 01 Overview
365on Lab Asp.Net MVC Fundamentos 01 OverviewAlexsandro Almeida
 
Backbone.js nas trincheiras
Backbone.js nas trincheirasBackbone.js nas trincheiras
Backbone.js nas trincheirasLambda 3
 
BarCamp 2007 - CodeIgniter e OncologiaPediátrica.org
BarCamp 2007 - CodeIgniter e OncologiaPediátrica.orgBarCamp 2007 - CodeIgniter e OncologiaPediátrica.org
BarCamp 2007 - CodeIgniter e OncologiaPediátrica.orgjqrd
 
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 01Maurício Linhares
 
Google Analytics Reporting API: Bebendo água direto da fonte
Google Analytics Reporting API: Bebendo água direto da fonteGoogle Analytics Reporting API: Bebendo água direto da fonte
Google Analytics Reporting API: Bebendo água direto da fonteJohann Vivot
 

Semelhante a ASP .NET 4.0 WebForms, Novas funcionalidades (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
 
Windows Azure 5/8 - Recursos adicionais do Windows Azure
Windows Azure 5/8 - Recursos adicionais do Windows AzureWindows Azure 5/8 - Recursos adicionais do Windows Azure
Windows Azure 5/8 - Recursos adicionais do Windows Azure
 
[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
 
Wicket 2008
Wicket 2008Wicket 2008
Wicket 2008
 
Play Framework - FLISOL
Play Framework - FLISOLPlay Framework - FLISOL
Play Framework - FLISOL
 
Spring MVC - QConSP
Spring MVC - QConSPSpring MVC - QConSP
Spring MVC - QConSP
 
Python 07
Python 07Python 07
Python 07
 
PDC - Engenharia - Plataforma Microsoft .NET
PDC - Engenharia - Plataforma Microsoft .NETPDC - Engenharia - Plataforma Microsoft .NET
PDC - Engenharia - Plataforma Microsoft .NET
 
Palestra ASP.NET MVC
Palestra ASP.NET MVCPalestra ASP.NET MVC
Palestra ASP.NET MVC
 
Ruby On Rails Regis
Ruby On Rails RegisRuby On Rails Regis
Ruby On Rails Regis
 
JavaOne LATAM 2016 - Combinando AngularJS com Java EE
JavaOne LATAM 2016 - Combinando AngularJS com Java EEJavaOne LATAM 2016 - Combinando AngularJS com Java EE
JavaOne LATAM 2016 - Combinando AngularJS com Java EE
 
365on Lab Asp.Net MVC Fundamentos 01 Overview
365on Lab Asp.Net MVC Fundamentos 01 Overview365on Lab Asp.Net MVC Fundamentos 01 Overview
365on Lab Asp.Net MVC Fundamentos 01 Overview
 
Tutorial struts
Tutorial strutsTutorial struts
Tutorial struts
 
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
 
BarCamp 2007 - CodeIgniter e OncologiaPediátrica.org
BarCamp 2007 - CodeIgniter e OncologiaPediátrica.orgBarCamp 2007 - CodeIgniter e OncologiaPediátrica.org
BarCamp 2007 - CodeIgniter e OncologiaPediátrica.org
 
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
 
Google Analytics Reporting API: Bebendo água direto da fonte
Google Analytics Reporting API: Bebendo água direto da fonteGoogle Analytics Reporting API: Bebendo água direto da fonte
Google Analytics Reporting API: Bebendo água direto da fonte
 

Mais de C. Augusto Proiete

Developing Windows 8 Apps with HTML and JavaScript - Codebits 2012
Developing Windows 8 Apps with HTML and JavaScript - Codebits 2012Developing Windows 8 Apps with HTML and JavaScript - Codebits 2012
Developing Windows 8 Apps with HTML and JavaScript - Codebits 2012C. Augusto Proiete
 
Windows 8: Desenvolvimento de Metro Style Apps
Windows 8: Desenvolvimento de Metro Style AppsWindows 8: Desenvolvimento de Metro Style Apps
Windows 8: Desenvolvimento de Metro Style AppsC. Augusto Proiete
 
Reporting Services 2008 R2: Novidades
Reporting Services 2008 R2: NovidadesReporting Services 2008 R2: Novidades
Reporting Services 2008 R2: NovidadesC. Augusto Proiete
 
Microsoft MVP 2011 ERL - C. Augusto Proiete
Microsoft MVP 2011 ERL - C. Augusto ProieteMicrosoft MVP 2011 ERL - C. Augusto Proiete
Microsoft MVP 2011 ERL - C. Augusto ProieteC. Augusto Proiete
 
Microsoft Transcript Report - C. Augusto Proiete
Microsoft Transcript Report - C. Augusto ProieteMicrosoft Transcript Report - C. Augusto Proiete
Microsoft Transcript Report - C. Augusto ProieteC. Augusto Proiete
 
Funcionalidades de Acesso a Dados no 'Mango'
Funcionalidades de Acesso a Dados no 'Mango'Funcionalidades de Acesso a Dados no 'Mango'
Funcionalidades de Acesso a Dados no 'Mango'C. Augusto Proiete
 
Controlo de Versões Distribuído com Git
Controlo de Versões Distribuído com GitControlo de Versões Distribuído com Git
Controlo de Versões Distribuído com GitC. Augusto Proiete
 
Novidades ASP .NET MVC 3 (BETA)
Novidades ASP .NET MVC 3 (BETA)Novidades ASP .NET MVC 3 (BETA)
Novidades ASP .NET MVC 3 (BETA)C. Augusto Proiete
 
Inversão de Controlo e Injecção de Dependência na .NET Framework
Inversão de Controlo e Injecção de Dependência na .NET FrameworkInversão de Controlo e Injecção de Dependência na .NET Framework
Inversão de Controlo e Injecção de Dependência na .NET FrameworkC. Augusto Proiete
 
Entity Framework 4, Novas funcionalidades
Entity Framework 4, Novas funcionalidadesEntity Framework 4, Novas funcionalidades
Entity Framework 4, Novas funcionalidadesC. Augusto Proiete
 
Novidades do Visual Basic .NET 10
Novidades do Visual Basic .NET 10Novidades do Visual Basic .NET 10
Novidades do Visual Basic .NET 10C. Augusto Proiete
 
Nova Geração de Certificações Microsoft Visual Studio 2008 e Visual Studio 2010
Nova Geração de Certificações Microsoft Visual Studio 2008 e Visual Studio 2010Nova Geração de Certificações Microsoft Visual Studio 2008 e Visual Studio 2010
Nova Geração de Certificações Microsoft Visual Studio 2008 e Visual Studio 2010C. Augusto Proiete
 
Introdução ao WCF - Windows Communication Foundation
Introdução ao WCF - Windows Communication FoundationIntrodução ao WCF - Windows Communication Foundation
Introdução ao WCF - Windows Communication FoundationC. Augusto Proiete
 
Apresentação da Comunidade NetPonto
Apresentação da Comunidade NetPontoApresentação da Comunidade NetPonto
Apresentação da Comunidade NetPontoC. Augusto Proiete
 

Mais de C. Augusto Proiete (18)

Developing Windows 8 Apps with HTML and JavaScript - Codebits 2012
Developing Windows 8 Apps with HTML and JavaScript - Codebits 2012Developing Windows 8 Apps with HTML and JavaScript - Codebits 2012
Developing Windows 8 Apps with HTML and JavaScript - Codebits 2012
 
Windows 8: Desenvolvimento de Metro Style Apps
Windows 8: Desenvolvimento de Metro Style AppsWindows 8: Desenvolvimento de Metro Style Apps
Windows 8: Desenvolvimento de Metro Style Apps
 
Reporting Services 2008 R2: Novidades
Reporting Services 2008 R2: NovidadesReporting Services 2008 R2: Novidades
Reporting Services 2008 R2: Novidades
 
Microsoft MVP 2011 ERL - C. Augusto Proiete
Microsoft MVP 2011 ERL - C. Augusto ProieteMicrosoft MVP 2011 ERL - C. Augusto Proiete
Microsoft MVP 2011 ERL - C. Augusto Proiete
 
Microsoft Transcript Report - C. Augusto Proiete
Microsoft Transcript Report - C. Augusto ProieteMicrosoft Transcript Report - C. Augusto Proiete
Microsoft Transcript Report - C. Augusto Proiete
 
Funcionalidades de Acesso a Dados no 'Mango'
Funcionalidades de Acesso a Dados no 'Mango'Funcionalidades de Acesso a Dados no 'Mango'
Funcionalidades de Acesso a Dados no 'Mango'
 
Novidades do ASP .NET MVC 3
Novidades do ASP .NET MVC 3Novidades do ASP .NET MVC 3
Novidades do ASP .NET MVC 3
 
Controlo de Versões Distribuído com Git
Controlo de Versões Distribuído com GitControlo de Versões Distribuído com Git
Controlo de Versões Distribuído com Git
 
Novidades ASP .NET MVC 3 (BETA)
Novidades ASP .NET MVC 3 (BETA)Novidades ASP .NET MVC 3 (BETA)
Novidades ASP .NET MVC 3 (BETA)
 
Inversão de Controlo e Injecção de Dependência na .NET Framework
Inversão de Controlo e Injecção de Dependência na .NET FrameworkInversão de Controlo e Injecção de Dependência na .NET Framework
Inversão de Controlo e Injecção de Dependência na .NET Framework
 
Entity Framework 4, Novas funcionalidades
Entity Framework 4, Novas funcionalidadesEntity Framework 4, Novas funcionalidades
Entity Framework 4, Novas funcionalidades
 
Novidades do CSharp 4.0
Novidades do CSharp 4.0Novidades do CSharp 4.0
Novidades do CSharp 4.0
 
Novidades do Visual Basic .NET 10
Novidades do Visual Basic .NET 10Novidades do Visual Basic .NET 10
Novidades do Visual Basic .NET 10
 
Nova Geração de Certificações Microsoft Visual Studio 2008 e Visual Studio 2010
Nova Geração de Certificações Microsoft Visual Studio 2008 e Visual Studio 2010Nova Geração de Certificações Microsoft Visual Studio 2008 e Visual Studio 2010
Nova Geração de Certificações Microsoft Visual Studio 2008 e Visual Studio 2010
 
Introdução ao WCF - Windows Communication Foundation
Introdução ao WCF - Windows Communication FoundationIntrodução ao WCF - Windows Communication Foundation
Introdução ao WCF - Windows Communication Foundation
 
ASP .NET MVC na Prática
ASP .NET MVC na PráticaASP .NET MVC na Prática
ASP .NET MVC na Prática
 
Introdução ao ASP .NET MVC
Introdução ao ASP .NET MVCIntrodução ao ASP .NET MVC
Introdução ao ASP .NET MVC
 
Apresentação da Comunidade NetPonto
Apresentação da Comunidade NetPontoApresentação da Comunidade NetPonto
Apresentação da Comunidade NetPonto
 

ASP .NET 4.0 WebForms, Novas funcionalidades

  • 1. ASP .NET 4.0 WebForms, Novas Funcionalidades
  • 2. Caio Proiete • 10 anos de experiência profissional em TI • Microsoft Most Valuable Professional • Microsoft Certified Trainer @ CICLO • Líder da Comunidade NetPonto
  • 3. ASP .NET 4 WebForms • Melhoria nos controlos existentes • Maior controlo do código HTML gerado • Código HTML mais “limpo” • Novas Funcionalidades • ClientIDMode • ViewStateMode • URL Routing
  • 4. File -> New -> Project Demo
  • 6. ASP .NET <= 3.5: ClientID 1) Master Page ("Conteudo") Hierarquia dos Controlos • ID dos controlos no HTML (ClientID): • ctl00_Conteudo • ctl00_Conteudo_Formulario • ctl00_Conteudo_Formulario_Nome
  • 7. ASP .NET <= 3.5: ClientID 1) Master Page ("Conteudo") Hierarquia dos Controlos 2) UserControl ("Formulario") • ID dos controlos no HTML (ClientID): • ctl00_Conteudo • ctl00_Conteudo_Formulario • ctl00_Conteudo_Formulario_Nome
  • 8. ASP .NET <= 3.5: ClientID 1) Master Page ("Conteudo") Hierarquia dos Controlos 2) UserControl ("Formulario") 3) TextBox ("Nome") • ID dos controlos no HTML (ClientID): • ctl00_Conteudo • ctl00_Conteudo_Formulario • ctl00_Conteudo_Formulario_Nome
  • 9. ASP .NET 4: ClientIDMode • ClientIDMode permite customizar os IDs gerados para os controlos. • AutoID - Idêntico ao ASP .NET <= 3.5 • Inherit - Herda o valor do container (default) • Predictable - Concatenação dos nomes dos containers sem prefixos e sufixos ctlxxx. • Static - Mantém o valor definido (não altera)
  • 10. ASP .NET <= 3.5: EnableViewState • EnableViewState precisa ser incluído invidualmente em cada controlo. • Se desabilitar ao nível da página, desabilita para todos os controlos e ignora a definição nos controlos “filhos”.
  • 11. ASP .NET 4: ViewStateMode • ViewStateMode permite desabilitar o ViewState para toda a página, e habilitar apenas nos controlos desejados. • Disabled - Desabilita o ViewState • Enabled - Habilita o ViewState • Inherit - Herda o valor do container
  • 14. ASP .NET 4: URL Routing • Permite criar URLs mais legíveis e melhores para serem indexadas por mecanismos de busca (SEO-friendly). Ao invés de: /Produtos.aspx?cat=bebidas&subcat=vinhos /Produtos.aspx?cat=frescos&subcat=peixaria Utilize: /produtos/bebidas/vinhos /produtos/frescos/peixaria
  • 15. ASP .NET 4: URL Routing • Define-se o mapa das rotas no método Application_Start do Global.asax protected void Application_Start(object sender, EventArgs e) { RouteTable.Routes.MapPageRoute( "rotaProdutos", "produtos/{categoria}/{subcategoria}", "~/ListaDeProdutos.aspx"); }
  • 16. ASP .NET 4: URL Routing • Define-se o mapa das rotas no método Application_Start do Global.asax protected void Application_Start(object sender, EventArgs e) { RouteTable.Routes.MapPageRoute( "rotaProdutos", "produtos/{categoria}/{subcategoria}", "~/ListaDeProdutos.aspx"); } Qualquer requisição que coincidir com este padrão, será tratada pela página ListaDeProdutos.aspx
  • 17. ASP .NET 4: URL Routing • Na página, utiliza-se a colecção Page.RouteData.Values para obter os valores na URL protected void Page_Load(object sender, EventArgs e) { string categoria = (string)Page.RouteData.Values["categoria"]; }
  • 18. ASP .NET 4: URL Routing • Para redireccionar para outra rota, utiliza-se o Response.RedirectToRoute protected void Page_Load(object sender, EventArgs e) { Response.RedirectToRoute("rotaProdutos", new { categoria = "Mercearia" }); }
  • 20. Resumo • Diversas melhorias no ASP.NET 4 Web Forms • Melhorias nos controlos existentes • Maior controlo do HTML gerado • URLs lógicas e intuitivas com URL Routing • E muito mais...
  • 21. Q&A
  • 22. A sua opinião é importante! Complete o questionário de avaliação e devolva-o à saida.