O documento resume as principais novidades do ASP.NET 4 Web Forms, incluindo:
1) Melhorias nos controlos existentes e maior controlo sobre o código HTML gerado;
2) Novas funcionalidades como ClientIDMode, ViewStateMode e URL Routing para customizar IDs, habilitar/desabilitar view state e criar URLs amigáveis;
3) Demonstração destas 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
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...