|| HAYATTA HER ŞEYİ PAYLAŞAN BİR PLATFORM || TÜRKİYENİN YÜKSELEN YILDIZI || HAYAT BURDA ||
Would you like to react to this message? Create an account in a few clicks or log in to continue.

System.Web.UI.Page'de Neymiş?

Aşağa gitmek

System.Web.UI.Page'de Neymiş? Empty System.Web.UI.Page'de Neymiş?

Mesaj  geceninmavisi Cuma Ağus. 08, 2008 2:06 am

Ben bundan sonra kendi class' ımı kendim yazarım. İstediğim gibi sayfama ait ne varsa buradan set ederim. Böylece her oluşturduğum sayfada bu işleri tekrar tekrar yapmam. Buyrun MyPage.cs isimli klasımıza ait kodumuz.

using System;
using System.Configuration;
using System.Collections.Generic;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.HtmlControls;

namespace MyNamespace
{
public class MyPageClass : System.Web.UI.Form
{

protected override **** OnInit(EventArgs e)
{
#region Disable ViewState
this.Page.EnableViewState = false;
#endregion

#region Apply default stylesheet
/* Web sayfasında kullanılcak olan style dosyasını set ediyoruz */
this.AddStyleSheet("main.css");
#endregion

/* Web.Config dosyamızdaki değere göre sayfanın başlık bilgisini set ediyoruz */
Page.Header.Title = System.Configuration.ConfigurationManager.AppSetti ngs["APPTITLE"];
/*
* Alttaki bilgiler sayfaların cache' den gelmesini engeller
* Özellikle bir post işleminden sonra bir önceki sayfaya gidilmesi ihtimali büyük sorunlar çıkarabilir
*/
Page.Response.Expires = 0;
Page.Response.AddHeader("Pragma", "no-cache");
Page.Response.CacheControl = "Public";
Page.Response.ContentEncoding = System.Text.Encoding.GetEncoding("iso-8859-9");

/* Örnek olması açısından; sayfada kullanılcak script dosyalarını register ediyoruz */
/* System.Configuration.ConfigurationManager.AppSetti ngs["scriptPath"]
* ile Web.Config' de script dosyalarının durduğu klasörün ismini alıyoruz
*/
Clientscript.RegisterClientscriptInclude("script_K EY", System.Configuration.ConfigurationManager.AppSetti ngs["scriptPath"] + "Dosya_Ismi.js");

base.OnInit(e);
}

/* Verilen css dosyasını sayfanın header bilgisine yazan fonksiyon */
protected virtual **** AddStyleSheet(string cssPath)
{
string includeTemplate = "";
/* ConfigurationManager.AppSettings["CssPath"]
* ile Css dosyalarının bulunduğu klsörü öğreniyoruz, Web.Config' den
*/
string includePath = ConfigurationManager.AppSettings["CssPath"] + cssPath;

Page.Header.Controls.Add(new LiteralControl(String.Format(includeTemplate, includePath)));
}

protected override **** OnLoad(EventArgs e)
{
base.OnLoad(e);
}
}
}



Kullanım

Artık her sayfanızda [*1] ile işaretli bölüm şu şekilde olmalıdır.

public partial class Sayfa : MyNameSpace.MyPageClass

Bu sayede MyPageClass.cs deki tüm js,css,session....vs işlerini Sayfa.aspx için halletmiş olduk.

Sonuç

Bu kullanım şekli herhangi bir olası değişiklikte sizin 100lerce dosya yerine sadece tek bir dosyayı (MyPageClass.cs) güncellemenize ve amacınıza ulaşmanıza olanak sağlar. Kullanalım, kullandıralım:]
geceninmavisi
geceninmavisi
*** FORUM KRAL ÜYE ***
*** FORUM KRAL ÜYE ***

Erkek
Mesaj Sayısı : 160
Yaş : 42
Kayıt tarihi : 07/08/08

Sayfa başına dön Aşağa gitmek

Sayfa başına dön

- Similar topics

 
Bu forumun müsaadesi var:
Bu forumdaki mesajlara cevap veremezsiniz