Aralık
11th 2007
ASP.NET Code-Behind Programlama II

Posted under C# (csharp)



 ASP dot NET ile code-behind sayfalar oluşturma konusuna devam ediyoruz. Bir önceki yazımızda aspx sayflarımızdaki program kodlarımızı ayrı bir c# dosyasına yazıp ordan alıyorduk. Önce bu konudaki makalemizi okumanızı tavsiye ederim: ASP.NET Code-Behind Programlama I Bu makalede ise, aspx dosyamıza kendi yazdığımız c# kodumuzu dll olarak derleyip, ekleyeceğiz.

Önceki makalemizdeki cs dosyasının aynısı yazıp Compiled_AspNetCodeBehind.aspx.cs şeklinde adlandıralım:

using System;
using System.Web.UI;      // Önce gerekli isim uzaylarımızı kodumuza import edelim.

namespace CsharpNedir.Com
{
    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 CsharpNedir.Com 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.

Peki bu dosyayı nasıl derleyeceğiz? Bunun için öcenlikle bilgisayarınızda .NET Framework’unun kurulu olduğunu varsayıyoruz. C# derleyecisi ile şu şelikde derleriz:

csc /out:Compiled_AspNetCodeBehind.dll /target:library Compiled_AspNetCodeBehind.aspx.cs

C# derleyicimizin ismi csc, derleyici seçeneklerinden out ile dosya ismini ve target:library ile ise bir dll dosyası derlemek istediğimizi belirtiyoruz. Son olarakta kaynak kodumuzun bulunduğu sayfanın ismini yazıyoruz.

Sonrada Compiled_AspNetCodeBehind.aspx ismini verdğimiz ASP.NET dosyamızı yazalım:

<%@ Page Language=”c#” Inherits=”CsharpNedir.Com.AspNetCodeBehind”%>

<script runat=”server”>

public void Page_Load(Object sender, EventArgs e)
{
Response.Write(9+” + ” + 12 + ” = ” + Carp(9,12) ) ;

}
</script>

<html>
<head> </head>
<body>


</body>
</html>

Bu sayfaya aslında bir önceki makalemizdeki aspx dosyamızla hemen hemen aynı fakat tek fark ik satırda <%@ Page Language=”c#” Inherits=”CsharpNedir.Com.AspNetCodeBehind”%> ile önce hangi dili kullanacağımız sonra ise hangi dll kodunu sayfamıza ekleyeceğimizi 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.

Dll‘mizi derledik ve aspx sayfamızerlemeden sonra artık bir dll sayfamız var hadi bunu çalıştıralım dersek Compiled_AspNetCodeBehind.aspx dosyamızı web tarayıcımızda açarken şu hatayı alırız: ‘Could not load type ‘CsharpNedir.Com.AspNetCodeBehind’. Bu hatanın sebebi şudur. ASP.NET saylarımız için yazdığımız dll dosyaları uygulamalarımızın bin dizini içinde olması gerekir. Eğer Dll’limizi buraya taşırsak çalışır. Yalnız XP Pofessional kullanıcılarına bir hususa daha dikkat etmeleri gerekir. Bahsi geçen bin dizini sanal bir dizin olmak zorunda.

Trackback URI | Comments RSS

Yorum Yaz - Leave a Reply

eXTReMe Tracker
hosting ------------------------------ yeliiniz Silinmitir.Ltfen Sayfanzdan Kodu Kaldrnz.