İlk Konumuz Web
kavramları ve ASP.NET'E Giriş;
- Microsoft'un .NET Çatısı;
Microsoft'un interneti göz önüne alarak hazırladığı bir platformdur.
.NET yeni teknolojilerden oluşan bir çalışma ortamıdır. .NET
platformunu iki başlık altında inceleyebiliriz.
1. .NET Framework
2. .NET Dilleri
NET Framework;
Microsoft .NET Framework teknolojisi Web servislerinin ve Web
uygulamalarının geliştirilmesi ve çalıştırılması için kullanılan
açık internet protokolleri ve standartları, üzerine kurulmuş, çok
geniş olanaklar sunan bir platformdur. .NET Framework ASP.NET
geliştirme ortamı için gerekli olan bir teknolojidir. ASP.NET
destekleyen temel hizmetleri de sunmaktadır. .NET Framework
platformu iki bölümde inceleyebiliriz.
Bunlar Sevgili Acemiler. Biz üyeleri;
1. CLR ( Common Language RunTime)
2. .NET Sınıf Kütüphanesi
Acemiler için bir NOT: .NET Framework CLR ve .NET sınıf
Kütüphanesini Kapsar. Yani içindedir. Ayrı bir platform değildir.
CLR Ortak Dil Çalışması;
CLR ( Common Language RunTime) .NET Framework’ün en önemli
bileşenidir. Bütün .Net dilleri birlikte çalışan bir ortamdır. CLR
.NET Framework uygulamaları için bir çalışma motorudur. CLR, .NET
Framework içinde .NET dilleri ile yazılmış program kodlarını yönetir
ve bu kodların çalıştırılmasını sağlar. CLR, nesnelerin etkin
süresini yönetimini ve güvenliğini sağlar. Nesnelerin belleğe
aktararak çalıştırır.
Program yazıldıktan sonra her derleyici yazmış oldukları kodları. IL
(Intermediate Language) ya da MSIL diye adlandırılan bir dilde
derlenmesini sağlarlar. .NET dillerinin başlıcaları olan C# ve
VB.NET programları da IL dili ile derlenir.
Yine Acemiler için Not: VB.NET Program Kodları VB.NET Compiler
(derleyici) ye gönderilir, C# Program Kodları C# Compiler'e. Hepsi
IL yani (Intermediate Language) oradan da CLR (Common Language
Runtime) yani Genel Dil Çalışma Zamanı'na gönderilir. Minik bir şema
yaparsak.
Acemiler.Biz üyesi > VB.NET > VB.NET Compiler > IL > CLR = Program.
CLR, ihtiyaç duyulan sınıfları ve metadata bilgilerini saklar. CLR
sayesinde .NET platformunda yer alan bileşenler istenildiği kadar
güncellenebilir ve bir bileşenle ilgili birden fazla sürüm
yüklenebilir. CLR bir çok dil üzerinde hata ayıklaması
gerçekleştirerek hata oluşmasını en aza indirger.
IL koduna derleme işleminin yapılması için JIT( Just in Time)
derleyiciler kullanılır. Ayrietten Sevgili Acemiler.Biz üyeleri
sadece bilginiz olsun diye ve JIT hakkında fikrini olsun diye
söylüyorum. JIT işletmelerde de kullanılır. Tam Zamanında ve Yerinde
üretim demektir.
Bütün .Net kodları IL'e dönüştürülmektedir. CLR aynı zamanda nesneye
yönelik bir çok kavramı destekleği gibi nesnelere ait özellik, sınıf
özellikleri ve olayları da destekler.
.NET Sınıf Kütüphanesi;
.Net sınıf kütüphanesi, bir çok dil ve farklı platformlar arasında
desteklenmektedir. Çok iyi organize edilmiş bir sınıf
kütüphanesidir. Bu sınıf kütüphane hazırlanan Web uygulamalarına
hemen eklenebilen pek çok fonksiyondan oluşmaktadır.
.NET sınıf kütüphanesi uygulama geliştiricileri desteklemek için
yapılmıştır.Geliştiriciler kendi uygulamalarını geliştirmek için
basit ve çok işlevli sınıflar yer almaktadır. Bu sınıflarda verilere
erişim sağlayan, ortak veri tiplerini destekleyen ve ağ işlemlerini
kapsayan pek çok çözüm bulunmaktadır. .NET sınıf kütüphanesine
teknolojilerin başlıcaları;
- ADO.NET | Veri Erişimi yani sevgili acemiler bir den fazla farklı
veri tabanlarından verileri çekerek bir yerde kullanmak için iler
seviye bir dildir.
- Web Formları | Belki böyle yazınca acaba ne diyorsunuz ama şöyle
yazsam. ASPX evet bir çok sitede gördüğünüz default.aspx sayfaları
web formlarıdır.
- XML | Sanırım bunu açıklamaya gerek yok. Herkes biliyor.
- Dosya I / O
.NET DİLLERİ;
..NET teknolojisinde genellikle VB.NET , C# dilleri
kullanılmaktadır. VB.NET ve C# dilleri birbirinden oldukça
benzemektedirler. Bütün .NET dilleri değişkenler ve veri tipleri
aynıdır. (Boleon , String gibi)
VB.NET ve C# dilleri genel dil çalışma zamanı (CLR) tarafından
yönetilmektedir. .NET çatısı altında bu iki dil dışında çok
kullanılmasa da aşağıda ki vereceğim listede ki diler de kolayca
kullanılmaktadır. Bu tam liste değil sevgili acemiler üyeleri bir
kısmını yazıyorum;
- COBOL
- APL
- PASCAL
- EIFFEL
- PERL
- PYTHON
- ML
- SCHEME
- SMALTALK
- Bir de ACEMİCE :) ("Şaka tabi yok böyle bir dil")
Zaten geliştirme araçları ile ilgili bilgiyi ilkyazımda verdim. Ama
proje geliştirecekler için bir kez daha tekrar ediyorum. Visual
Studio.NET Projelerin Güvenliği, Hata Ayıklaması ve Tasarımda güçlü
XML desteğinin olması oldukça yararlı bir editör haline getiriyor.
Derslerin devamı SanalKurs.NET Ve QRESELTech.Com Adreslerinden Takip
Edebilirsiniz...
Ders'e başlamadan önce
belirtmek isterim forum'dan bana aklınıza takılan soruları
sorabilirsiniz. Fakat Google'da , Live Search'de veya YAHOO! Search'de
arandığında birinci sırada çıkan sorular olursa cevaplamayabilirim.
Kimse alınmasın ama bizimkiler biraz tembeller. Herşey ellerinin
altına gelsin istiyorlar. Sitemimide yaptıktan sonra derse
başlayabiliriz :)
Baştan belirteyim hemen ASP.NET, .NET platformunda çalışan sunucu
taraflı bir Teknolojidir. ASP.NET istemcilerden yani aspx uzantılı
sayfaları gezen ziyaretçilerden gelen isteklere dinamik olarak cevap
vermektedir. Dinamik olarak cevap vermek ne? diye sorarsanız. Her
ziyaretçiye kendi, seçimlerinin sonucunda bir sayfa gösterilmesi gibi.
ASP.NET daha öncede anlattığım gibi tamamen nesneye yönelik .NET
dillerini kullanmaktadır. Örneğin; VBScript , C# gibi. ASP.NET kodları
aspx uzantısı ile kaydedilmektedir. ASP.NET uygulamaları birden fazla
sayfadan meydana gelmektedir. ASP.NET ile yaptığımız web sayfaları
bellekteki ayrı kaynakları kullanırlar. Bu yüzden bir web sayfasının
uygulaması, başka bir web sayfası uygulamasından bağımsızdır.
ASP.NET'in kullanılabilmesi için en yaygını ve en çok kullanılan
Microsoft harikası İnternet İnformation Server yani IIS veya PWS gibi
farklı bir web server kurmanız gerekmektedir. IIS adını daha çok
duyacaksınız şimdiden aklınızın bir köşesine koysanız iyi edersiniz.
Şu an IIS’ ın son versiyonu IIS 6.0'dır.
Kısaca IIS, Web Tarayıcısı (İstemci) , ASP.NET arasında ki ilişkiyi
açıklayacak olursak.
Web Tarayıcısı yani istemci IIS'a istek de bulunur. IIS sayfanın
uzantısı aspx ise bu istediği ASP.NET'e iletir. ASP.NET kodları
yorumlar ve IIS'e iade eder. IIS'de ASP.NET'ten gelen kodları web
tarayıcısına salt HTML kodları olarak geri çevirir. Buradan neyi
anladık? ASP.NET kodlarının sayfanın kaynağında gözükmediğini.
ASP.NET'in Özelliklerini Şu Şekilde Sıralayabiliriz;
- Dinamik Web Uygulamaları Geliştirilmektedir.
- .NET Framework platformunun çok önemli bir bölümüdür.
- Web uygulamaları çok kısa bir zamanda geliştirilebilmektedir.
- Uygulama geliştirmekte birçok dil kullanılabilmektedir.
- Uygulama geliştirmede içerik ve kod bir birinden farklı dosyalarda
yer alabilir.
- Yazılan kodlar hemen derlenebilmektedir.
- Nesneye yönelik programlama yapılabilmektedir.
Web Server kontrolünün
önemli bir özelliğini ise bilgi giriş kontrolü yapan Validation
kontrolleri oluşturur. Web form üzerindeki kontrollere istediğimiz
bilgilerin; istediğimiz format ile girilmesi kontrolüne Validating
denir. Bu yapı sayesinde oluşabilecek hatalar en aza indirgemiş
oluruz.
WEB FORM ÜZERİNE VALİDATİON KONTROL EKLENMESİ
Validation kontrol eklenmesi ToolBox üzerinden sürükleyerek ; input
kotrol yanına getirmek süretiyle yapılır. Daha sonra validation
kontrolün Properties penceresinden kontrol edeceği Input Kontrolün
ID'si seçilir. Bir input Kontrole birden çok validation kontrol
atanabilir.
Type ve EnableClientScript özellikleri özel durum taşır.
Type: Veri tipi validating işlemine tabi tutulacak
ise ControlToValidate'den kontrol seçilince; veri tipi Properties
kısmındaki Type bölümünden seçtiğimiz veri tipine göre, otomatik
olarak kontrol edilir. Özel bir tanımlamaya ihtiyaç yoktur.
EnableClientScript: EnableClientScript özelliği
True olursa Client-Side validation çalışır. Varsayılan olarak True
özelliğindedir. ASP.NET ; client-Side validation'ı Jscript ile
Server-Side validation'ı C# veya Vb içinde oluşturur.
VALIDATION GENEL ÖZELLİKLER
Display: Eğer birden fazla validation kontrol
eklenecekse; bu Display seçeneğinin Dynamic olması gerekir.
Validator'ın bu özelliği sayesinde; yanyana eklenmiş validator'ların
hemen input kontrolün yanında çıkması sağlanır. Statik olursa;
nerede koymuş isek, orada çıkar. Default olarak Display özelliği
Static'tir. Aynı kontrol içinde birden fazla validator kullanıldığı
zaman, Dynamic özelliğine çevirmeyi unutmayınız. None kullanılırsa
error mesajı için blok koyar.
Error Message: İki şekilde çıkartılır. Birincisi;
Validator'un ErrorMessage kısmına, ikincisi de Text kısmına yazarak.
ErrorMessage kısmına yazılmış bir mesajın hata durumunda görünmesini
istiyorsak; Text kısmını boş bırakmamamız gerekir. Her ikisinde de
yazı varsa; text kısmına yazdığımız hata durumunda
görüntülenecektir. ErrorMessage ayrıca ValidationSummary validator'ı
kullandığımızda gereklidir. Orada bu mesaj görüntülenir. Onun için
biz, normal mesajları Text kısmına yazalım.
REQUIRED FIELD VALİDATOR
İki amaçla kullanılır: Birincisi; bu alanın boş geçilmesini engeller.
Bunun için ControlToValidate kısmından Input kontrol seçilir ve
ErrorMessage kısmına veya Text kısmına boş bırakıldığı zaman; hangi
mesajın çıkması isteniyorsa o yazılır.
Diğer kullanım amacı ise; herhangi bir değerin girilmesini
engellemektir. Bu kullanım için InitialValue kısmına girilmesi
istenmeyen değer yazılır. Eğer bu değer girilirse; hata mesajı
karşımıza çıkar. Bu durumunda boş olup- olmadığı kontrol edilmez.
Şimdi uygulamamıza geçelim:
Çalışmalarımızı VisualStudyo2005 te yapacağız. VisualStudyo2005'i
açıyoruz, Create Web Site diyoruz.

Sonra açılan sayfada ASP:NET web site seçeneğini seçiyoruz ve dil
olarakta C# ı seçiyoruz. Sonra tasarım sayfamız acılıyor buradan
design kısmına geçiyoruz.


Şimdi sıra nesnelerimizi eklemede birer tane textbox, buton ve
REQUIREDFIELDVALİDATOR ekliyoruz. REQUIREDFIELDVALİDATOR
Eklemek için toolbox-validation-REQUIREDFIELDVALİDATOR
Sonra REQUIREDFIELDVALİDATOR nesnemize tıklayarak propertis kısmında
errormessage kısmına nesnemizin boş bırakıldığındaki gözükmesini
istediğimiz yazıyı yazıyoruz ben "bu alanı bos bırakamazsınız!"
yazdım.
Ve controltovalidate kısmını textbox1 yapıyoruz çünkü bilgi girişini
textbox1 den yapacağız.
Butonumuzun ismini değiştirmek isterseniz gene butona tıklayarak
Properties'ten text kısmından butonumuzun ismini değiştirebilirsiniz

İşlemlerimiz bittikten sonra start debug veya f5 kısayolunu kullanarak
çalışmamızı test ediyoruz ve çalışmamızın son hali

RANGEVALIDATOR
Belirlenen bir aralıkta değer girilmesini kontrol eder. Örneğin; bir
tarih veya sayı aralığı ile veri girişini sınırlamak isterseniz,
tercih edeceğiniz bir yöntemdir.
Özellikleri :
MinumumValue: Belirlenen aralıkta başlangıç değeri bu
alana yazılır.
MaximumValue: Belirlenen aralıktaki bitiş değeri bu
alana yazılır.
Type: Kullanılacak aralık için veri tipi seçilir.
Eğer iki tarih arası ile bilgi girişini sınırlamak istiyorsanız date
veri tipi seçmeniz gerekir.
Toolboxtan 1 er adet textbox,button,ve rangevalidator alıyoruz
Controltovalidate yi textbox1
Minimum value ile maximum value yi belirliyoruz ben burada tarih
kullandım.
Minumum değere 01.01.1990 maximum değere ise 31.12.2007 yazdım
Tabiî ki isterseniz buralarda tarih dilde başka değerler
kullanabilirsiniz bu size kalmış.
Ben tarih kullandığım için type yi date yaptım errormassage kısmına
istediğiniz bir msj ı yazabilirsiniz ben "1990-2007 arası bir tarih
giriniz" yazdım:

Bu işlemleri yaptıktan sonra f5 yapıyoruz ve sonuç:
REGULAREXPRESSİONVALIDATOR
Veri girişinde belli biçimler kullanılmasını sağlar. Örneğin e-mail
adresinde kullanılan @ ve nokta işaretinin kontrolünü yapmak, bu
validator'ın görevidir. ValidationExpression kısmından uygulanacak
format seçilir. Burada e-mail, web sitesi, telefon numarası ve posta
kodu gibi hazır kalıplar vardır.
Yine 1'er tane textbox, button ve regularexpressionvalidator nesnesini
formumuza ekliyoruz
Sonra validationexpression kısmından internet e-mail adres i seçiyoruz
controlvalidatesini textbox1 yapıyoruz erromessageye ıstedıgımız bi
hata bildirim msj ı yazıyoruz ben "lütfen gecerli bir e-mail adres
yazınız" yazdım

Sonra f5 basıp sonucu goruyoruz
COMPAREVALIDATOR
Değer kıyaslaması için kullanılır.
Input kontrolü içindeki değeri kıyaslar. Bunun için ControlToCompare
kısmından hangi Input kontrolü ile kıyaslanacağı seçilir ve iki input
kontrol içinde aynı değer olmaması durumunda hata mesajı çıkar.
ValueToCompare içine girilen değere bakar. Eğer bu değer; input
kontrole girilmez ise hata mesajı verir.
Bu tür özel değerler için Type kısmından veri tipi veya Operator
kısmından kullanılacak kıyaslama değeri seçilebilir.
Bu sefer bir değişiklik yapıp 2 tane textbox ekleyelim çünkü girilen 2
değer arasında kıyaslama yapıcaz gene meşhur button umuzuda eklemeyi
ihmal etmeyelim.
Bir tane de comparevalidator ekleyelim.
Sonra comparevalidatore tıklayıp propertis denetcisine girelim
Controltocompare kısmına textbox1 controltovalidate kısmına ise
textbox2 yapalım.
Operator kısmı equal kalsın errormessage kısmına istediğiniz bir hata
mesajı yazın, ben "girdiğiniz değerler aynı değil" yazdım.

Sitelere üyelık formlarında veya başka bir yerde mutlaka
görmüşsünüzdür e-mail / e-mail tekrar yazınız gibi seyler işte o
kontroller asp.net'te bununla oluyor.
İşlemleri bitirdikten sonra f5 yapıyoruz. İşte sonuç:

Bu yazdığım 5 ders ASP.NET in inceliklerinden sadece bir kaçı inşallah
her seyi tam olarak aktarabilmişimdir, ama sizden ricam direk 5.
dersten başlamayın 1.derste her seyi daha açık anlattım giriş niteliği
taşıdığı için sonra gelen derslerde ise 1. dersin devamı
niteliğindedir.
|