(Kategoriler : Asp.NET | Güncel | Etiketler : Asp.NET | Url Routing | Eklenme Tarihi : 2010/01/25 03:46 VM. | Yorum Sayısı : 0 )

Merhaba arkadaşlar;

Bu makalemizde Asp.NET ile birlikte gelen URL Routing özelliğini inceleyeceğiz. Aslında bu özelliği biz daha önceden URL Rewriting olarak kulanıyorduk. Asp.NET Beta2 ile birlikte artık karşımıza URL Routing olarak çıkıyor.

Peki Nedir bu URL Routing ?

URL Routing; URL'lerimizin daha anlaşılır hale gelmesini sağlar ve URL okunabilme kolaylığından dolayı sitemizin Google gibi arama motorlarında daha üst sıralarda çıkmasını sağlar. Sitemizde Urun.aspx?Kategori=Elektronik&Urun=Bilgisayar olarak link verip daha sonrasında da Querystring'le Kategori ve Urun'ü çağırarak işlemlerimizi yapabiliyoruz. Fakat bunu biraz daha anlaşılır hale getirebiliriz. Örneğin; sitemiz.com/Urun/Elektronik/Bilgisayar gibi link vermemiz hem Url okunabilirliğini arttıracaktır, hemde google gibi arama motorlarında üst sıralarda çıkmamızı sağlayacaktır.

Bunun için öncelikle Asp.NET 4.0 Bir web projesi oluşturuyoruz. Oluşturduğumuz projenin Global.asax dosyası içinde, Application Start metodu içinde yönlendirme işlemlerini ve hangi sayfada işlem yapacağını tanımlıyoruz.

 

void Application_Start(object sender, EventArgs e)
{
RouteTable.Routes.Add("kategori",new Route("Urun/{kategoriadi}", new PageRouteHandler("~/Default.aspx")));
RouteTable.Routes.Add("urun", new Route("Urun/{kategoriadi}/{urunadi}" + ".htm", new PageRouteHandler("~/Default.aspx")));
}

 

Şimdi yönlendirme işlemlerimizi tamamlamış olduk. Daha sonrasında Linklerimizi Urun/-kategoriadi-/-urunadi- olarak verebiliriz. Daha sonrasında PageRouteHandler olarak tanımlamış olduğumuz Default.aspx sayfamızın kod bölümüne geçerek PageLoad event'ine şu kodları yazıyoruz.

 

if (RouteData.Values["urunadi"] != null)
{
Response.Write("Şu an <b> " + RouteData.Values["kategoriadi"].ToString() + " </b> kategorisinde <b> " + RouteData.Values["urunadi"].ToString() + " </b> ürününü inceliyorsunuz.");
}

Global.asax dosyamızda yönlendirmesini yaptığımız URL'yi Default.aspx içinde RouteData.Value ile yakalıyoruz ve işlemlerimizi yaptırabiliyoruz. Ben sadece ekrana hangi kategoride ve hangi üründe olduğunu yazdırdım. Siz gelen parametrelere göre veritabanından verilerinizi çekebilir, ona göre verilerinizi kullanıcıya gösterebilirsiniz. Global.asax içinde tanımlama yaparken {urunadi}" + ".htm" kullanmıştım ben. Siz istediğiniz uzantıyı vererek URL Routing'inizi geliştirebilirsiniz.



Bu makalede sadece URL Routing kullanımını kısaca görmüş olduk. Sonrasında URL Routing özelleştime konusuna değiniyor olacağız.

İyi çalışmalar.

İsmail ŞEN