asp . net - BekirKURT

advertisement
|A S P . N E T
İNTERNET PROGRAMLAMA – 2
Marmara Teknik Bilimler MYO / Hafta 1 – Asp.NET Giriş
ETKİLEŞİMLİ WEB UYGULAMALARI
• İstemci – Sunucu Mimarisi
 Internet; sunucu-istemci mimarisine göre çalışır.
İstemci
Sunucu
(Client)
(Server)
web sitelerini
barındıran
bilgisayarlar
sunuculardan
web sitelerini
isteyen
bilgisayarlar
www.google.com sitesini açmak istediğimizde,
bu siteyi barındıran sunucu bilgisayardan bir istekte bulunmuş oluyoruz.
Bu durumda bizim bilgisayarımız istemci durumundadır.
WEB TASARIMI VE PROGRAMLAMA
2
ETKİLEŞİMLİ WEB UYGULAMALARI
• İstemci – Sunucu Mimarisi
Bu bağlamda; web siteleri de ikiye ayrılmaktadır:
STATİK
WEB SİTE
Sunucu
İstemci
DİNAMİK
WEB SİTE
Sunucu
İstemci
Veritabanı
WEB TASARIMI VE PROGRAMLAMA
3
ETKİLEŞİMLİ WEB UYGULAMALARI
• Statik Web Site
 Genellikle HTML tabanlı olarak hazırlanırlar.
 Kullanıcıyla etkileşime girmeyen sitelerdir.
 Kullanıcıya sadece içerik sunulur.
 Kullanıcı içeriğe müdahale edemez.
STATİK
WEB SİTE
Sunucu
WEB TASARIMI VE PROGRAMLAMA
İstemci
4
ETKİLEŞİMLİ WEB UYGULAMALARI
• Dinamik Web Site
 Sunucu tabanlı diller kullanılarak hazırlanır.
 Kullanıcıya siteyle etkileşime girme
imkanı verir.
DİNAMİK
WEB SİTE
 Yorum yazma
 Oy kullanma
Sunucu
İstemci
 İçerik ekleme
 Arama yapma
Veritabanı
WEB TASARIMI VE PROGRAMLAMA
5
ETKİLEŞİMLİ WEB UYGULAMALARI
• İstemci – Sunucu Çalışma Mantığı
Web sunucularının kendilerinden statik sayfa istendiği
zamanki davranışları ile dinamik sayfa istendiği
zamanki davranışları birbirinden farklıdır.
 Bir web sunucudan statik bir sayfa istenirse;
sunucu, istemciye bu sayfanın bir kopyasını gönderir.
Bunu alan web tarayıcı ise HTML kodlarını
yorumlayarak oluşan sayfayı görüntüler.
WEB TASARIMI VE PROGRAMLAMA
6
ETKİLEŞİMLİ WEB UYGULAMALARI
• İstemci – Sunucu Çalışma Mantığı
 Bir web sunucudan dinamik bir sayfa istenirse;
web sunucu, kendisinden istenen dosyada bulunan
kodları (ASP.NET / PHP / …) çalıştırdıktan sonra saf
bir HTML dosyası üretir ve istemciye bu dosyayı
gönderir.
ASP
php
C#
 Üretilen HTML kodlarını alan web tarayıcı, istemciye
sayfayı gösterir.
WEB TASARIMI VE PROGRAMLAMA
7
ETKİLEŞİMLİ WEB UYGULAMALARI
• İstemci – Sunucu Çalışma Mantığı
Dinamik siteleri web tarayıcıda açıp
kaynak kodlarına bakıldığında
neden ASP.NET / PHP kodları görünmez?
Sunucu,
bu kodları çalıştırdıktan sonra
istemciye HTML kodlarını göndermektedir.
WEB TASARIMI VE PROGRAMLAMA
8
ETKİLEŞİMLİ WEB UYGULAMALARI
• Sunucu Platformları
ASP, ASP.NET
MS-SQL, ACCESS
PHP, CGI
My-SQL, PERL
WEB TASARIMI VE PROGRAMLAMA
Windows Sunucu
Linux Sunucu
9
ETKİLEŞİMLİ WEB UYGULAMALARI
• Yerel Sunucu / localhost
 Sunucu tabanlı web uygulamalarını bilgisayar
üzerinde çalıştırmak için; yerel sunucu (localhost)
kurulumu yapılmalıdır.
 Kurulacak sunucu türü, çalıştırılacak
türüne göre değişmektedir.
uygulama
 ASP / ASP.NET : IIS (Internet Information Services)
 PHP / MySQL : XAMP, AppServ, WampServer...
ASP.NET uygulamaları, Visual Studio üzerinden çalıştırılacaksa
ayrı bir IIS kurulumuna ihtiyaç bulunmamaktadır.
WEB TASARIMI VE PROGRAMLAMA
10
ETKİLEŞİMLİ WEB UYGULAMALARI
• Yerel Sunucu Kurulumu
Denetim Masası
Programlar ve Özellikler
Windows özelliklerini
aç veya kapat
WEB TASARIMI VE PROGRAMLAMA
11
ETKİLEŞİMLİ WEB UYGULAMALARI
• Yerel Sunucu Kurulumu
WEB TASARIMI VE PROGRAMLAMA
12
ETKİLEŞİMLİ WEB UYGULAMALARI
• Yerel Sunucu Kurulumu
WEB TASARIMI VE PROGRAMLAMA
13
.NET PLATFORMU (.NET FRAMEWORK)
 Masaüstü, web ve telefon uygulamaları ve web
hizmetleri sağlayan bir uygulama geliştirme
platformudur.
 Internet
protokolleri
kurulmuştur.
ve
standartları
üzerine
 Uygulamaların birbirleriyle ve geliştirildiği ortam
farketmeksizin dünyadaki tüm uygulamalarla iletişimi
için kolayca web servisleri oluşturulmasına imkân
verilmiştir.
 İşletim sistemi ve donanımdan daha üst seviyede,
taşınabilir olarak tasarlanmıştır.
WEB TASARIMI VE PROGRAMLAMA
14
.NET PLATFORMU (.NET FRAMEWORK)
Temel Sınıf Kütüphanesi
(BASE CLASS LIBRARY / BSL)
Ortak Çalışma Zamanı
(COMMON LANGUAGE RUNTIME / CLR)
Ortak Tip Sistemi
Ortak Dil Yönergesi
(COMMON TYPE SYSTEM / CTS)
(COMMON LANGUAGE SPECIFICATION / CLS)
WEB TASARIMI VE PROGRAMLAMA
15
COMMON LANGUAGE RUNTIME(CLR)
CLR .NET altyapısında programların çalışmasını kontrol eden ve
işletim sistemi ile programımız arasında yer alan arabirimdir. Normalde
yazılan kodlar makine diline çevrilir ve işletim sistemi ile direkt bağlantı
kurup çalışırdı.
Eğer platformdan bağımsız bir ortam istiyorsak, ihtiyaç duyulan şey
CLR ‘dir. Hangi platformda iseniz (Linux, Mac, Windows) CLR bu
noktada devreye girer ve .NET programlarının farklı platformlarda
işletim sistemine göre çalıştırır.
Eğer çok sayıda platform olduğunu düşünürsek, programların bunlar
için ayrı ayrı yazılıp derlenmesi gerekir. Bu durum imkansız gibidir.
Bu durumda çözüm ortak bir ara dil kullanmak ve her bir platform için
bu ara dile çevrilmiş kodu çalıştırmaktır.
WEB TASARIMI VE PROGRAMLAMA
16
ASP.NET MODELİ
 ASP dili üzerine inşa edilmiş ve .NET platformu
üzerine geliştirilen bir teknolojidir.
 Kısa süre içinde ileri seviyede web sayfaları
geliştirilmesini sağlayan, sunucu taraflı çalışan bir
teknolojidir.
 Sunucu tabanlı çalışan sayfalarda kodları HTML
etiketleri ile birlikte barındırmaz.
 HTML kodları için ayrı bir sayfaya, sunucuda
çalışacak kodlar için ayrı bir sayfaya sahiptir.
 Sayfaya bir istekte bulunulduğunda HTML kodları ve
sunucuda çalışacak kod sayfası bir bütün olarak ele
alınır ve öyle çalıştırılır.
WEB TASARIMI VE PROGRAMLAMA
17
ASP.NET MODELİ
 ASP.NET uygulamalarının
geliştirilmesi/ çalıştırılması için gerekli bileşenler;
 .NET FrameWork
 Editör
 Not Defteri
 Visual Studio
 Yerel Sunucu (localhost)
 IIS
IIS kurulumuna gerek kalmaz
 Visual Studio
 Veritabanı
 SQL-Server
 Access
WEB TASARIMI VE PROGRAMLAMA
Büyük veritabanları için tercih edilir.
18
.NET FRAMEWORK
Bu yazılımın görevleri oldukça çok ve karmaşıktır. Ancak şu şekilde
özetleyelim. Asp.NET uygulamalarının bilgisayarımızda çalışabilmesi
için gerekli derleyici ve referans tiplerini de içeren yazılımdır.
Bilgisayarımızda
yüklü
olan
.Net
Framework
sürümü,
kullanabileceğimiz Asp.NET sürümünü de belirler. 3.5, 4.0, 4.5 gibi
versiyonları bulunmaktadır.
Web alanı satın alırken, sunucunun desteklediği versiyon da kontrol
edilmeli, bizim kullandığımızdan daha eski bir versiyon olmamasına
dikkat etmeliyiz.
.NET Framework yazılımının
sitesinden indirebilirsiniz.
WEB TASARIMI VE PROGRAMLAMA
istenen
versiyonunu
Microsoft'un
19
EDİTÖR (VISUAL STUDIO)
Asp.NET uygulamalarını hazırlayabilmek için tartışmasız en güçlü
program Visual Studio programıdır.
Bu program sayfalarımızın tasarım konusunda DreamWeaver
programına oranla biraz daha zayıf ve ağır kalsa da programlama
işlemlerinde son derece güçlüdür.
Birçok karmaşık işlemi gerçekleştirebilmemiz için hazır nesneler vb.
sunan bu program çok da pahalıdır. Ancak farklı işler için ayrı
programlar halinde yayımlanan Express versiyonları da bulunmakta ve
bu Express versiyonları ücretsizdir.
Biz web uygulamaları geliştireceğimize göre, bu express
versiyonlardan " Visual Studio Express for Web" isimli yazılımı
kullanabiliriz. Bu program daha önceki versiyonlarda "MS Visual Web
Developer Express" adıyla sunulmaktaydı.
Visual Studio programının ve Express versiyonlarının şu an için 2015,
2013, 2012 vb versiyonları bulunmaktadır. Programın en yeni
sürümünü Microsoft'un sitesinden indirebilirsiniz.
WEB TASARIMI VE PROGRAMLAMA
20
YEREL SUNUCU (LOCALHOST)
Asp.NET sunucu taraflı çalıştığına göre Asp.NET kodlarımızı
çalıştırabilmek için Asp.NET destekleyen bir web sunucusuna
ihtiyacımız var demektir. Fakat sitemizi hazırlarken sık sık test etmemiz
gerekecek ve her seferinde sayfalarımızı sunucuya yükleyip çalıştırmak
zor olacaktır.
Bu durumda kendi bilgisayarımızı bir sunucuya dönüştürebiliriz. IIS
(Internet Information Services) isimli Windows bileşenini kurarak bunu
yapabiliriz.
IIS kurmak için program ekle kaldır (programlar ve özellikler)
penceresinden "Windows Özelliklerini Aç veya Kapat" sekmesine
tıkladığımızda Windows işletim sistemimize ekli olan özelliklere
ulaşabiliriz.
Buradan IIS kutusunu işaretleyerek özelliğin kurulmasını sağlayabiliriz.
Kurulum için bizden Windows kurulum medyamızı isteyecektir.
WEB TASARIMI VE PROGRAMLAMA
21
YEREL SUNUCU (LOCALHOST)
Günümüzde Visual Studio programı içerisine bütünleşmiş bir sunucu
yazılımı bulunmaktadır. Visual Studio Development Server isimli bu yazılım
projemizi çalıştırdığımızda otomatik olarak devreye girmekte ve
uygulamamızın çalışmasını sağlamaktadır. Ayrıca IIS 'e göre daha
performanslı çalışmaktadır.
Bu iki sunucu yazılımını kıyaslayacak olursak IIS komple bir sunucu
yazılımıdır ve birçok özellik sunmaktadır. Tabi bu güç ve özellikler yavaş
çalışmaya da neden olmaktadır. VS Development Server ise sitemizi
hazırlama aşamasında uygulamamızı hızlıca test edip işimizi görmemizi
sağlayan daha basit dolayısıyla daha hızlı çalışan bir yazılımdır.
IIS' in farklı özelliklerine ihtiyaç duymuyorsak Visual Studio Development
Server işimizi görecek, herhangi bir sunucu yazılımı yüklememize gerek
kalmayacaktır.
Bunlardan başka yine Microsoft tarafından yayınlanan IIS Express yazılımı
da mevcuttur. Visual Studio Development Server 'a göre daha fazla
özelliğe sahip olma ve IIS 'ten daha hızlı çalışma iddiasıyla yayınlanmıştır.
WEB TASARIMI VE PROGRAMLAMA
22
VISUAL STUDIO ARAYÜZÜ
Menü Çubuğu
Araç Düğmeleri
Çalışma Alanı
Paneller
WEB TASARIMI VE PROGRAMLAMA
Paneller
23
VISUAL STUDIO ARAYÜZÜ
• Menü Çubuğu
 Üzerinde çalışılan projeyle / uygulamayla veya VS
arayüzüne
ait
düzenlemelerle
ilgili
işlemler
yapılmasını sağlayan seçenekleri içermektedir.
 Bazı menüler, çalışan proje / uygulama türüne özel
olarak gelmektedir. (Örn: Web Site menüsü)
WEB TASARIMI VE PROGRAMLAMA
24
VISUAL STUDIO ARAYÜZÜ
• Araç Düğmeleri
 Sık kullanılan komutlara ait araçlar, işlevlerine göre
gruplandırılarak çeşitli araç çubuklarında toplanmıştır.
 Taşınarak yerleri değiştirilebilir, gizlenebilir veya
tekrar gösterilebilir.
WEB TASARIMI VE PROGRAMLAMA
25
VISUAL STUDIO ARAYÜZÜ
• Paneller
 Uygulama üzerinde gelişmiş seçeneklerin bulunduğu
alanlardır.
 View menüsü yardımıyla gizlenip yeniden görünür
hale getirilebilirler.
WEB TASARIMI VE PROGRAMLAMA
26
VISUAL STUDIO ARAYÜZÜ
• Çalışma Alanı
 Projeyle / uygulamayla ilgili içerik-programlama
düzenlemesinin yapıldığı alandır.
WEB TASARIMI VE PROGRAMLAMA
27
VISUAL STUDIO ARAYÜZÜ
• Solution Explorer
 Geliştirilmekte olan bir projenin
tüm
bileşenlerinin
bulunduğu
paneldir.
 Bu panelde bir proje olabileceği
gibi birden fazla proje de olabilir.
 Bu panelde; uygulamaya ait bileşenler liste halinde
görünür. Bu listeden istenilen dosya çift tıklanarak
üzerinde çalışılabilir, yeni dosya eklenebilir ya da var
olan dosya silinerek projeden çıkarılabilir.
WEB TASARIMI VE PROGRAMLAMA
28
VISUAL STUDIO ARAYÜZÜ
• Solution Explorer
Show All Files
Refresh
Projeye/uygulamaya Ekranın yenilenmesi
ait tüm dosya ve
sağlanır.
klasörler görüntülenir
Görünmeyen
Properties
değişiklikler varsa
Projeye/uygulamaya
panele yansır.
ait temel
tanımlamalar
düzenlenir
WEB TASARIMI VE PROGRAMLAMA
29
VISUAL STUDIO ARAYÜZÜ
• Properties Paneli
 Proje/uygulama
içinde
seçilen
öğeye ait özelliklerin görüntülendiği
ve düzenlendiği paneldir.
 Panelin üzerinde yer alan açılır menü yardımıyla
istenilen öğeye ait özellikler görüntülenebilir
WEB TASARIMI VE PROGRAMLAMA
30
VISUAL STUDIO ARAYÜZÜ
• Toolbox Paneli
 Projelere eklenebilecek hazır
öğelerin bulunduğu paneldir.
 View  Toolbox (Ctrl + Alt +X)
komutu
ile
görünür
hale
getirilebilir.
 Panelde yer alan her öğe, tasarım
penceresine sürüklenebilir veya
programlama yazılımı tümleşik
geliştirme ortamı (IDE) kod
editörü ile oluşturulabilir.
WEB TASARIMI VE PROGRAMLAMA
31
VISUAL STUDIO ARAYÜZÜ
Panellerin, ekranda
görüntülenip görüntülenmemesiyle
ilgili tüm işlemler
View menüsü altından
gerçekleştirilir.
WEB TASARIMI VE PROGRAMLAMA
32
WEB PROJESİ OLUŞTURMA
 File / New / Web Site (Shift + Alt + N)
Site türü / yapısı seçilir.
Site konumu tanımlanır.
WEB TASARIMI VE PROGRAMLAMA
33
WEB PROJESİ OLUŞTURMA
 Bu yapıda; web.config dosyası içeren bir ASP.NET
uygulaması oluşturulur.
 Bunun haricinde başka hiçbir dosya oluşturulmaz.
WEB TASARIMI VE PROGRAMLAMA
34
WEB PROJESİ OLUŞTURMA
• Yeni Sayfa Ekleme
 Solution Explorer alanında proje adı seçiliyken;
Website / Add New Item tıklanır.
Website menüsü Proje seçiliyken aktif olur.
WEB TASARIMI VE PROGRAMLAMA
35
WEB PROJESİ OLUŞTURMA
• Yeni Sayfa Ekleme
 Açılan pencerede; site için ihtiyaç duyulan öğe
türü seçilir ve bu öğeye verilecek isim belirlenir.
WEB TASARIMI VE PROGRAMLAMA
36
ASP.NET SAYFA YAPISI
 HTML kodları ile sunucuda çalışan kodlar
ayrıştırılmıştır. Bu sayede karmaşıklık azaltılarak
uygulama geliştiricilerin daha rahat çalışmasına
olanak sağlanmıştır.
 HTML kodları ve kullanılan kontrollere ait
tanımlamalar .aspx uzantılı dosyalarda tutulurken,
sunucuda çalışacak kodlar .aspx.cs uzantılı
dosyalarda tutulmaktadır.
 Code-behind kodlama denilen bu yapıda, HTML
kodları ve kontroller ile sunucu kodları ayrı
dosyalarda
tutulmuş
olsa
da
uygulama
çalıştırıldığında sunucu, bu dosyaları bir bütün olarak
görür ve bu şekilde çalışmasını sağlar.
WEB TASARIMI VE PROGRAMLAMA
37
ASP.NET SAYFA YAPISI
Default.aspx
HTML ve kontrol tanımlamaları yapılır
Default.aspx.cs
Sunucu tarafında çalıştırılacak kodlar tanımlanır.
WEB TASARIMI VE PROGRAMLAMA
38
ASP.NET SAYFA YAPISI
• .aspx Sayfalar
 Sayfanın en başında Page yönergesi bulunmaktadır. Bu
yönerge sayfa ile ilgili, sayfanın türünü, kodlanan dili,
kodların tutulacağı dosya adını vb. bilgileri vermektedir.
 <html>, <head>,
<body>, <form>
gibi etiketler
standart HTML etiketleridir.
 <asp: ile başlayan kodlar ise
sunucu kontrolleri tanımlamak
için kullanılır.
WEB TASARIMI VE PROGRAMLAMA
39
ASP.NET SAYFA YAPISI
• .aspx Sayfalar
 <form> etiketinin ayrı bir önemi vardır. Standart bir
ASP.NET sayfasında mutlaka bulunmalıdır.
 Sayfaya eklenen bütün sunucu etiketleri bu etiket
içinde yazılmalıdır.
 <form> etiketi runat =”server” ifadesi mutlaka
içermelidir. Bu ifade, bu etiket içindeki kodların
sunucuda çalışması gerektiğini bildirir.
WEB TASARIMI VE PROGRAMLAMA
40
ASP.NET SAYFA YAPISI
• .aspx.cs Sayfalar
 Sunucuda çalışacak kodları içeren sayfadır.
 Sayfanın başlangıcında çeşitli isim alanları sayfaya
dâhil edilmiştir.
WEB TASARIMI VE PROGRAMLAMA
41
ASP.NET SAYFA YAPISI
• .aspx.cs Sayfalar
 public partial class Default : System.Web.UI.Page
kodu ile sayfanın System.Web.UI isim alanı altında yer
alan Page sınıfından türetilmesi sağlanmıştır.
 Programlama yazılımı ile açılan her sunucu kod
sayfasında Page_Load adında metot eklenmiştir. Bu
metot, yaşam döngüsü içinde sayfa ilk yüklendiğinde
çalıştırılacak olay metodudur. Sayfa içinde oluşturulacak
diğer metotlar, değişkenler ve özellikler de bu bölümde yer
alır.
WEB TASARIMI VE PROGRAMLAMA
42
ASP.NET SAYFA YAPISI
 Sunucu tarafından çalıştırılacak kodlar sayfaya gelen
ilk istekte derlenir ve bu derleme sistemde saklanır.
Sonraki isteklerde tekrar derleme yapılmaz ve
isteklere daha hızlı cevap verilmesi sağlanmış olur.
 Inline kodlama yönteminde sadece .aspx dosyası
oluşturulur. HTML kodları, kontrol tanımlamaları ve
sunucu kodları bu dosyada tutulur.
 Inline kodlamada sunucuda çalışacak kodlar
<script runat = “server”> şeklinde yazılmış bir kod
bloğu içinde yazılır. Ancak bu yöntem, karmaşıklığı
nedeniyle çok fazla önerilmez!!!
WEB TASARIMI VE PROGRAMLAMA
43
ASP.NET SAYFA YAPISI
inline kodlama metodu
sunucu kodları
Inline kodlama yöntemi,
HTML kodları
karmaşıklığı nedeniyle çok fazla önerilmez
!!!
WEB TASARIMI VE PROGRAMLAMA
44
OLAYLAR
 Olaylar, .NET uygulamalarında
taşlarından biridir.
en
temel
yapı
 Kullanıcıların uygulama ile etkileşime girmesinden
sonra istenilen bir metodun çalışmasını sağlayan
sınıf elemanlarıdır.
 Sayfaya bir kontrol eklendiğinde, .NET platformu
uygulama geliştiriciler tarafından oluşturulan kontrole
ait sınıftan bir nesne örneği oluşturur. Uygulama
geliştirici, bu nesne örneğinin görsel kısmını görür.
WEB TASARIMI VE PROGRAMLAMA
45
OLAY TANIMLAMA
 Nesne üzerine çift tıklandığında HTML koduna
OlayAdi= "MetotAdi" şeklinde bir atama yapılır.
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" />
 Sayfadaki bir nesneye çift tıklanarak programlama
editöründe (.aspx.cs içine) yazılan metot; kullanıcı
tarafından nesne ile etkileşime girildiğinde, HTML
içinde tanımlanan olayla birlikte çağrılacaktır.
protected void Button1_Click(object sender, EventArgs e)
HTML kodlarındaki metot adı ile sunucu
kodları sayfasındaki metot adı aynı olmalıdır.
WEB TASARIMI VE PROGRAMLAMA
46
OLAYLAR
 Bir kontrol, birçok olaya sahiptir. Bu olaylardan bir
tanesi varsayılan olaydır.
 Programlama ortamında bir kontrolün üzerine çift
tıklandığında otomatik olarak varsayılan olay için bir
metot açılır.
 Oluşturulan
metodun
adı
standart
olarak
kontrolunAdi_OlayinAdi şeklindedir. Bu metot ismi
değiştirilebilir.
 HTML kodlarındaki metot adı ile sunucu kodları
sayfasındaki metot adının aynı olmasına dikkat
edilmelidir.
WEB TASARIMI VE PROGRAMLAMA
47
KONTROLLERİN VARSAYILAN OLAYLARI
Aşağıda çok kullanılan kontrollere ait varsayılan olaylar listelenmiştir. Bu kontrolleri
sayfamıza ekledikten sonra üzerlerine çift tıkladığımızda ilgili olaya ait metot
otomatik oluşturulacaktır.
Page: Load - Sayfanın sunucuda oluşturulması olayı
Button: Click - Tıklanma olayı
Calendar: SelectionChanged - Seçili tarihin değiştirilmesi olayı
CheckBox: CheckedChanged - Seçili durumun değiştirilmesi olayı
CheckBoxList: SelectedIndexChanged - Seçili elemanın değiştirilmesi olayı
DropDownList: SelectedIndexChanged - Seçili elemanın değiştirilmesi olayı
LinkButton: Click - Tıklanma olayı
ListBox: SelectedIndexChanged - Seçili elemanın değiştirilmesi olayı
RadioButton: CheckedChanged - Seçili durumun değiştirilmesi olayı
RadioButtonList: SelectedIndexChanged - Seçili elemanın değiştirilmesi olayı
TextBox: TextChanged - Metin kutusundaki metnin değiştirilmesi olayı
WEB TASARIMI VE PROGRAMLAMA
48
PAGE SINIFI VE OLAYLARI
Asp.NET 'in çok önemli bir özelliği de sayfaların sınıf olarak
oluşturulmasıdır. Bir Asp.NET sayfasına istekte bulunulduğunda, sunucuda
o sayfaya ait sınıftan bir nesne oluşturulur ve ardından diğer işlemler
gerçekleştirilir.
Sunucuda sayfa ile ilgili sırasıyla şu olaylar gerçekleşir ve bu olaylar için
biz de alt programlar yazabiliriz:
PreInit: İlk gerçekleşen olaydır. Sayfanın ön yüklemeye geçilmesinden
önce çalışır.
Init: Sayfanın ön yüklemeye başlanması olayıdır.
Load: Sayfa sunucuda yüklendikten sonraki olaydır. Kontroller artık hazır
olduğundan kontroller ile ilgili özellikler kullanılabilir.
PreRender: Sayfanın Html çıktısı üretilmeden hemen önce tetiklenir ve
Html çıktısına burada müdahale edilebilir.
UnLoad: Sayfanın sunucuda hafızadan temizlenmesinden yani
kaldırılmasından önceki en son adımdır. Sayfa sonlandırılırken yapılması
gereken şeyler varsa burada yapılabilir.
Page nesnesinin varsayılan olayı Load olayıdır ve her Asp.NET sayfasında
varsayılan olarak Page_Load alt programı bulunur.
WEB TASARIMI VE PROGRAMLAMA
49
WEB SAYFASI YAŞAM DÖNGÜSÜ
 Bir ASP.NET sayfası çalıştırılırken gerçekleşen olay
sıralamasına yaşam döngüsü denir.
Yaşam döngüsü içerisinde gerçekleşen olaylar
1 Page_PreInit – Page_Init:
2 Page_Load
3 Control Events
4 Page_PreRender
5 Page_Unload
WEB TASARIMI VE PROGRAMLAMA
50
WEB SAYFASI YAŞAM DÖNGÜSÜ
 Page_PreInit – Page Init
Web sayfasının başlatılması ve web sayfasındaki
kontrollerin nesne örneklerinin oluşturulduğu olaylardır.
 Page_Load
Sayfa yüklendikten sonra tetiklenen olaydır ve
programlama yazılımında her sayfada varsayılan olarak
eklenir. Bu olayın tetiklenmesiyle kontrollerin özellikleri
ile ilgili işlemler yapılabilir.
 Control Events
Kullanıcı ve kontrol olaylarıdır. Kontrol değerlerinin
değişmesi ve tıklama olayları ile tetiklenir.
WEB TASARIMI VE PROGRAMLAMA
51
WEB SAYFASI YAŞAM DÖNGÜSÜ
 Page_PreRender
HTML çıktısı oluşturulamadan hemen önce tetiklenir. Bu
adımda HTML çıktısına kod yazılarak müdahale
edilebilir.
 Page_Unload
Bu olay, sayfa kapandığı zaman tetiklenir. Sayfa
kullanıcı olaylarının sonlanması ve sayfanın sisteme
iadesi için kullanılan olaydır.
WEB TASARIMI VE PROGRAMLAMA
52
ASP.NET DOSYA VE KLASÖRLERİ
• Dosyalar
 asax
Uygulama yaşam döngüsü içerisinde çeşitli noktalarda
çalışan isteğe bağlı yöntemleri (olay işleyiciler) içerir.
Uygulamalarda varsayılan olarak global.asax dosyası
kullanılır. Uygulama kök klasöründe yer alır.
 ascx
Herhangi bir ASP.NET Web Forms sayfasına eklenebilen
özel bir işlevselliği tanımlayan bir web kullanıcı kontrol
dosyasıdır. Bu dosyalar tek başlarına çalıştırılamazlar,
sadece aspx veya master uzantılı dosyaların içinde bir
kontrol olarak kullanılabilirler. Uygulama kök klasöründe veya
alt klasörde yer alır.
WEB TASARIMI VE PROGRAMLAMA
53
ASP.NET DOSYA VE KLASÖRLERİ
• Dosyalar
 asmx
Diğer Web uygulamaları tarafından çağrılabilir sınıfları ve
yöntemleri içeren bir XML web servisleri dosyasıdır.
Uygulama kök klasöründe veya alt klasörde yer alır.
 aspx
Web denetimleri, sunum ve iş mantığı içeren bir ASP.NET
web form sayfasıdır. Temel işlemlerin yapılacağı ve
kullanıcıların
görüntüleyebileceği
dosyalardır.
HTML
kodlarını, sunucu ve kullanıcı kontrollerini içerir. Uygulama
kök klasöründe veya alt klasörde yer alır.
WEB TASARIMI VE PROGRAMLAMA
54
ASP.NET DOSYA VE KLASÖRLERİ
• Dosyalar
 browser
Bireysel bir tarayıcı özelliklerini tanımlayan tarayıcı tanım
dosyasıdır. App_Browser klasöründe yer alır.
 cd
Sınıf diyagramı dosyasıdır. Uygulama kök klasöründe veya
alt klasörde yer alır.
 cs
Sunucuda çalıştırılacak kodları içeren kod dosyasıdır.
Uygulamanın her yerinden kodlara ulaşılması isteniyorsa
App_Code alt klasöründe tutulmalıdır.
WEB TASARIMI VE PROGRAMLAMA
55
ASP.NET DOSYA VE KLASÖRLERİ
• Dosyalar
 config
ASP.NET özelliklerini ve ayarlarını içeren XML tabanlı bir
yapılandırma dosyasıdır. Uygulamanın genelinde geçerli
olacak ayarlar bu dosyada saklanır. Bu dosya uygulamada
web.config olarak isimlendirilmektedir.
Uygulama kök klasöründe yer alırsa uygulamanın tamamını
içeren ayarları, bir alt klasörde yer alırsa o klasördeki
dosyaların ayarlarını içerir. Uygulama kök klasöründe veya
alt klasörde yer alır.
 dll
Derlenmiş sınıf kütüphane dosyasıdır. Bin alt klasöründe yer
alır.
WEB TASARIMI VE PROGRAMLAMA
56
ASP.NET DOSYA VE KLASÖRLERİ
• Dosyalar
 master
Uygulamada diğer web sayfaları için sayfa düzenini
tanımlayan bir ana sayfa dosyasıdır. aspx sayfaları için temel
şablon olarak kullanılan dosyalardır. MasterPage olarak
adlandırılan bu dosyaların yapısı aspx dosyaları ile aynıdır.
Uygulama kök klasöründe veya alt klasörde yer alır.
 mdb
Access veri tabanı dosyasıdır. App_Data alt klasöründe yer
alır.
 mdf
SQL Server Express veri tabanı dosyasıdır. App_Data alt
klasöründe yer alır.
WEB TASARIMI VE PROGRAMLAMA
57
ASP.NET DOSYA VE KLASÖRLERİ
• Dosyalar
 resx
Uygulamada metin, resim ve medya içerikli dosyaları
saklayan XML tabanlı bir dosyadır.
App_GlobalResources veya App_LocalResources alt
klasörde yer alır.
 sitemap
Web uygulamasının mantıksal yapısını tanımlayan XML
tabanlı bir dosyadır. Uygulama kök klasöründe yer alır.
 skin
Sunucu kontrollerinin görünümlerinin ayarlanabileceği stil
dosyalarıdır. App_Themes alt klasöründe yer alır.
WEB TASARIMI VE PROGRAMLAMA
58
ASP.NET DOSYA VE KLASÖRLERİ
• Klasörler
 Account
Kullanıcı denetimleri ile ilgili dosyaları içerir.
 App_Browser
ASP.NET tarayıcıları ve özellikleri belirlemek için kullandığı
tarayıcı tanım dosyalarını (.browser) içerir.
 App_Code
Uygulamanın bir parçası olarak derlenmiş kod dosyalarını
içerir. Dinamik olarak derlenmiş web projelerinde ilk olarak
bu klasör içindeki kod derlenir.
WEB TASARIMI VE PROGRAMLAMA
59
ASP.NET DOSYA VE KLASÖRLERİ
• Klasörler
 App_Data
Veri tabanı dosyaları içerir. Bir uygulamanın yerel veri
tabanını saklamak için ASP.NET tarafından kullanılır.
 App_GlobalResources
Genel kapsamlı erişilebilir kaynakları (.resx ve .resources)
içerir.
 App_LocalResources
Bir uygulamada belirli bir sayfa, kullanıcı kontrolü ya da
MasterPage ile ilgili kaynakları (.resx ve .resources) içerir.
WEB TASARIMI VE PROGRAMLAMA
60
ASP.NET DOSYA VE KLASÖRLERİ
• Klasörler
 App_Themes
ASP.NET Web sayfaları ve kontrollerin
tanımlayan dosyalar koleksiyonu içerir.
görünümünü
 Bin
Derlenmiş assembly dosyalarını (.dll dosyaları) içerir. Bir
uygulama derlendiğinde sunucu ilk olarak bu klasör içindeki
kod kütüphanelerine bakarak dosyaları arar.
 Images
Web uygulamasında kullanılan resimleri içerir.
 Scripts
Web uygulamasında kullanılan script dosyalarını içerir.
WEB TASARIMI VE PROGRAMLAMA
61
Download