İnternet Programcılığı II T.C. Mehmet Akif Ersoy Üniversitesi Gölhisar Meslek Yüksekokulu *ASP.Net Microsoft tarafından tasarlanan web uygulama dilidir. Programcılar ASP.Net kullanarak dinamik web siteleri, web uygulamaları ve XML web servisleri geliştirebilirler. ASP.Net .Net platformunun bir parçasıdır ve ASP’nin devamı olarak nitelendirilmektedir. ASP.Net Common Language Runtime üzerine inşa edilmiştir, bu demektirki programcılar herhangi bir Microsoft .NET dilini kullanarak ASP.Net kodu üretebilirler.+ Öğr.Gör. Gökhan TURAN http://www.gokhanturan.com [email protected]
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
İnternet Programcılığı II T.C. Mehmet Akif Ersoy Üniversitesi Gölhisar Meslek Yüksekokulu *ASP.Net Microsoft tarafından tasarlanan web uygulama dilidir. Programcılar ASP.Net kullanarak dinamik web siteleri, web uygulamaları ve XML web servisleri geliştirebilirler. ASP.Net .Net platformunun bir parçasıdır ve ASP’nin devamı olarak nitelendirilmektedir. ASP.Net Common Language Runtime üzerine inşa edilmiştir, bu demektirki programcılar herhangi bir Microsoft .NET dilini kullanarak ASP.Net kodu üretebilirler.+
ASP.NET halen Windows işletim sistemi kullanan bir sunucu üzerinde yapılandırılmak zorunda; kısacası platform
bağımsız değil. ASP’de de olan bu sorunu çözmek için Linux sistemlerinde çalışan birkaç ASP hosting sunucusu
geliştirildiyse de, işin açıkçası pek başarılı olabilmiş değil. ASP.NET de hali hazırda Windows ve IIS (Internet
Information Server)’a mahkûm görünüyor.
2) Eklenti krizi
ASP.NET kaynak olarak bedava gibi görünebilir ama programlama konusunda bilgili değilseniz hazırlıklı olmanız
gereken bir durum var, o da eklentiler. Bir işlemi yapmak için gereken eklentiler genelde ücretli olarak satılıyor.
Tabii saatlerce uğraştan sonra bedava olan birkaç eklentiyi zor da olsa bulabilirsiniz.
3) Hosting maliyeti
Eğer dışarıdan hosting hizmeti alacaksanız biraz daha fazla para ödemeye hazırlıklı olmanız gerekiyor. Çünkü genel
olarak Windows hosting daha pahalı ki bu da normal olması gereken bir fark.
4) Güvenlik
Güvenlik açıkları ASP.NET"ten değil ne yazık ki IIS"ten kaynaklanıyor. Her yeni sürümde açıkları kapansa da IIS dünya
çapında güvenlik açıklarıyla ünlü. Fakat .NET ile bununda bir dezavantaj olmaktan çıkması bekleniyor.
5) Bedava değil
Evet, buna bir çok kişi şaşıracak ama temelde ASP.NET bedava değil. Ne de olsa kendi bilgisayarınızda ASP.NET kullanabilmek için (lisanslı) bir Windows sürümüne ihtiyacınız var. Bu da demek ki tam anlamıyla bedava değil.
ASP.Net Web Uygulamaları Bir web projesi açmak için VS.NET 2008’i açtıktan sonra üst menüden File > New > Web Site seçeneğinin seçtikten sonra karşımıza web site açma penceresi gelecektir. Açılan pencerede Templates kısmından ASP.NET Web Site seçeneğini seçin. Language seçeneğinin C# olmasına dikkat edin. Location kısmından File System’i oradanda nereye kaydedecekseniz konumu belirtiniz ve OK düğmesine basınız.
Resim 4: C# Dili İle ASP.Net Web Sayfası Tasarlama
Visual Web Developer Web Server Nedir?
Biraz önceki uygulamamızda F5 e bastıkdan sonra taskbarımızın üstünde bir baloncuk çıktı (Resim 5) Bu ifade web uygulamalarını geliştirmek için kullanılan local Web Server olup, IIS yapısının extra özelliklerini içermez. Önceleri IIS de ayarlama sorunları yaşadığımız olmuştur. .NET 2008 platformu kendi IIS ini çalıştırdığından IIS bazındaki sorunlar ortadan kalkmıştır.
Resim 5: ASP.Net Development Server
Evet artık ASP.Net uygulamalarımızı geliştirebiliriz. Bunu için açtığınız projenin çalışması durduğundan emin olun. Çalışma durumunu durdurmak için açılan internet Explorer penceresini kapatmak yeterli olacaktır.
Server Kontrol Nedir? Kullanıcı arabirimi veya diğer ilişkisel fonksiyonlar oluşturmak üzere Server üzerinde çalışan componentlere denir. Server kontroller runat= “server” özelliğine sahiptirler. (Resim 6)
Resim 6: Server Kontrol
Standart Kontroller ASP.NET ile web sitesi tasarımında html kontrolleri istenirse kullanılabilir. Fakat ASP kontrolleri gelişmiş özelliklere
sahip olduğu için tercih edilir. En çok kullanılan ASP.NET kontrolleri aşağıda verilmiştir.
4) Sonrasında Image Button’a çift tıklayın ve aşağıdaki kodu yazın. protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
Response.Redirect("http://www.gokhanturan.com");
}
Kodumuzu yazıp çalıştırdıktan sonra resmi tıkladığımızda web sayfası açılacaktır.
HyperLink: Sayfa üzerinde linkler vermeye yarayan kontroldür.
DropDownList: Açılan liste şeklinde seçim yapmak için kullanılır. Birden fazla seçeneğin sadece bir
tanesinin seçilmesi durumunda kullanılır. Örneğin; Web sitelerin “İl ve İlçe” seçimleri gibi işlemlerde kullanılır.
2
1) File>New>Web Site seçeneğini seçerek yeni bir web sitesi oluşturalım. 2) Web sitemize Image Button ekleyin. 3) Image Button’un Properties’inden “ImageUrl” özelliğinden resim yolunu gösterin.
4) Add butonuna basarak DropDownList için elemanlar eklenir. Add dedikten sonra Text ve Value degerlerini girelim. 5) Text özelliğine yazdığımız değerler DropDownList de ekranda görünecektir.
3
1) Yeni bir Web Sayfası açalım. 2) Toolboxdan çalışma alanına DropDownList ekleyelim.
3) DropDownList’i seçtikden sonra Properties penceresinden Items seçeneğini
1) Yeni bir Web Sayfası açalım. 2) Toolboxdan çalışma alanına DropDownList ve Label ekleyelim. 3) DropDownList’i seçtikden sonra Properties penceresinden Items seçeneğini tıklayınız. Karşımıza ListItems Collection Editor penceresi açılacaktır. 4) Add butonuna basarak DropDownList için elemanlar eklenir. Add dedikten sonra Text ve Value degerlerini girelim.
5) Daha sonra DropDownList’i çift tıklayarak code‐behind alanına geçelim. 6) DropDownList’in SelectedIndexChanged olayına aşağıdaki kodumuzu yazalım. protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
Listbox: Tüm özellikleri DropDownList ile aynısıdır. Tek fark karşımıza direk olarak liste şeklinde gelmesidir. Kodlama olarakda DropDownList de geçerli olan tüm kodlar ListBox içinde geçerlidir.
Kodu çalıştırdığımızda, DropDownList’den seçmemize rağmen TextBox’a değer aktarılmayacaktır. ASP.Net sayfalarında bu özelliğin algılanması için, DropDownList1’in properties penceresinde bulunan AutoPostBack özelliğinin True olması gerekmektedir.
5
1) Yeni bir Web Sayfası açalım. 2) Toolboxdan çalışma alanına ListBox ve Label ekleyelim. 3) ListBox’u seçtikden sonra Properties penceresinden Items seçeneğini tıklayınız. Karşımıza ListItems Collection Editor penceresi açılacaktır. 4) Add butonuna basarak ListBox için elemanlar eklenir. Add dedikten sonra Text ve Value degerlerini girelim.
5) Daha sonra ListBox’u çift tıklayarak code‐behind alanına geçelim. 6) ListBox’un SelectedIndexChanged olayına aşağıdaki kodumuzu yazalım. protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
{
int deger = Convert.ToInt32(this.ListBox1.SelectedItem.Value);
Label1.Text = string.Format("{0:N} TL", deger);
}
Buradaki string.Format("{0:N} TL",deger) kısmı gönderdiğimiz değeri ayraç olarak ayarlayacaktır.
Checkbox: Genel kullanımı bir formda birden fazla seçim yapmak için kullanılır.
CheckBox nesnemizin ait özellikler aşağıdaki listede yer almaktadır.
5)CheckBox’larımızın Properties penceresinden Text özelliğini kullanarak değerlerini değiştirelim.
6) DropDownList’e items özelliğinden 4 isim girelim ve AutoPostBack özelliğini True yapalım. 7)Daha sonra DropDownList’i çift tıklayarak kod alanına geçelim. Aşağıdaki kodu ekleyelim. protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
if (this.DropDownList1.SelectedIndex == 0)
{
this.CheckBox1.Checked = true;
this.CheckBox2.Checked = true;
this.CheckBox3.Checked = true;
this.CheckBox4.Checked = true;
}
else if (this.DropDownList1.SelectedIndex == 1)
{
this.CheckBox1.Checked = false;
this.CheckBox2.Checked = true;
this.CheckBox3.Checked = true;
this.CheckBox4.Checked = false;
}
else if (this.DropDownList1.SelectedIndex == 2)
{
this.CheckBox1.Checked = false;
this.CheckBox2.Checked = true;
this.CheckBox3.Checked = false;
this.CheckBox4.Checked = false;
}
else
{
this.CheckBox1.Checked = true;
this.CheckBox2.Checked = false;
this.CheckBox3.Checked = false;
this.CheckBox4.Checked = true
}
6
1) Yeni bir Web Sayfası açalım. 2) Toolboxdan çalışma alanına DropDownList ve 4 adet CheckBox ekleyelim. 3) DropDownList’i seçtikden sonra Properties penceresinden Items seçeneğini tıklayınız. Karşımıza ListItems Collection Editor penceresi açılacaktır. 4) Add butonuna basarak DropDownList için elemanlar eklenir. Add dedikten sonra Text ve Value degerlerini girelim.
1) Yeni bir Web Sayfası açalım. 2) Toolboxdan çalışma alanına Label, TextBox, 2 adet RadioButton ve Button ekleyelim. 3) Aşağıda görüldüğü gibi Text değerlerini değiştirelim. 4)Tamam Butonuna çift tıklanarak içine girip aşağıdaki kodu yazalım.
Burada Response.Write komutumuz ekrana yazmak için kullanılır. RadioButton1 eğer işaretlendi ise TextBoxdaki ismi alarak cinsiyetini ekrana yazacaktır.
Checkboxlist: CheckBox’a benzer bir yapıya sahiptir. Listbox ile CheckBox’ın birleşmesi de denilebilir.
CheckBoxlist’e ait özellikler aşağıdaki listede yer almıştır.
Radiobuttonlist: RadioButton ile ListBox’ın birleşmiş hali diyebiliriz. Items özelliğinden seçenek
ekleyebiliriz. Bu RadioButtonList listesinden sadece bir tane seçebiliriz.
1) Yeni bir Web Sayfası açalım. 2) Toolboxdan RadioButtonList ekleyerek Items özelliğinden sırasıyla Gökhan, Tülay, Turan isimlerini yazalım. 3) Daha sonra bir buton ekleyerek butonumuzun çift tıklayarak kod alanına geçelim.
Calendar: Ekrana bir takvim getirerek tarih bilgilerini almamızı sağlar. Ayrıca kullanıcıların tarih
formatlarında hata yapmalarını engellemek amaçlı kullanılır.
Calendar nesnemizin özellikleri aşağıdaki listede yer almaktadır.
Calendar nesnemizin üstünden mouse ile sağ tuşa bastığınızda gelen menüden Auto Format seçeneğini seçiniz. Karşımıza gelen pencereden bize sunulmuş olan biçimlerden birini seçerek OK düğmesine basınız.
Kodumuz yazıp çalıştırdıktan sonra Calendar nesnemizden seçtiğimiz tarihi TextBox’a aktaracaktır.
9
1) Yeni bir Web Sayfası açalım. 2) Toolboxdan Calendar ve TextBox Ekleyelim. 3) Daha sonra Calendar nesnemizi çift tıklayarak kod alanına geçelim ve kodumuzu yazalım.
Multiview ‐ View: Kullanımı tab menuye benzeyen, oldukça kullanışlı olan Multiview ve View nesneleri
beğeneceğinizi düşünüyorum.
Multiview bilmemiz gerek bir ActiveViewIndex özelliği, hangi View nesnesinin görünmesini istiyorsak onun index değeriniz yazmamız gerekmektedir. Index numaraları “ 0 “ dan başlamaktadır. Eğer ‐1 değerini belirlersek ekranda hiçbir View görünmeyecektir.
4) Daha sonra MultiView’in üstüne 3 adet Link Button ekleyerek değerlerini değiştirelim.
5)View1, View2 ve View3 ün içerisine istediğiniz nesneleri ekleyebilir veya yazabilirsiniz.
10
1) Yeni bir Web Sayfası açalım. 2) Toolboxdan bir tane Multiview ekleyeyelim. 3) Daha sonra Multiview’in içerisine 3 adet alt alta View ekleyelim.
Validation Validation Kontroller Web sayfalarında en önemli bir konu halini alan bilgi girişi ve bunların kontrollerini yapan kontrollerdir.
Kullanıcıların hatasız ve eksiksiz olarak formların doldurulmasında önemli rol oynamaktadır. Bu kontroller Javascript veya DHTML kullanılarak da yapılabiliyordu. Fakat Asp.NET 2.0 bize sunmuş olduğu bu validation sayesinde daha anlaşılır ve hızlı olmamızı sağlamaktadır. Bu kontrollerin çalışması için Internet Explorer 4 ve üstü olması gerekmektedir. Bu kontrolleri genel olarak tanımlayalım.
Validationları daha iyi anlamak için uygulamalar yapalım.
11
1) Yeni bir Web Sayfası açalım. 2) Toolboxdan TextBox, Button ve RequiredFieldValidator kontrollerini ekleyeyim.
3) RequiredFieldValidator kontrolünü tıklayalım ve Properties penceresinden ErrorMessage özelliğini kullanarak hata mesajını “Bu alanı boş geçemezsiniz” olarak değiştirelim. Böylece kullanıcı hata yaptığında bu ileti çıkacaktır. 4) Daha sonra ControlToValidate özelliğinden TextBox1 i seçiniz ve kodumuzu çalıştırınız. Eğer TextBox’ı boş geçerek butona basarsanız hata çıkacaktır. Fakat TextBox’ımıza birşeyler yazıp butona bastığımızda hata mesajı kaybolacaktır.
4) Daha sonra yine RangeValidator kontrolünün MinimumValue özelliğine “0”, MaksimumValue özelliğine ise “100” değerlerini yazınız.
5) Değerleri girdikten sonra CompareToValidate seçeneğinden Textbox objenizi seçiniz. Seçtikten sonra kodumuzu çalıştıralım ve textbox a “200” gibi büyük bir rakam girelim. RangeValidation hata verecektir. Eğer siz aralık olarak iki tarih aralığı belirlemek istiyorsanız Range Validation’nın Type özelliğini Date yapmanız gerekmektedir.
12
1) Yeni bir Web Sayfası açalım. 2) Toolboxdan TextBox, Button ve RangeValidator kontrollerini ekleyeyim. 3) RangeValidator kontrolü tıklayarak properties penceresinden ErrorMessage kısmına “0 ile 100 arası bir sayı giriniz” mesajını yazınız.
4) Properties penceresinde bulunan ValidationExpression seçeneğinin tıkladığınızda karşımıza Regular Expression Editor penceresi gelecektir. Gelen seçeneklerden telefon numarası, e‐mail, web adresi,posta kodu gibi hazır kalıplar içermektedir. Biz be seçeneklerden Internet e‐mail address seçeneğini seçiniz.
5)Burada textbox’a bilgi girişi yapıldığında “@” ve “ . ” işaretlerini kontrol edecektir.
Kalıp değerler dışında kendimize göre giriş karakter kontrolü yaptırabiliriz. Regular Expression Editor penceresinde üstte Custom seçeneğini işaretleyerek Validation expression alana ifadeleri yazınız. Karakterleri aşağıdaki tabloda inceleyebilirisiniz.
13
1) Yeni bir Web Sayfası açalım. 2) Toolboxdan TextBox, Button ve RegularExpressionValidator kontrollerini ekleyeyim. 3) RegularExpressionValidator kontrolüne ait properties penceresinden ErrorMessage kısmına “Yanlış E‐Mail” yazısını, ContolToValidate seçeneğinden de TextBox1’i seçiniz.
Bunların dışında sizlere bir kaç regular expressionlar yazılır.
4)Daha sonra kodumuzu çalıştıralım. Textbox1’e ve Textbox2 kontrollerine aynı değerleri yazmamız gerekmektedir. Buradaki seçeneklerden ControlToCompare seçeneğinde TextBox1’i seçtiğimiz için kontrol bu nesne üzerinden olmaktadır.
Kontrolleri kullanarak Web formlarımızda kullanıcı hatalarını büyük oranda engelleyerek doğru bilgilerin gönderilmesini sağlayabiliriz.
14
1) Yeni bir Web Sayfası açalım. 2) Toolboxdan 2 TextBox, Button ve CompareValidator kontrollerini ekleyeyim. 3) CompareValidator kontrolünün properties penceresinde ErrorMessage yazısını “Aynı Değerler Giriniz” olarak değiştiriniz. Daha sonra ControlToCompare seçeneğinde textbox1’i, ControlToValidate seçeneğinde ise textbox2’i seçiniz.
4)Amacımız DropDownList’te seçinlen resim Image İçinde gözükmesidir. DropDownList’in Item değerleri yazılır ve içine girilerek aşağıdaki kodlar yazılır. protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
if (DropDownList1.SelectedIndex==1)
{
Image1.ImageUrl = "~/1.jpg";
}
else if (DropDownList1.SelectedIndex == 2)
{
Image1.ImageUrl = "~/2.jpg";
}
if (DropDownList1.SelectedIndex == 3)
{
Image1.ImageUrl = "~/3.jpg";
}
if (DropDownList1.SelectedIndex == 4)
{
Image1.ImageUrl = "~/4.jpg";
}
}
15
1)Yeni bir Web Sayfası açalım. 2)Toolboxdan DropDownlist ve Image ekleyelim. 3)Image içine çağıracağımız 4 adet resmi açtığımız web sayfasının bulunduğu klasöre atalım.
16
1)Yeni bir Web Sayfası açalım. 2)Toolboxdan DropDownlist ekleyelim.
3)Projeye 2 tane Webform ekleyin.( Ekranda sagda solution Explorer penceresinde projenin adresi ve adının yazdıgı yere sağ click yapıp add new ıtem tıklandıgında açılan pencerede web form tıklandıgında solution Explorer a eklenmis olucaktır.)
4) DropDownlist’in üstüne double click yapın ve aşağıdaki kodları yazın.
3) DropDownlist in propertius’unda items özelliğinden gerekli itemlerı ekleyelim.
4) DropDownlist in üstünde çift tıklayalım ve aşağıdaki kodları yazalım. protected void DropDownList1_SelectedIndexChanged1(object sender, EventArgs e)
{
int sayi1 = Convert.ToInt16(TextBox1.Text);
int sayi2 = Convert.ToInt16(TextBox2.Text);
int sonuc = 0;
if (DropDownList1.SelectedIndex == 1)
{
sonuc = sayi1 + sayi2;
}
else if (DropDownList1.SelectedIndex == 2)
{
sonuc = sayi1 - sayi2;
}
else if (DropDownList1.SelectedIndex == 3)
{
sonuc = sayi1 * sayi2;
}
else if (DropDownList1.SelectedIndex == 4)
{
sonuc = sayi1 / sayi2;
}
Label1.Text = Convert.ToString(sonuc);
}
17
1)Yeni bir Web Sayfası açalım. 2)Toolboxdan DropDownlist , 2 tane TextBox ve Label ekleyin.
1)Yeni bir Web Sayfası açalım. İki adet sayfamız olsun. (Default,Default2) 2)Toolboxdan birinci sayfaya 1 Button ekleyeyim. 3)Button’un Click olayına aşağıdaki kodu yazalım.
ALL_HTTP İstemci tarafından gönderilen http Header altında yer alan tüm değişkenler ve değerlerini
getirir.
ALL_RAW http Header altında yer alan tüm değişkenler ve değerlerini getirir. Başlarında http öneki
olmaz.
APPL_MD_PATH Uygulamanın Metabase yolunu verir
APPL_PHYSICAL_PATH Uygulamanın fiziksel yolunu verir
AUTH_PASSWORD Kullanıcı sunucuya basit yetkilendirmeyle bağlanıyorsa parolayı getirir. Bu değişken yalnızca Temel kimlik doğrulama kullanılır kullanılabilir.
AUTH_TYPE Auth_type Yetkilendirme metodunu getirir.
AUTH_USER Kullanıcı sunucuya basit yetkilendirmeyle bağlanıyorsa adını getirir.
CACHE_URL ISAPI uygulamalarda kullanmak için.
CERT_COOKIE Bağlantıda yetkilendirme sertifikası kullanıyorsa kendisine verilen kimlik.
CERT_FLAGS Kullanıcının sertifikası varsa bu değer 1 olur.
CERT_ISSUER sertifikası varsa veren kurum(O = MS, OU = IAS, CN = kullanıcı adı, C = USA).
CERT_KEYSIZE Güvenli Yuva Katmanı (SSL) içinde bit sayısı bağlantı anahtar boyutu.
Örneğin, 128.
CERT_SECRETKEYSIZE SSL’deki deki özel anahtarın bit sayısı. Örneğin, 1024.
CERT_SERIALNUMBER Istemci sertifikası seri numarası
CERT_SERVER_ISSUER Sunucu sertifikasının alındığı yer
CERT_SERVER_SUBJECT Sunucu sertifikasının Konu alanı.
CERT_SUBJECT Istemci sertifikanın Konu alanı.
CONTENT_LENGTH Müşteri tarafından verilen içerik boyutu.
CONTENT_TYPE Içerik veri türü.
Gelen bilgilerin GET veya POST metoduna göre türünü gösterir.
GATEWAY_INTERFACE Sunucunun kullandığı CGI tipi ve sürümü.
HEADER_ <HeaderName> Değeri başlık <HeaderName> saklanır.
Herhangi bir başlık bu tabloda listelenen başka ServerVariables koleksiyonu için sırayla
"HEADER_" tarafından değeri önünde olmalıdır.
HTTP_ <HeaderName> Değeri başlık <HeaderName> saklanır.
Herhangi bir başlık bu bu tabloda listelenen başka ServerVariables koleksiyonu için sırayla
End (Son): Sayfamızda belli durumlar sonucunda kullanıcıya karşılık vermemesini (yani küsmesini ) sağlayabiliriz. Bu
durumda o ana kadar yorumlanan bütün kodlar tarayıcıya ulaşır ve ondan sonraki hiçbir kod yorumlanmaz, buna
HTML de dâhil. Ayrıca bu özellik ile Buffer özelliğiyle geçici alanda tutulan tüm veri ziyaretçinin tarayıcısı ile buluşur.
Response.End
MasterPage
Normal web formuna benzer. Kodlaması ile tamamen aspx sayfalarda yaptığımız işlemleri yapabiliriz. Direk
çalıştırmak dışında aspx de yaptığımız tasarımları da yapabiliriz. Master page’i anlamak için söyle anlatılabilir. Bir
web sayfamız var ve sitemizin sol menü, üst banner gibi sayfanın belli kalıpları sabittir. Bu sabitleri bir kere
tasarlayarak ya da kodlayarak tüm sayfalarda kullanmamızı sağlayacaktır. Öncelikte masterpage’i tasarlayıp daha
sonrasında kodlamaya geçmek daha uygun olacaktır. Masterpage oluşturmak için Web Site > Add New Item
seçeneğinden Masterpage eklenebilir.
Dosyamızın uzantısı master türündedir. Master pagede düzenleme yaparken sizlere tavsiyem table objelerinin içerisinde çalışmaktır. Böylece sayfada kayma ya da biçim bozukluğu olmayacaktır. Tabloların içerisine ContentPlaceHolder nesnesi eklememiz gerekmektedir. Öncelikle işlemlerin düzgün olması için bir tasarım yapılması gerekmektedir. Masterpage sayfasını açtığımızda design kısmında bir tane ContentPlaceHolder gelmiş olacaktır. Biz baksa bir tane eklemek istediğimizde ContentPlaceHolder’ı Toolbox penceresinden tasarım alanına sürüklemeniz yeterli olacaktır.
Tablo oluşturduktan sonra ContentPlaceHolder’ları tablonun içerisine sürüklememiz yeterli olacaktır.
3) Masterpage’i yaptıkdan sonra buna bağlı sayfalar yapmak için Solution Explorerda Ana.Master dosyamızı sağ
tıklayalı, gelen menüden Add Content Page seçeneğini seçelim.
21
1)Yeni bir Web Sayfası açalım. Bir adet de Master Page ekleyip adını “Ana” koyalım. 2) MasterPage içerisine tasarım için gerekli tablo düzeneğini oluşturalım.
Web user controller proje içerisinde oluşturulan ascx uzantılı dosyalardır. Bu dosyalar içerisinde daha önceden var
olan HTML ve server componentlerini istediğimiz gibi kullanarak yeni bir görünüm oluştururuz. User Controller
VS.NET toolbox’ında yani araç çubuğunda bulunmazlar. Onları herhangi bir projeye eklemek için Solution
Explorer’dan o ascx uzantılı dosyayı tutarak sayfada istenilen yere bırakılması yeterlidir. Web User Controller,
.NET’in diğer kontrollerine benzemez.
Aslında Masterpage çıkmadan önce kullanılan bir teknik olarak nitelendirebiliriz. User Controller masterpageden
biraz farklı çalışırlar MasterPage de sayfa teması hazırlarken User Controller tek amacı yazıp sayfaya yerleştirmek
için kullanılır. Yine bir sol menu düşünelim. Sol menüyü user control olarak yaptığımızda her sayfaya (aspx) tek tek
taşımamız gerekmektedir.
3) Web User Control dosyamızın uzatısı ascx olarak tanımlanır. Normal web sayfaların farklı yoktur. Tasarım ve
kodlamalar aynen Web User Controldede yapılabilir. Tek farklılık ascx dosyalar tek olarak çalıştırılamaması.
Projemize eklemiş olduğumuz WebUserControl.ascx dosyamızı açalım ve içerisine bilgiler girelim.
22
1)Yeni bir Web Sayfası açalım. Add New Item seçeneğinden ek olarak 2 sayfa daha ekleyelim. Böylece projemizde Default.aspx, Default2.aspx, Default3.aspx adından toplam 3 tane sayfamız olacaktır. 2) Bunlara ek olarak Add New Item’dan Web User Control ekleyelim.
3) WebSite11’e sağ tıklayıp açılan pencereden New Folder menüsüne tıklayalım. Klasör adına Kontrol adı verelim.
4)Kontrol klasörüne sağ tıklayarak Add New Item diyelim.
5)Web User Control seçerek adına Uye yazalım ve Add butonuna tıklayalım.
23
1)Yeni bir Web Sayfası açalım. 2)Access’te bir veri tabanı oluşturulup “App_Data” klasörünün içine “vt.mdb” şeklinde atalım. Sebebi ise class içinde veri tabanı adresini ana dizinde App_Data klasöründe vt.mdb seklinde tanımlama yapacağız.
Bu şekilde class’ımızı oluşturmuş olduk. 11) Şimdi ise kaydının yapıldığı sayfayı tasarlayalım.
Bunun için 5 adet TextBox, 1 Button, 1 CheckBox, 1 RequiredFieldValidator, 1 Compare Validator ekleyelim. Valitator ayarlarını yapalım. Ve aşağıdaki kodu bu sayfa için yazalım. using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
public partial class UyeKayit : System.Web.UI.Page
1)Yeni bir Web Sayfası açalım. 2)Toolboxdan sayfaya 5 adet TextBox, 2 adet Buton, 5 adet RequiredFieldValidator , 1 adet RegularExpressionValidator ve 1 adet Label ekleyerek aşağıdaki gibi tasarlayın.