BT
x A sua opinião é importante! Por favor preencha a pesquisa do InfoQ sobre os seus hábitos de leitura!

Suporte a roteamento bi-direcional no ASP.NET Web Forms 4.0

por Jon Arild Tørresdal , traduzido por Flávia Castro de Oliveira em 19 Mar 2009 |

O ASP.NET Routing engine foi adicionado no .NET Framework 3.5 SP1. Agora a Microsoft adicionou o melhor suporte para o uso do engine no ASP.NET WebForms 4.0 usando expression builders permitindo o roteamento bi-direcional.

Channel9 apenas publicou um novo episódio 10-4 mostrando como usar esta nova funcionalidade no ASP.NET 4.0. No vídeo Jonathan Carter caminha através de um simples exemplo de como permitir isto em uma aplicação ASP.NET existente.

Abaixo está um resumo do código mostrado no vídeo. Eles usam o típico exemplo de como o Product.aspx?category=jerseys pode mapear o Product/Jerseys. Usando o ASP.NET Routing engine este mapeamento pode ser adicionado usando o RouteTable na Application_Start:

RouteTable.Routes.Add("Product",
new Route("Product/{name}",
new PageRouteHandler("~/Product.aspx")));

Para adicionar o suporte ao roteamento bi-direcional hoje, os usuários terão de usar URL rewriting na string de query. Entretanto, no ASP.NET 4.0 os usuários podem registrar o expression builder:

<system.web>
<compilation>
<expressionBuilders ...>
<add expressionPrefix="RouteUrl"
type="System.Web.Compilation.RouteUrlExpressionBuilder" />

<add expressionPrefix="RouteValue"
type="System.Web.Compilation.RouteValueExpressionBuilder" />
</expressionBuilders>
</compilation>
</system.web>

A primeira expression é para receber uma URL e a segunda e para receber um valor. O sinal $ é usado para acessar expressions de uma página aspx:

<asp:HyperLink NavigationUrl="<%$ RouteUrl:RouteName=Product, name=Jerseys"
     Text="Jerseys"
     runat="server" />

Para receber o valor do nome do atributo, os usuários usam o Route object em vez do Request object:

RouteData.Values["name"];

ou usam uma expression builder:

<%$ RouteValue:name %>

Ao usar o ASP.NET Routing e o novo suporte bi-direcional os usuários podem desassociar as URLs de um Web Form físico, permitindo URLs amigáveis e permitir que search engines possam identificá-las.

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2014 C4Media Inc.
Política de privacidade
BT