Dev (Back & Front)ARTIGO

URL Routing com o Visual Studio .NET 2010

Olá, Internautas! Hoje gostaria de falar e mostrar mais uma inovação da Microsoft com o Visual Studio .NET 2010 e framework 4.0. Já publiquei um artigo sobre uma maneira de customizar URLs para melhor indexação nas ferramentas de busca, mas usando versões anteriores do framework e da ferramenta de desenvolvimento. 

Nas novas versões foi
embutida uma nova forma de fazer isso, com mais facilidade. A primeira maneira é com o MVC. A forma de criar um projeto do tipo MVC (Model,
View, Controller) já torna a URL mais amigável. Não só para sites de
busca, mas também para pessoas que utilizam outros dispositivos para
acessar o site como celular, smartphone, tablets. Além do MVC, foi
colocado um código simples para customizar URL sem que o projeto seja do
tipo MVC.

É isso que vou mostrar neste artigo.

Requisitos:

  • Visual Studio .NET 2010
  • Framework .NET 4.0
  • Linguagem C#

Leia este meu artigo para entender como funciona. Continua da mesma forma, mas alguns detalhes foram alterados. É necessário modificar o arquivo Global da aplicação. Veja:

Global.asax.cs    

public class Global: System.Web.HttpApplication<br />{<br />    public void RegisterRoutes(RouteCollection routes)<br />    {<br />        routes.MapPageRoute("products-browser",            //Nome amigável<br />                            Products/{category}",        //URL que vai ficar<br />                            "~/Products.aspx");            //página de execução<br />    }<br /><br />    protected void Application_Start(object sender, EventArgs e)<br />    {<br />        RegisterRoutes(RouteTable.Routes);<br />    }<br />}

Referência Code 1.1

O Code 1.1 mostra dois métodos responsáveis pela rotulação da URL. No primeiro método, “RegisterRoutes”, eu usei o “MapPageRoute” passando um nome amigável, o padrão de como vai ficar a URL e a página de execução.

O segundo método criado, “Application_Start”, serve apenas para registrar que a rotulação da URL fosse feita; “RegisterRoutes”.
   
Depois disso, na página de execução chamada “products.aspx”, coloquei uma linha de código necessária para o funcionamento da aplicação.    

protected void Page_Load(object sender, EventArgs e)<br />{<br />    string category = Page.RouteData.Values["category"] as string;<br /><br />    //chama o método para preencher algum grid<br />    preencherGrid(category)<br />}

Referência 1.2

O Code 1.2 mostra o page_load registrando o parâmetro passado pelo router, por exemplo: http://localhost/product/1. Esse “1” é pego e pesquisado normalmente depois de passado pelo Global.asax.

Funciona que é uma beleza, pois pegou um valor http://localhost/product.aspx?category=1 e transformou em http://localhost/product/1. Essa foi uma nova maneira de deixar integrado e funcionando o Routing URL para o projeto que não é do tipo MVC usando o Visual Studio .NET 2010.
   
Espero que tenha gostado e qualquer dúvida é só entrar em contato.
   

Com mais de 20 anos trabalhando no mercado de tecnologia. Mestre em Engenharia Elétrica voltada para o mundo mobile, com mais de 20 livros publicados e cerca de 700 artigos publicados com intuito de ajudar àqueles que querem aprender a programar (site, software, desktop, serviços, api e mobile). Site pessoal: https://www.mauriciojunior.net - MVP, MCAD, MCP Microsoft

Ver perfil