Kod Tarafında Tema Değiştirme


Twitter'da Paylaş Favorilerime Ekle

Asp.Net'te Kod ile Tema Değiştirme

Sayfaya uygulanacak tema kodlar sayesinde, çalışma zamanında da belirlenebilir. Bunun için gerekli kodlar Page sınıfına ait PreInit olayına yazılmalıdır.

PreInit olayı ilk gerçekleşen olaydır ve sayfa sunucuda ön yüklenmeye başlamadan çalışır.

void Page_PreInit(object sender, EventArgs e) 
{ 
   Page.Theme = "Tema1"; 
}

asp.net kod ile tema değiştirme

Şayet birden fazla temamız varsa ve kullanıcıya seçme şansı vermek istiyorsak;

Örneğin yukarıdaki resimde görüldüğü gibi bir RadioButtonList'ten seçim yaptırıp, yapılan seçime göre temayı uygulamak istiyorsak, normalde aşağıdaki gibi bir kod yazabilirdik.

void Page_PreInit(object sender, EventArgs e) 

   Page.Theme = RadioButtonList1.SelectedValue; 
}

Fakat bu kodlar işimize yaramayacaktır!!! Çünkü Page_PreInit olayı gerçekleştiğinde henüz sayfa yüklenmediğinden sayfadaki kontrollerin özelliklerine erişilemez. Yani seçilen tema bilgisini almak istediğimiz RadioButtonList1 henüz oluşturulmamıştır.

Bunun yerine farklı yöntemler ile çözüme ulaşabiliriz ki en basit yol QueryString kullanmaktır.

Bu örnekte iki tane buton kullanalım ve butonların her biri ile farklı bir temayı sayfaya uygulayalım:

protected void Page_PreInit(object sender, EventArgs e)
{
    if (Request.QueryString["secilenTema"] != null) Page.Theme = Request.QueryString["secilenTema"];
    else Page.Theme = "Tema1";
}
 
protected void Button1_Click(object sender, EventArgs e)
{
    Response.Redirect("default.aspx?secilenTema=Tema1");
}
 
protected void Button2_Click(object sender, EventArgs e)
{
    Response.Redirect("default.aspx?secilenTema=Tema2");
}
asp.net kod ile tema değiştirme, ziyaretçi tema seçebilsin, dinamik olarak tema değiştirme, c# temayı kod ile değiştirme

KONU İLE İLGİLİ ÖRNEKLER