Desenvolvimento - C#

URL Routing com o Visual Studio .NET 2010

Nesse artigo gostaria de mostrar mais uma inovação da Microsoft com o Visual Studio .NET 2010 e framework 4.0.

por Mauricio Junior



Olá Internautas,

Hoje gostaria de falar e mostrar mais uma inovação da Microsoft com o Visual Studio .NET 2010 e framework 4.0. Antigamente, ou seja, nas versões anteriores tanto do framework e ferramenta de desenvolvimento, publiquei uma maneira de customizar URL para melhor indexação nas ferramentas de busca.

Requisito:
Visual Studio .NET 2010
Framework .NET 4.0
Linguagem C#

Como falado anteriormente, publiquei dia 17/12/2008 um artigo falando como customizar URL para melhor indexação nos sites de busca, dei o nome de URL indexável.

Hoje, ao estudar a nova ferramenta da Microsoft, percebi que foi embutido uma nova forma de fazer isso com mais facilidade. A primeira facilidade é 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.

Continua da mesma forma conforme o artigo criado e falado anteriormente, alguns detalhes foram alterados. É necessário modificar o arquivo Global da aplicação. (Code 1.1)
Global.asax.cs	
public class Global: System.Web.HttpApplication
{
	public void RegisterRoutes(RouteCollection routes)
	{
		routes.MapPageRoute("products-browser", //Nome amigável
		Products/{category}", //URL que vai ficar
		"~/Products.aspx"); //página de execução
	}
	
	protected void Application_Start(object sender, EventArgs e)
	{
		RegisterRoutes(RouteTable.Routes);
	}
}
Referência Code 1.1

O Code 1.1 mostra dois métodos responsáveis pela rotulação da URL. O 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. Code 1.2
protected void Page_Load(object sender, EventArgs e)
{
	string category = Page.RouteData.Values["category"] as string;
	
	//chama o método para preencher algum grid
	preencherGrid(category)
}
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 tranformou 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 pode entrar em contato pelo site.
Mauricio Junior

Mauricio Junior - Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando Mestrado na UNB Engenharia Elétrica; . Tenho 29 anos e possuo sete livros publicados pela editora Ciência Moderna e sou editor do Linha de Código.
Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A.
Blog:
blog.mauriciojunior.org
Site pessoal: www.mauriciojunior.org