Aslında URLRouting şu anda ASP.NET MVC'de ve DynamicData projelerinde zaten kullanılıyor. Birkaç takla atarak aynı kütüphaneleri normal ASP.NET projelerine almak da mümkün. ASP.NET 4.0 tarafında ise çok daha rahat kullanıma sahip bir şekilde URLRouting karşımıza çıkıyor.
İlk olarak gelin Routing kurallarımızı belirleyelim. Bunun için sitemize bir Global.asax dosyası ekleyerek Application'ın Start event'ında gerekli tanımlamaları yapabiliyoruz.
"Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
Routing.RouteTable.Routes.Add("Sayfalar",
new Routing.Route("sayfa/{adi}",
new Web.Routing.PageRouteHandler("~/sayfa.aspx")))
End Sub"
Yukarıda gördüğünüz kod içerisinde sanal yol olarak tanımladığımız sayfa/Daron şeklindeki adresleri sayfa.aspx'e yönlendiriyoruz. Peki "daron" parametresine ne oldu dediğinizi duyar gibiyim. Dikkat ettiyseniz aslında Daron parametresini adi adında bir değişkene aktarmış olduk. Bu değişken otomatik olarak sayfa.aspx'e gönderilecek. Sayfa.aspx içerisinde bu gibi parametrelere ulaşmak için de aşağıdaki kodu kullanabiliyoruz.
"Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim Gelen As String = Page.RouteData.Values("adi")
Response.Write(Gelen)
End Sub"
İşte bu kadar basit. Ne kadar kolay değil mi? İsterseniz Application Startup durumda çok sayıda Routing tanımlayabilirsiniz. Tüm bu Routingler içerisindeki değerler uygun sayfalara parametre olarak gönderilecektir. Söz konusu sayfalar da bu parametreleri alarak gerekli işlemleri yapabilirler.
RouteUrl ve RouteValue
Peki ya belirli bir sayfadan diğerine link vereceksek? Hatta link verilen sayfada da parametreyi sayfa içerisindeki HTML kodunda kullanacaksak? Bir üstteki örnekte basit bir şekilde "Daron" parametresini sayfa Routing'ine gönderdik ve sayfa.aspx de bunu alıp ekrana yazdı. Oysa bunu yapmanın çok daha kolay bir yolu daha var.
Gördüğünüz gibi expression builderlar kullanarak hızlıca gerekli linki yaratabiliyoruz. İşin güzel tarafı eğer Global.asax içerisinde parametre olarak "adi" parametresini alan Routing kuralını değiştirirseniz bir anda tüm projenizdeki linklerin de uygun şekilde değişip güncel hallerinin yaratılıyor olması. Böylece hiç uğraşmadan dinamik bir altyapı yaratmış oluyorsunuz.
"< id="form1" runat="server">
< id="Label1" runat="server" text="">" />
< /form>
Ayrıca yukarıdaki şekilde herhangi bir sayfaya gelen parametreyi de RouteValue expression ile rahatlıkla alıp sayfada kullanabilirsiniz.
*Daron Yöndem
0 yorum:
Yorum Gönder