Sayfa Yönlendirmek

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

<meta http-equiv=”refresh” content=”5;URL=http://www.serdarbuyuktemiz.com” />

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.

<meta http-equiv=”refresh” content=”180″ />

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.

<a href=”http://www.serdarbuyuktemiz.com/” target=”_blank”>Linkin Sayfada Görüntülenen Adı…

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.

<a href=”#SayfadaAsagilardaBirYer”>SayfadaAsagilardaBirYer etiketli anchor tagına git… </a>
……….
<a name=”SayfadaAsagilardaBirYer”>Aşağılarda bir yerdeki yazı</a>

Javascript Kullanmak

<script type=”text/javascript”>
window.location = “http://www.serdarbuyuktemiz.com/”;
</script>

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.

<script type=”text/javascript”>
function biSureSonraYonlendir(){
window.location = “http://www.serdarbuyuktemiz.com/”;
}

self.setTimeout(‘biSureSonraYonlendir()’, 5000);
</script>

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.

<script type=”text/javascript”>
function yeniSayfadaAc(adres) {
window.open(adres,”_blank”,”left=100″,false);
}
</script>

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
developer.com/net/asp/article.php/3299641
developerfusion.co.uk/show/4643/4/
ondotnet.com/pub/a/dotnet/2003/04/07/aspnetnav.html
evcil.net/post/redirect-transfer-rewritepath-kahraman-olan-hangisi

  • Facebook
  • Twitter
  • StumbleUpon
  • del.icio.us
  • Digg

Category: Something - Comment »


Leave a Reply



Back to top