Sayfa Yönlendirmek
14 Nisan 2008 Pazartesi
Bir web sayfasını yönlendirmek için bildiğim bazı yöntemleri yazayım istedim. Yönlendirmeleri
server tarafında yada client tarafında yapabiliriz. Önce html ve javascript ile
client tarafındaki yönlendirme tekniklerini ele alalım.
Meta Tag’ı Kullanmak
Html’in head tagları arasına bir meta refresh tagı eklersek. Content attribute’ünde
verdiğimiz süre sonra sayfayı yeniler ve belirttiğimiz adrese yönlenir. Eğer adres
belirtmezsek kendi kendini yeniler.
Mesela www.ntvmsnbc.com gibi haber sayfaları otomatik yenileme yaparlar. Bu yenileme
işlemi için genelde meta refresh kullanılır.
Meta refresh kullanmanın bir kötü tarafı arama motorlarının bu tagı içeren adresleri
sevmemesi. Arama sonuçlarını manipüle etmek için kullanılabileceği için sayfanız
sonuçlar arasında gelmeyebilir. Pek tercih etmemeye çalışalım.
Anchor Tag’ı Kullanmak
Yönlendirme yapmak için kullanıcının tıklamasını bekliyorsak. Bu tag biçilmiş kaftan.
Yukardaki kullanım ile href attribute’üne yazdığımız sayfaya yönlendirme yaparız.
Anchor tagının bir başka kullanımıda sayfa içinde bir yere yönlendirmedir. Mesela
sayfanın başında sorular olur cevapları uzundur. Her hangi bi soruya tıkladığınızda
aşağıya cevabın başladığı yere yönlendirir. Bunun için name attribute’ü kullanılır.
Javascript Kullanmak
Sayfanın head tagları arasına yukarıdaki javascript kodunu eklersek sayfamız açılır
açılmaz yönlenecektir.
Javascript ile çeşitli fonksiyonlar kullanarak her duruma uygun yönlendirme yapabiliriz.
Mesela bir butona basıldığında, bir olay tetiklendiğinde, belli bir süre geçtiğinde…
şimdi de belli bir süre geçince yönlendirme örneğine bakalım.
Süre ile yönlendirmenin yöntemleri de çoğaltılabilir. Settimeout her hangi bir olaydan
sonrada çağırılabilir. (body onLoad="setTimeout('biSureSonraYonlendir()', 5000)")
Bir başka yöntemde window nesnesinin open metodu.
Yukarıdaki fonksiyonu herhangi bir olayda çağırarak adres parametresine yazdığımız
sayfaya yönlendirebiliriz window.open(URL,name,specs,replace)
Open metodunda;
URL – yönelendirilecek adresi,
Name – sayfanın açılma yöntemini, (_blank,_self,_parent,_top)
Specs – pencere özelliklerini, (height, scrollbars,menubar)
Replace – history’e yeni bir sayfa olarak mı ekleneceğini yoksa var olanın
üzerine mi yazılacağını belirtir. (true, false)
Asp.NET Yöntemleri Server.Transfer() – Response.Redirect()
Asp.net ile Response.Redirect metodunu kullanarak bir yönlendirme yapabiliriz. Bu
metot server tarafında çalışır. Ve tarayıcının içine yönlenmek istediğimiz sayfayı
getirtir.
|
Response.Redirect("http://www.serdarbuyuktemiz.com");
|
Server.Transfer metodu ile de benzer bir iş yapıyoruz ama Server.Transfer metodu
ile yapacağımız yönlendirmeler projemizdeki sayfalardır. www.abc.com gibi bir yönlendirme
yapamayız. Projedekibaskasayfa.aspx gibi bir yönlendirme yaparız.
|
Server.Transfer("Default.aspx");
|
Birde Server.Execute metodu var oda çalıştırıldığı sayfanın üstüne çağırılan sayfayı
ekliyor. Ama eski bir metod olduğu ve başka çözümler düşünülmesi gerektiği yazılmış
pek çok yerde.
|
Server.Execute("Default.aspx");
|
Kaynaklar
http://www.developer.com/net/asp/article.php/3299641
http://www.developerfusion.co.uk/show/4643/4/
http://www.ondotnet.com/pub/a/dotnet/2003/04/07/aspnetnav.html
http://www.evcil.net/post/redirect-transfer-rewritepath-kahraman-olan-hangisi