NET ile tümüyle yenilenen ve klasik ASP'nin yeni bir versiyonu değil de dotNET'in yeni vizyonuna yakışan yenilikleri ve kolaylıkları içeren ASP.NET ile web uygulamalrımızı artık iki türlü yazabilme imkanına sahibiz. Birincisi eskiden olduğu gibi (ASP'de) inline code yani progam kodlarımız aspx dosyamızın içinde yer alıyor. Bu yaklaşımda çoğu zaman sayfalarımızda program kodarı ile html tasarımı birbirine karışıyor. Sayfalara yeni özellikler eklemek veya onlarda bulunan hataları düzeltmek programcı için çook zor oluyurdu.

Diğer yaklaşımda ise; tasarım ile kodlamayı birbirinden ayırmak ve böylelikle daha hızlı web uygulamaları geliştirmenin yanında kodumuzun bakımı ve yeni versiyonlarını üretmede de daha hızlı ve etkin çözümler üretebiliriz. Bu tarz web programlamaya Code-Behind programlama ismi veriliyor. Aslında Code-Behind programlamayı da iki farklı şekilde yapabiliriz. Birincisinde program kodumuz (c# veya vb.net) ayrı bir sayfada yeralıyor. Bu kod sayfasına aspx sayfasından referans veriyoruz ve kodumuz çalışma anında MSIL'e derleniyor. İkinci metotda ise, program kodumuzu dll olarak derleyip aspx sayfamızda direk olarak derlediğimiz dll'e referans veriyoruz.

cs uzantılı dosyamızı, ait olduğu aspx dosyasının ismi aspx + ve + cs şeklinde adlandırmak ASP.NET geliştiricileri ve Visual Studio.NET tarafından benimsenmiştir. Diyelimki aspx dosyamınızın ismi AspNetCodeBehind.aspx olsun bu durumda C# kodumuzun dosyasını AspNetCodeBehind.aspx.cs şeklinde isim veririz.

Önce AspNetCodeBehind.aspx.cs ismli dosyamızı aşağıdaki şekilde yazalım :
using System;
using System.Web.UI;      // Önce gerekli isim uzaylarımızı kodumuza import edelim.

namespace Ozcanilhan.com.tr
{
    public class AspNetCodeBehind : Page    // Sınıfımızı yazmaya başlıyoruz..
     {
          public int carpim;                         // tamsayı tipinde bir üye değişkenimiz var. İsmi ise capim

          public int Carp(int s1, int s2)         // tamsayı döndüren üye fonksiyonumuzun adi Carp olsun
            {
                carpim = s1*s2;                   // aldigimiz iki parametreyi çarpıp bunları carpim değişkenimize atayalım. 
                return carpim;                     // elde ettiğimiz çarpımı fonksiyonumuzun sonucu olarak geri dönderelim.
            }

     }

}

Her C# programında olduğu gibi önce gerekli isim uzaylarını programımıza using anahtar kelimesi kullarak ekledik. Bunlar System ve System.Web.UI sonra Ozcanilhan.com.tr isimli kendi isim uzayımızı yazmaya koyulduk. Bu isim uzayımız AspNetCodeBehind sınıfını içeriyor. Sınıfımızda bir değişken ve birde fonsksiyomuz var. Değişkenimizin ismi carpim, fonksiyonumuzun ismi ise Carp() olsun. Sonrada AspNetCodeBehind.aspx ismini verdğimiz ASP.NET dosyamızı yazalım:
<%@ Page Language="c#" Inherits="Ozcanilhan.Com.tr.AspNetCodeBehind" Src="AspNetCodeBehind.aspx.cs"%>


Yukarıdaki aspx sayfasını çalıştırdığımızda 8 x 7 = 56 şeklinde bir çıktı elde ederiz. Bu sayfaya önce <%@ Page Language="c#" Inherits="Ozcanilhan.com.tr.AspNetCodeBehind" Src="AspNetCodeBehind.aspx.cs"%> kodunu ekledik. Inherits="Ozcanilhan.com.tr.AspNetCodeBehind" ile cs dosyamızda Ozcanilhan.com.tr isim uzayında bulunan AspNetCodeBehind sınıfımızı kullanacağımızı CLR ve IIS'e bildirdik. İlgili isim uzayının yeraldığı c# kod dosyasının yerini Src="AspNetCodeBehind.aspx.cs" direktifi ile belirtik. public void Page_Load(Object sender, EventArgs e)
{
    Response.Write(7+" x " + 8 + " = " + Carp(7,8) ) ;
} Kod parçasında bir sayfa yüklenirken ( dikkat edin public void Page_Load(Object sender, EventArgs e) kullandık. Response.Write metodunu kullanarak birşeyleri yazdırdık. Çarpım işleminin sonucunu bulurken c# dosyamızdaki AspNetCodeBehind sınfının bir üyesi olan carpim() fonksiyonumuzu kullandık. Bu yazmızda ASP.NET'de code-behind program yazarken derlenmemiş bir C# dosyası kullanmayı inceledik. Gelecek yazımızda ise aspx sayfamıza kendi yazdığımız dll dosyasını eklemeyi ve bunu kullanmak üzerinde duracağız.
Etiketler : Etiket Yok
Kategoriler : ASP.NET
Yorumlar : 0 Yorum Yorum Yaz

Yorumlar

Yorum Eklenmemiş...

Yorum Yaz

Adınız: *
E-Mail Adresiniz: *
Web Sitesi:
Yorum: *
Güvenlik Kodu: *