PROGRAMLAMA DERSİ 1. İNTERNET İnternet sunucu-istemci modeline göre çalışır. Fiziksel olarak bu sistem genelde isteği yapan bir bilgisayar (kullanıcı-client) ve bu isteği karşılayan özel bir bilgisayar (sunucu-server) şeklinde işler. Bir web sayfası adresini yazıp ENTER tuşuna basmak bir istektir. Bu isteğimizi bir yerlerdeki (genellikle veri merkezleri) bir sunucu karşılar. Bütün web sitelerinin çalışma prensibi bu modele (İstek-cevap) dayanır. En basit haliyle bir web sitesi, içinde sadece HTML kodları barındıran bir yapıya sahiptir. Bu yapı internette herhangi bir sunucu bilgisayarda muhafaza edilir ve talep gelmesi durumunda bir kopyası istemci (kullanıcı) bilgisayar gider. İstemcinin (kullanıcı kişinin) bilgisayarındaki internet tarayıcısı, gelen bilgiyi (HTML kodu) yorumlayarak doğru bir biçimde kişiye gösterir. Bu işlemi bir adım daha ileriye götürürsek her iki tarafta da (istemci-sunucu) yapabileceğimiz birçok şey vardır. 1.1. İSTEMCİ TARAFI Yapabileceklerimizden bir tanesi sadece istemcinin bilgisayarında çalışan scriptleri sayfamıza eklemek olacaktır. Web deki anlamıyla script konusu web sayfası olan program ya da program parçalarıdır. Scriptler sayesinde bir web projesi daha işlevsel hale getirilebilir. Bu scriptler genellikle javascript, VBScript veya JScript ile oluşturulabilir. 1.2. SUNUCU TARAFI Sunucu taraflı sayfa ya da scripting, istemci taraflı scripting in tam karşıtıdır. Burada scriptler özel belirteçlerle, sunucu taraflı olduğunu bildirir ve bunlar sunucu tarafında işlenerek çıktıları yine HTML formatında istemci bilgisayara gönderilir. Bu işleyişte sunucu aktif konumdadır. Sadece sayfaları göndermekle kalmaz bu sayfalarda kendisinin çalıştırması gereken kodlar varsa bunları da çalıştırır. Ayrıca kullanıcıdan sayfa vasıtası ile gelen veriler sunucuda işlenerek saklanabilir, sayfa yeniden düzenlenebilir. Bu tarz imkânlarla web sitesi sahibine büyük hâkimiyet sağlar. Elektronik ticaretin gelişmesindeki temel yapı taşı da sunucu taraflı sayfa ve ya işlemlerdir. 1.3..NET FRAMEWORK.NET FRAMEWORK ASP.NET sayfalarımızın çalışması için bir alt yapı sunar. Microsoft un sitesinde kısa bir aramayla bulabileceğiniz bu Framework, ayrı bir programdır. Bu programı sunucunuza ya da projelerinizi geliştirdiğiniz bilgisayara yüklediğinizde, artık ASP.NET sayfaları çalışır hale gelir. Sadece ASP.NET değil,.net çatısı altındaki diğer tüm yapıları kullanabilir hale geliriz. Çoklu dil desteğinin avantajları: - Kod modülleri yeniden kullanılabilir. Bir kod modülü, bir dil içinde yazılıp farklı diller içinde kullanılabilir. - Tüm diller için object kütüphanesi aynıdır ve aynı object modeli kullanılır. - Eski dillerde yazılmış programlar güncellenebilir. -.NET Framework içindeki tüm diller eşit performansa sahiptir. Bütün.NET tabanlı diller MicrosoftIntermediate Language (MSIL) a derlenir. Tüm MSIL ler native kod a derlenir. Bu run time dır ve hepsi aynı derleyici kullanır. 1
1.4. ASP.NET WEB UYGULAMALARI Bir web projesi başlatmak için File->New Project butonuna tıklıyoruz. Açılan pencerede sol taraftan Visual C# altındaki Web sekmesine tıklıyoruz. Sağ tarafta açılan proje listesinden ASP.NET Empty Wep Aplication seçeneğini seçiyoruz. Son olarak projemizin ismini veriyoruz ve OK butonuna tıklıyoruz. Bu işlem bize boş bir proje oluşturuyor (Resim 1). Resim 1. Boş bir ASP.NET projesi oluşturma sayfası Artık ASP.Net sayfamız açılmış olacaktır. Hiçbir şey yazmadan klavyeden F5 tuşuna basınız. F5 kısa yolu projemizi çalıştırmayı sağlayan kısa yol tuşudur. Projemizi çalıştırırsak hiçbir şey eklemediğimiz için sadece boş dosyalar görünecek. Uygulamalar: Uygulama 1: Label, TextBox ve Button uyulaması. Butona tıklandığında isim_girdisi metodu çalışıyor ve TextBox elamanına girilen değeri Label elamanına yazdırıyor. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="sayfa_detay.aspx.cs" Inherits="uygulama1.sayfa_detay" %> private void isim_girdisi(object sender, EventArgs e) Mesaj.Text = "Merhaba " + isim_kutusu.text + ".. ASP.NET hoşgeldiniz <br>" + DateTime.Now.ToString(); 2
<asp:label ID="Mesaj" Font-Size="15pt" runat="server"></asp:label><br /> isim : <asp:textbox ID="isim_kutusu" OnTextChanged="isim_girdisi" runat="server"></asp:textbox><br /> <asp:button ID="buton" Text="Gönder" runat="server" /> Uygulama 2: Uygulama 1 e benzer bir örnek, HTML form elemanı ve web form elemanın yazım farkını görmek için kod yapısını inceleyin. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="HTML_ve_web_form.aspx.cs" Inherits="uygulama1.HTML_ve_web_form" %> private void yazdir(object sender, EventArgs e) mesaj.text = "Yazdır butonuna tıklandı"; private void sil(object sender, EventArgs e) mesaj.text = ""; <asp:button ID="buton_1" Text="mesaj yazdır" runat="server" OnClick="yazdir" /><br /> <input type="button" value="mesaj sil" onserverclick="sil" runat="server" /><br /> <asp:label ID="mesaj" runat="server"></asp:label> Uygulama 3: Önceki örneklere benzer bir örnek, burada AutoPostBack komutunun kullanımını görüyoruz. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="post.aspx.cs" Inherits="uygulama1.post" %> void yazdir(object nesne, EventArgs e) ad_mesaj.text = ad.text; soyad_mesaj.text = soyad.text; meslek_mesaj.text = meslek.text; 3
<asp:label ID="ad_mesaj" runat="server"></asp:label><br /> <asp:label ID="soyad_mesaj" runat="server"></asp:label><br /> <asp:label ID="meslek_mesaj" runat="server"></asp:label><br /> İsim: <asp:textbox ID="ad" runat="server" OnTextChanged="yazdir" Soyisim: <asp:textbox ID="soyad" runat="server" OnTextChanged="yazdir" Meslek: <asp:textbox ID="meslek" runat="server" OnTextChanged="yazdir" <asp:button ID="Buton" OnClick="yazdir" runat="server" Text="Gönder" /> Uygulama 4: Bu uygulamada Page_Load metodunun kullanımını görüyoruz. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ispostback.aspx.cs" Inherits="uygulama1.ispostback" %> void Page_Load(object nesne, EventArgs e) if (!Page.IsPostBack) karsilama.text = "Bu yazı sayfa ilk yüklendiğinde görünür(postback)."; void yazdir(object nesne, EventArgs e) if (Page.IsPostBack) karsilama.text = "Sunucudan geri bilgi geldiğinde bü mesaj yazısı görülür."; mesaj.text = "Butanu tıklandı"; <asp:button ID="buton_1" Text="mesaj yazdır" runat="server" OnClick="yazdir" /><br /> <asp:label ID="karsilama" runat="server"></asp:label><br /> <asp:label ID="mesaj" runat="server"></asp:label><br /> 4
-------------------------------------------------------------------- Uygulamaları tek tek.aspx sayfasında çalıştırın ve sonuçları inceleyin. 5