Osman KURT

Kendime Not

C# Asp.Net'te URL'yi yeni Pencerede Açmak

Genelde C# ile kodlama yaparken yeni bir web sayfasında yönlendirme yapmak gerektiğinde aşağıdaki kodu kullanırız:

Response.Redirect("www.osmankurt.net");

Ama bu şekilde bir kullanımda sayfa aynı pencerede açılacağı için önceki sayfamız kaybolur. Eğer yeni navigasyon penceresiyle birlikte kaynak sayfasınında çalışmasını istiyorsanız o zaman aşağıdaki biçimde bir kullanım sorununuzu çözecektir.

string navigateURL = "www.osmankurt.net";
string target="_blank";
string windowProperties="status=no, menubar=yes, toolbar=yes";
string scriptText="window.open('"+navigateURL+"','"+target+"','"+windowProperties+"')";

Page.ClientScript.RegisterStartupScript(this.GetType(),"eşsizAnahtar",scriptText ,true);

navigateURL: Açmak istediğiniz sayfanız yolu
target: Açılacak sayfanın pencere biçimini belirler.
windowProperties: Açılacak pencerinin özellikleri (yes=göster / no=gösterme)

Böylece C# code behind sayfasından yeni sayfanın farklı bir pencerede açılmasını sağlayabiliriz.

Sonraki yazılarımda görüşmek üzere;

Osman KURT

Yazılım Geliştirici ve Grafiker

Asp.net 4.0 ValidateRequest Sorunu

Asp.net ile geliştirdiğimiz projelerde html içeriğe sahip string ifadeleri veritabanına kaydetmek istediğimizde normal şartlarda hata alırız.Bunun nedeni sistem bu olayı bir XSS saldırısı olarak algılamaktadır.Bu yüzden bu tür istekler sunucu tarafından kabul edilmez ta ki siz müdahale edene kadar.

ValidateRequest = "false" yaparsak bu sorun ortadan kalkacaktır.İster herhangi bir sayfanın design tarafında ister tüm proje için geçerli olan web.config tarafında bu sorunu çözebiliriz.

Kullanmak istediğimiz sayfanın başına;

ValidateRequest="false"

Web.config tarafında ;

<pages validaterequest="false"></pages>

Eğer projemizi asp.net 4.0 ile geliştiriyor isek web.config dosyamızda küçük bir değişiklik daha yapmamız gerekiyor.

<system.web>

<httpruntime requestvalidationmode="2.0">

</httpruntime>

</system.web>

Bu yazımın bir benzerini daha önceki yazılarımda paylaşmıştım ama 4.0 la gelen bir özelliği atladığım için tekrar yazmanın daha iyi olacağını düşündüm, yararlı olması dileğiyle;

Osman KURT

Yazılım Geliştirici ve Grafiker

ASP.Net de Tarayıcı Bilgisine Ulaşmak

Arkadaşlar geçen yapmış olduğum bir projemde lazım oldu. Kullandım ve gerçekten kullanışlı bir kod ve bu yüzden sizinle paylaşmak istedim. Benim işime nerde lazım oldu derseniz yaptığım projede kullanılan bir style dosyası browser lar arası problem yaşatıyodu bazı özellikler çalışmıyordu fireworks da onun için bende bu kodu kullandım ve her browser a ayrı style doayaları atadım ve style dosyaşlarını daadmin panelinden dinamik bir şekilde çektim. Çok güzel dimi :) neyse fazla uzatmadan kodumuza geçelim isterseniz.Ayrıca dinamik css eklemek kodları da daha önceki yazılarımda mevcuttur kullanmak isterseniz aklınızda bulunsun.

Tarayıcı bilgilerine System.Web kütüphanesi altında HttpBrowserCapabilities sınıfı yardımı ile alacağız.

    System.Web.HttpBrowserCapabilities browser = Request.Browser;
    string name = browser.Browser;
    float version = (float)(browser.MajorVersion + browser.MinorVersion);
    if (name == "IE" && version >= 7){
    //IE 7 Kullanılıyor
    }
    elseif(name == "Firefox" && version >= 2){
    //Firefox 2 kullanılıyor
    }

Bu kadar basit :D

Bu kodlarımızı yazdıktan sonra işlemimiz tamamlanmıştır.

Görüşmek üzere;

Osman KURT

Yazılım Geliştirici ve Grafier