UrlRouting
UrlRouting

Asp.Net 4.0 ile gelen yeniliklerden en can alıcısı sanıyorum ki UrlRouting. daha önceleri UrlRewrite için bolca zahmete giriyorduk veya bu işlemleri gerçekleştirmek için farklı kütüphaneler kullanıyorduk fakat asp ve php de kolayca yapılabilen bu işlemlerin Asp.Net te olmamasına Microsoftda dayanamadı ve Asp.Net 4.0 ile UrlRouting olayını getirdi.öncelikle projemize bir Global.asax dosyası ekliyoruz ve en üst kısmınaUrlRouting namespacesini ekliyoruz<%@ Application Language="C#" %><%@ Import Namespace="System.Web.Routing" %>
ardındanherhangi bir boş alanda bir MapPageRoute verilerimizi ayarlayacağımız bir yordam tanımlıyoruzvoid Guzergahlar(RouteCollection routes){routes.MapPageRoute(“DuyuruRoute”, “Duyuru-{DUYURU_ID}-{DUYURU_BASLIK}.html”, “~/Duyuru.aspx”);}
burada Duyuru-{DUYURU_ID}-{DUYURU_BASLIK}.html kullanımındaki “-” işaretleri bizim için önemli çünkü routedatalarımızı bu şekilde birbirinden ayırıyoruzsonra global.asax dosyamızın uygulama başlangıcı kısmından yazmış olduğumuz yordamı çağırıyoruz.void Application_Start(object sender, EventArgs e){Guzergahlar(RouteTable.Routes);}
bu şekilde ayrı yapmamın amacı projemizin ileriki safhalarında Application_Start olayına başka şeylerde ekleyebilecek olursak karışıklık doğmaması içindirşimdi formumuza iki tane webform ekleyelim birincisinin adı default.aspx ikincisinin adı ise duyuru.aspx olsundefault.aspx dosyamıza bir link ekleyelim1. duyuru ve başlığı

sonra duyuru.aspx dosyamızın load olayına kodlarımızı yazarak gelen routedatalarımızı yakalayıp istediğimiz gibi kullanalım ben örnekte bunları düz olarak yazdıracağımprotected void Page_Load(object sender, EventArgs e){string duyuruid, duyurubaslik;duyuruid = RouteData.Values[“DUYURU_ID”].ToString();duyurubaslik = RouteData.Values[“DUYURU_BASLIK”].ToString();Response.Write(“Gelen Duyuru ID:” + duyuruid + ” Gelen Duyuru Başlığımız :” + duyurubaslik);}
querystring kullanımına alternatif, göze daha hoş gelen adres satırları ve arama motorları için daha verilmli bir web siteleri hazırlamak için çok güzel bir yöntem.aynı zamanda Datasource nesnelerinde where ID derken querystringle yakalama yapardık Asp.Net 4.0 ile DataSource nesnelerimize Route denen özelik eklenmiş.

DataSource
DataSource

çalışan uygulama için tıklayın