asp.net giriş

download asp.net giriş

of 134

Transcript of asp.net giriş

  • 8/6/2019 asp.net giri

    1/134

    10100001111010101101101110111101010000011

    01010100101011011101010100001010101010111

    00101011011101010100001010101010111001010

    11011101010100001010101010111001010110111

    01010100001010101010111001010110111010101

    00001010101010111FFF

    10101010111001010110111010101000010101010

    10111001010110111010101000010101010101110

    01010110111010101000010101010101110010101

    10111010101000010101010101110010101101110

    10101000010101010101110010101101110101010

    00010101010101110010101101110101010000101

    ASP.Nete Giri

    INETA MEA / DeveloperMania.Net Teknik Lider & Editr

    Nisan 2011

    r.Gr.Ferhat BUYUKKALKAN

  • 8/6/2019 asp.net giri

    2/134

    Ferhat BUYUKKALKAN ASP.Nete Giri

    1 | S a y f a

    ASP.Nete GiriASP.Nete Giri ve Temel Konular

    Standart Kontroller ve Kullanmlar

    Validation Kontrolleri

    Navigation Kontrolleri

    Hata Yakalama

    Master Page

    Web User Control

    Web.Config

    Verileri Ynetmek

  • 8/6/2019 asp.net giri

    3/134

    ASP.Nete Giri Ferhat BUYUKKALKAN

    4|S a y f a

    indekilerNSZ............................................................................................................................................................................................................................................... 3

    Yazar Hakknda................................................................................................................................................................................................................................. 9

    Balan Aamasndaki Kitaplarm .............................................................................................................................................................................................. 9

    ASP.Net Nedir?................................................................................................................................................................................................................................ 10

    Nelere htiya Duyarz?................................................................................................................................................................................................................ 10

    ASP.Net ile lk Web Uygulamamz. .............................................................................................................................................................................................. 11

    Standart Kontroller......................................................................................................................................................................................................................... 14

    Button .......................................................................................................................................................................................................................................... 14

    Label............................................................................................................................................................................................................................................ 15

    Literal........................................................................................................................................................................................................................................... 15

    Textbox........................................................................................................................................................................................................................................ 15

    Link Button .................................................................................................................................................................................................................................. 17

    Image Button............................................................................................................................................................................................................................... 17

    DropDownList.............................................................................................................................................................................................................................. 17

    Listbox.......................................................................................................................................................................................................................................... 20

    Checkbox..................................................................................................................................................................................................................................... 22

    CheckBoxList................................................................................................................................................................................................................................ 25

    Radiobutton................................................................................................................................................................................................................................. 27

    RadiobuttonList........................................................................................................................................................................................................................... 29

    FileUpload.................................................................................................................................................................................................................................... 32

  • 8/6/2019 asp.net giri

    4/134

    Ferhat BUYUKKALKAN ASP.Nete Giri

    5 | S a y f a

    Calendar...................................................................................................................................................................................................................................... 34

    Multiview ve View....................................................................................................................................................................................................................... 35

    Wizard......................................................................................................................................................................................................................................... 38

    Validation Kontrolleri..................................................................................................................................................................................................................... 39

    RequiredFieldValidator................................................................................................................................................................................................................ 40

    RangeValidator............................................................................................................................................................................................................................ 41

    RegularExpressionValidator........................................................................................................................................................................................................ 41

    CompareValidator....................................................................................................................................................................................................................... 42

    ValidationSummary..................................................................................................................................................................................................................... 43

    CustomValidator.......................................................................................................................................................................................................................... 43

    DynamicValidator........................................................................................................................................................................................................................ 43

    Navigation Kontrolleri.................................................................................................................................................................................................................... 44

    SiteMapPath................................................................................................................................................................................................................................ 44

    Treeview...................................................................................................................................................................................................................................... 47

    Menu ........................................................................................................................................................................................................................................... 51

    Data Kontrolleri.............................................................................................................................................................................................................................. 59

    AccessDataSource ....................................................................................................................................................................................................................... 59

    SqlDataSource ............................................................................................................................................................................................................................. 71

    XmlDataSource ............................................................................................................................................................................................................................ 85

    Hata Yakalama ............................................................................................................................................................................................................................... 93

    Try, Catch, Finally........................................................................................................................................................................................................................ 93

    Master Page.................................................................................................................................................................................................................................... 96

  • 8/6/2019 asp.net giri

    5/134

    ASP.Nete Giri Ferhat BUYUKKALKAN

    6|S a y f a

    Master Page Nedir? Nasl Kullanlr?........................................................................................................................................................................................... 96

    Web User Control Nedir? Nasl Kullanlr?................................................................................................................................................................................. 105

    Web. Config................................................................................................................................................................................................................................... 107

    Web Config ile Veritabanna Balanma .................................................................................................................................................................................... 108Verileri Ynetmek......................................................................................................................................................................................................................... 111

    ADO.Net Nedir?......................................................................................................................................................................................................................... 111

    ADO.Neti Kullanmak................................................................................................................................................................................................................. 112

    Connection Object(Balant Nesnesi) .................................................................................................................................................................................... 112

    Command Object(Komut Nesnesi) ........................................................................................................................................................................................ 113

    DataReader Object(DataReader Nesnesi) ............................................................................................................................................................................. 113

    DataAdapter Object(DataAdapter Nesnesi) .......................................................................................................................................................................... 113

    Veritabanna Erimek ve Kullanmak.......................................................................................................................................................................................... 117

    Blogsa Nedir?................................................................................................................................................................................................................................ 136

    Blogsa'y nternet Sitenize Kurmak stiyorsanz......................................................................................................................................................................... 136

    Blogsa'y Bilgisayarnza Kurmak stiyorsanz ............................................................................................................................................................................ 137

    DeveloperMania.Net.................................................................................................................................................................................................................... 139

    DeveloperMania.Net ne anlatyor ?......................................................................................................................................................................................... 139

    Kaynaklar...................................................................................................................................................................................................................................... 143

  • 8/6/2019 asp.net giri

    6/134

    ASP.Nete Giri

    10|S a y f a

    ASP.Net Nedir?ASP.Net Server-Side(Sunucu tarafl) web uygulamalar gelitirebileceimiz. Netinsalad zelliklerin ouna eriebilen birplatformdur. Ne kadar adn

    ASPden alm olsa da tamamen sfrdan retilmitir.

    Nelere htiya Duyarz?ASP.Net Web Uygulamalar gelitirmek iin bilgisayarmzda temel birka programn kurulu olmas gerekmektedir.Microsoft tarafndan uygulama gelitirme

    platformu olarak retilen .Net FrameworkMasast ve Web Uygulamalar gibi birok uygulamay gelitirmek iin retilen bir platformdur. uan son srm

    .Net Framework 4.0kt. Bu son srm sayesinde de birbirinden gzel birok kontrol Visual Studio 2010 Toolboxda grebilirsiniz.

    .Net Framework Microsoftun sitesinden indirerek kurabileceiniz gibi, Microsoftun yazlmclar iin gelitirmi olduu .Net Platformu, Microsoft Visual

    Studioyu indirerek kurabilirsiniz.

  • 8/6/2019 asp.net giri

    7/134

  • 8/6/2019 asp.net giri

    8/134

    ASP.Nete Giri

    12|S a y f a

    Orta ksmdanASP.Net Web Siteseili duruma getirerekOKtuuyla ASP.Net Web Uygulamamz oluturalm. Projemiz oluturulduunda sol tarafta Toolbox,

    Sa tarafta Solution Explorerve Propertiessekmesi yer almaktadr. Orta ksmda ise gelitirmekte olduumuz Web Uygulama dosyamzn Design ksm yer

    almaktadr.

  • 8/6/2019 asp.net giri

    9/134

    Ferhat BUYUKKALKAN ASP.Nete Giri

    13 | S a y f a

    stersek Dosyamz sadece kod, sadece tasarm ve hem kod hem tasarm ksmn ayn anda grebiliriz. Bunun iin Sayfamzn altksmnda yer alan konum

    sekmesini kullanabiliriz.

    SplitseeneiVisual Studio 2005ve nceki srmlerde bulunmamaktadr. lkolarakVisualStudio2008de kullanlmaya baland. Visual studio 2010RCde

    de grebilirsiniz bu seenei.

  • 8/6/2019 asp.net giri

    10/134

    ASP.Nete Giri

    14|S a y f a

    Standart KontrollerBu blmde Web Uygulamalarmzda kullanacamz Standart Kontrolleri inceleyeceiz.

    NOT:Kontrolleri kullanabilmeniz iin web uygulamanzn ierisindeki sayfanza srkleyerek brakmanz gerekmektedir.(rn: Aadaki grafikteki gibi)

    ButtonButtonKontrol, Tetikleme zelliine sahiptir. Bir form ierisindeki kontrollerin tetiklenerek bir baka sayfaya gnderilmesini salayan ok kullanl bir

    kontroldr.

    zellikleri ise aadaki gibidir;

    Text:Buttonun zerindeki yazy kontrol etmektedir. Verilen deer Button zerinde gzkecektir. Enable:Buttonun kilitlenmesini salayan zelliktir. DeeriFalseolduunda Button pasif hale gelir ve tetikleme gereklemez.

    Textboxkontrolmzdeki uygulamada Buttonkontrolnn ilevini daha iyi kavrayacaksnz.

  • 8/6/2019 asp.net giri

    11/134

    Ferhat BUYUKKALKAN ASP.Nete Giri

    15 | S a y f a

    LabelKullanclara mesaj iletmek iin kullanlan olduka kullanl bir kontroldr.

    zellikleri ise;

    Font:Kontrolmzn Font ayarlarn dzenlememizi salamaktadr. ForeColor:Kontrolmzn Yaz rengini ayarlamamz salar. Visible:Kontrolmzn Gizlenmesini salar. Gizli olabilmesi iin Falsedeerini almas gerekir. BackColor:Kontrolmzn Arka plan rengini belirler. Hexedecimal Renk kodlarnn dnda rengin ngilizce karl da yazlabilir (rn: Red) CssClass:Oluturmu olduumuz stil sayfalarmzdaki Classlar kontrolmz ile ilikilendirebiliriz. Text:Kontrolmze varsaylan bir deer atamak iin kullanlr. Kullancya yansyan yaz burada belirlenir.

    LiteralLabelden tek fark, daha uzun veriler gsterebilir ve performans Labele gre daha yksektir.

    Kullanm Label ile ayndr, Properties ierisinde pek fazla zellii bulunmamaktadr. zellikleri aadaki gibidir;

    Visible:Kontrolmzn Gizlenmesini salar. Gizli olabilmesi iin Falsedeerini almas gerekir. Text:Kontrolmze varsaylan bir deer atamak iin kullanlr. Kullancya yansyan yaz burada belirlenir.

    Textbox

    Genellikle kullancdan bilgi almak iin kullanlr. nternet sitelerinde ye girii iin kullanlan ey yaygn kontroldr.

    Her kontrolde olduu gibi Textbox kontrolnde de zellikler vardr. Bunlaraadaki gibidir;

    Text:Kontrolmzn ierisine varsaylan bir deer atamak iin kullanlr.

  • 8/6/2019 asp.net giri

    12/134

    ASP.Nete Giri

    16|S a y f a

    TextMode:Bu zellik ise Kontrolmzn hangi tipte olaca belirtmektedir. Bu zelliimiz adet tipi ngrmektedir (SingleLine, MultiLine vePassword). Bu tiplere ileriki konularmzdadeineceiz.

    MaxLength:Kontrolmze maksimum girilecek karakter saysn belirlemektedir. Enable:Kontrolmzn kilitlenmesini salayan zelliktir. DeeriFalseolduunda Bilgi girii yaplamaz.

    Basit bir uygulama yapalm; Bir web uygulamas oluturalm ve sayfamzn ierisine bir adet Textbox bir adetLiteral ve bir adet de Button ekleyelim.Buttona

    tkladmzda Literal kontrolmze Textboxn text zelliini aktaralm.

    Buttonumuza ift tklayalm ve button1_click ierisine kodlarmz aadaki gibi yazalm.

    stteki grafikte grm olduunuz gibiLiteralkontrolmze Textboxmzn textini aktaryoruz.Uygulamamz Buildedip altralm.

  • 8/6/2019 asp.net giri

    13/134

    Ferhat BUYUKKALKAN ASP.Nete Giri

    17 | S a y f a

    Link ButtonAdndan anlalaca gibiLink Button, Neredeyse Button ile ayndr. Tekfark zerinde linkverilebilmesidir. Clickzelliine kodumuza yazarak ynlendirme

    yapabiliriz.

    Image ButtonLink Buttonile arasnda tek fark, Image Buttonda Link yerine Resim olmasdr. Olduka kullanl bir kontroldr. Resim seebilmek iin Properties

    penceresinden ImageURLzelliini kullanmanz gerekiyor.

    DropDownListBu kontrolmz gelimi web sitelerinin ounda kullanlmaktadr. Genellikleehir, yaaral, cinsiyet, kategorive eitli listelemeler yapmak iin kullanlr.

    Veritabanndan verilerin ekilip listelenebilecei gibi, manel olarak da veriler girilip listene bilir.

  • 8/6/2019 asp.net giri

    14/134

    ASP.Nete Giri

    18|S a y f a

    Yukardaki resimde grnd gibi, Edit Itemsile verilerimizi manel olarak ekleyebiliriz.

    Enable AutoPostBack:Bu seenekDropDownListierisinden veri seildiinde otomatik olarak sayfa tetiklenecektir. Choose Data Source:Bu seenekte, DropDownListierisine bir veritabanna balanp veri ekmek iin kullanlr. Edit Items:Manel olarak veri giriini salar.

    Bir web uygulamas oluturalm ve sayfamza bir adetDropDownListve bir adet de Literalkontrol ekleyelim.

  • 8/6/2019 asp.net giri

    15/134

    Ferhat BUYUKKALKAN ASP.Nete Giri

    19 | S a y f a

    DropDownListe manel olarak veri girii yapalm.

  • 8/6/2019 asp.net giri

    16/134

    ASP.Nete Giri

    20|S a y f a

    Enable AutoPostBackzelliinicheckediyoruz. Nedeni ise DropDownListten semi olduumuz veriyiLiteralkontrolmzde gsterecegiz. imdi

    DropDownListkontrolmze ift tklayalm ve DropDownList1_SelectedIndexChangedierisine aadaki gibi kodlarmz yazalm.

    Literalkontrolmzn Textzelliine DropDownListde seilen veriyi aktardk. Uygulamamz Buildedip altralm.

    ListboxDropDownListile arasndaki tek fark, Listboxun ak halde gzkmesidir. DropDownListteki ou zellikListboxta da ayndr.

    Basit bir uygulama yapalm; Bir web uygulamas oluturalm ve sayfamzn ierisine bir adetListbox, bir adet de Literalkontrol ekleyelim.

  • 8/6/2019 asp.net giri

    17/134

    Ferhat BUYUKKALKAN ASP.Nete Giri

    21 | S a y f a

    VerilerimiziEdit Itemksmndan manel olarak girelim ve Enable AutoPostBackseeneinicheckedelim.Listboxmzdan seilen verinin valuesiniLiteral

    kontrolmzn Textzelliine aktaralm. imdiListboxkontrolmze ift tklayalm ve ListBox1_SelectedIndexChangedierisine aadaki gibi kodlarmz

    yazalm.

    Ksaca zetlemek gerekirse Listboxdan semi olduumuz verinin valuesiniIntegerveri tipine dntryoruz ve string.Formatile formata uygun

    ayralayarak dndryoruz.Uygulamamz buildedip altralm.

  • 8/6/2019 asp.net giri

    18/134

  • 8/6/2019 asp.net giri

    19/134

    Ferhat BUYUKKALKAN ASP.Nete Giri

    23 | S a y f a

    DropDownListkontrolmze manel olarak bir katane veri girelim.

    DropDownListierisinden seilen verinin Valuedeerine gre Checkboxlar checkleyelim.

  • 8/6/2019 asp.net giri

    20/134

    ASP.Nete Giri

    24|S a y f a

    DropDownListkontrolmze ift tklayalm ve aadaki kodlar yazalm .

    DropDownListte seilen verinin ValuedeeriniIntergerveri tipine eviriyoruz ve kontrol yaps (if..else)ile ilemimizi gerekletiriyoruz.

    Uygulamamz buildedip altralm.

  • 8/6/2019 asp.net giri

    21/134

    Ferhat BUYUKKALKAN ASP.Nete Giri

    25 | S a y f a

    CheckBoxListCheckboxtan tek fark, manel olarak birden fazla giri yaplabilir ve giri yaplan verileri liste halinde gsterir. Manel olarak giri yaplabildiigibi

    veritabanndan da kaytlar ekilerek listelenebilir.

    Enable AutoPostBack:Bu seenek CheckBoxList ierisinden veri seildiinde otomatik olarak sayfa tetiklenecektir. Choose Data Source:Bu seenekte, CheckBoxList ierisine bir veritabanna balanp veri ekmek iin kullanlr. Edit Items:Manel olarak veri giriini salar.

    Basit bir uygulama yapalm; Bir web uygulamas oluturalm ve sayfamzn ierisine bir adetCheckboxlist, bir adetLiteralkontrol ekleyelim.

    CheckBoxListkontrolmzde sadece isimleri ekledik. Nedeni, seilen ismin soyisminiLiteralkontrolmzn Textzelliine atayacaz. Enable AutoPostBack

    zelliinicheckedelim. CheckBoxListkontrolmze ift tklayalm ve ierisine aadaki kodlarmz yazalm.

  • 8/6/2019 asp.net giri

    22/134

    ASP.Nete Giri

    26|S a y f a

    Ksaca zetlemek gerekirse, CheckBoxListde seilen verinin ValuedeeriniIntegerveri tipine eviriyoruz ve kontrol yaps (if..else)ile ilemimizi

    gerekletiriyoruz.

    CheckBoxListierisindeki herhangi bir veri seildiinde direk olarak tm checkler kalkyor ve Literalkontrolmze verilerimizi atyoruz.

    Uygulamamz Buildedip altralm.

  • 8/6/2019 asp.net giri

    23/134

    Ferhat BUYUKKALKAN ASP.Nete Giri

    27 | S a y f a

    RadiobuttonCheckboxtan tek fark, birden fazla seilememesidir. Genellikle kullancdan cinsiyet, medeni durum vb. bilgileri almak iin kullanlr. zellikleriCheckboxile

    ayndr.

    Basit bir uygulama yapalm; Bir web uygulamas oluturalm ve sayfamzn ierisine iki adetRadiobutton, bir adetLiteralve birde Buttonkontrol ekleyelim.

    Kullancnn cinsiyetini sorgulamak iin basit bir form oluturabilirsiniz.Buttona ift tklayarak ierisine aadaki kodlar yazalm.

  • 8/6/2019 asp.net giri

    24/134

    ASP.Nete Giri

    28|S a y f a

    Ksaca zetlemek gerekirse, RadioButtonlarmzn hangisinin seili olduunu belirliyoruz ilk nce daha sonra ise Literalkontrolmze cinsiyeti atyoruz.

    Ardndan RadioButtonlardakiCheckleri kaldryoruz.

    Uygulamamz Buildedip altralm.

  • 8/6/2019 asp.net giri

    25/134

    Ferhat BUYUKKALKAN ASP.Nete Giri

    29 | S a y f a

    RadiobuttonListCheckBoxListden tek fark birden fazla seilememesidir. Radiobuttondan fark ise manel olarak birden fazla giri yaplabilir ve giri yaplan verileri liste

    halinde gsterilir olmasdr. Manelolarak giri yaplabildii gibi veritabanndan da kaytlar ekilerek listelenebilir.

    zellikleriCheckBoxListile ayndr.

    Basit bir uygulama yapalm; Bir web uygulamas oluturalm ve sayfamzn ierisine bir adetRadioButtonList, bir adetLiteralkontrol ekleyelim.

    RadioButtonListierisine manuel olara birka veri girii yapalm.

  • 8/6/2019 asp.net giri

    26/134

    ASP.Nete Giri

    30|S a y f a

    imdi ise RadioButtonListkontrolmze ift tklayalm ve ierisine aadaki kodlarmz yazalm.

  • 8/6/2019 asp.net giri

    27/134

    Ferhat BUYUKKALKAN ASP.Nete Giri

    31 | S a y f a

    Ksaca zetlemek gerekirse, RadioButtonListierisinden seilen veriyi tespit ediyoruz ve Literalkontrolmze aktarma yapyoruz.

    Uygulamamz Build edelim ve altralm.

  • 8/6/2019 asp.net giri

    28/134

  • 8/6/2019 asp.net giri

    29/134

    Ferhat BUYUKKALKAN ASP.Nete Giri

    33 | S a y f a

    FileUpload.Hasfile:Dosyann seilip seilmediini kontrol ediyoruz.F..Else ile dosyamz seilmi mi seilmemi mi kontrol ediyoruz.Eer dosya seildiyse dosyamz uygulamamzn bulunduu klasre kayt ediyoruz ve sayfaya

    Yklendi yazdryoruz, durum tam tersi ise yani dosya seilmemise ekrana Yklenemedi yazdryoruz.Sayfamz altralm.

  • 8/6/2019 asp.net giri

    30/134

    ASP.Nete Giri

    34|S a y f a

    Dosyamz setik ve ykle Buttonuna bastk, Yklendi uyarmz aldk bakalm dosyamz klasrmze yklenmi mi?

    Setiimiz dosya Klasrmze eklenmi.

    CalendarCalendar Kontrol, adndan da anlalaca gibi bir takvim kontroldr, web uygulamamza takvim ekleyebilmemizi salar. Olduka kullanl bir kontroldr.

    Temel birka zelliinden bahsedecek olursak;

    DayNameFormat:Takvimdeki gnlerin nasl yazlacan belirler (rn: Oca, ub, Mar) ShowDayHeader:Takvimdeki gnlerin gizlenmesini salar, deerFalseolursa gnler gizlenir. SelectedDate:Sayfa altrldnda, SelectedDateierisindeki tarih seili durumda olacaktr. Bo ise varsaylan tarih O gn olur.

  • 8/6/2019 asp.net giri

    31/134

    Ferhat BUYUKKALKAN ASP.Nete Giri

    35 | S a y f a

    Auto Format: Takvim Kontrolnn stilini, Auto Format ile deitirebilirsiniz.Multiview ve ViewMultiview ve View Kontrolleri ASP.Net 2.0 ile gelen olduka kullanl kontrollerdir. Multiview ve View iki ayr kontrol gibigzkse de bir btn gibidirler. View

    ierisinde kontrolleri barndran bir Container grevini stlenmektedir. Sayfada var olan fakat gsterilmesini istemediimiz durumlarda kullanlabilir.

    Multiview ve View kontrolleri sunucu tarafl kontroller olduu iin Visibilitydurumunu ynetirler. HTML olarak ve olarak

    grnrler. Viewler hibir zaman yalnz bana kullanlamazlar.

    Aadaki ekilde Multiview ve View hiyerarisi yer almaktadr.

  • 8/6/2019 asp.net giri

    32/134

    ASP.Nete Giri

    36|S a y f a

  • 8/6/2019 asp.net giri

    33/134

    Ferhat BUYUKKALKAN ASP.Nete Giri

    37 | S a y f a

    Bir Multiview Kontrol bir defada sadece bir View grntleyebilmektedir. Viewlerin aktif olabilmesi iinActiveViewIndexdurumunun aktif hale gelmesi

    gerekmektedir. Basit bir rnekle inceleyelim;

    Yukardaki resimde grm olduunuz gibi ViewlerMultiviewin ierisine eklenmektedir ve Viewleri tetikleyici butonlar yer almaktadr. Viewler

    tetiklenmedii srece hibir zaman almayacaklardr. Buttonlarmzaift tklayarak kodlarmz yazalm.

  • 8/6/2019 asp.net giri

    34/134

    ASP.Nete Giri

    38|S a y f a

    ActiveViewIndexile Multiviewierisindeki hangiViewimizin aktif hale gelmesini istiyorsak o Viewinidnumaralarn veriyoruz.

    WizardGelimi web sitelerine baktnzda, kullancdan bilgi alnrken adm adm ilerleyerek bilgiler alnyor. Peki, bu nasl yaplyor? Bu sorunun cevab Wizardda

    gizliASP.Net 2.0 ile gelen olduka kullanl bir kontrol olan Wizard hemen hemen her ASP.Net web projesinde kullanlyor.Kontrolmz basit bir rnekle

    inceleyelim.

    Bir Wizard Kontrol ekleyelim sayfamza ve ierisine form nesneleri ekleyerek kullancdan bilgi alalm ardndan bunlar ekrana yazdralm.

    Finishbutonuna ift tklayaraksayfapost edildiinde yaplacak ilemler iin kodlarmz yazmaya balayalm. lk olarak form nesnelerimizden gelen verileri

    alarak Literal kontrolmz kullanp ekrana yazdralm.

    Uygulamamz altralm. Bilgilerimizi girip Son butonuna tkladmzda, Literal Kontrollerimize veriler atanacak.

  • 8/6/2019 asp.net giri

    35/134

    Ferhat BUYUKKALKAN ASP.Nete Giri

    39 | S a y f a

    Wizard Kontrolmzn zelliklerine bakacak olursak;

    FinishCompleteButtonText:Kontrolmzn son admnda yer alan ve sayfann tetiklenmesini salayan Buttonun zerinde yazacak yazy belirler. FinishCompleteButtonType: FinishCompleteButtonumuzun hangi tipte gzkeceini belirler.(Button, Image, Link) ActiveStepIndex:Sayfamz altrldnda. Kontroln ilk hangi admdan balayacan belirler. Deer saysal olarak verilir, Varsaylan deer ise

    sfrdr.(lk adm deeri sfrdr.)

    Styles:Bu bir stil sekmesidir. erisinde yer alan zellikleri kullanarak Wizard Kontrolmzn stilini kiiselletirebiliriz. Height:Kontrolmzn yksekliini belirler, deerler px veya em olarak verilir. Width: Kontrolmzn geniliini belirler, deerler px veya em olarak verilir. Auto Format: Wizard Kontrolnn stilini, Auto Format ile deitirebilirsiniz. Step: Bu seenek ise DropDownListierisinde gsterilmektedir. Semi olduunuz adm n plana getirecektir. Bunu direk olarak adm ismine

    tklayarak da gerekletirebilirsiniz.

    Validation Kontrolleri

    Bir projenizde veya basit bir iletiim formu hazrladnzda en ok karlaacanz sorunlarn banda, formata uygun verilerin girilmemesi ve bo brakmalar.

    Bu tr sorunlarn nne geebilmek iin satrlarca kod yazarsnz. ASP uygulamalar yapanlar bilirler, birTextboxetkileim sayfasna bo geliyor ise o

    kullancy geri ayn sayfaya ynlendiririz veya bir uyar yazs gsteririz. Fakat bunun bir yolu daha var.

  • 8/6/2019 asp.net giri

    36/134

    ASP.Nete Giri

    40|S a y f a

    Validation Kontrolleri, Form nesneleri zerinde ilemi tamamladmzda kendini aktifletiren bir yapya sahiptir. rnek olarak bir Textbox ierisindeki verinin

    istenilen aralkta m? , Metinsel mi? Saysal m? Bo mu geildi? Ve daha birok ilemi yaptrabilmekteyiz. Basit bir uygulama ile Validation Kontrolmz

    inceleyelim.

    Ben daha nce bir form hazrladm. Bu formu Validation Kontrollerini kullanarak denetleyeceiz.

    Validation Kontrollerimizi aklayacak olursak;

    RequiredFieldValidatorBu kontrol Form nesnelerimizin bo geilip geilmediini denetlemek iin kullanlr. Her Form nesnesi iin ayr ayr RequiredFieldValidatoreklemekgerekmektedir.

  • 8/6/2019 asp.net giri

    37/134

    Ferhat BUYUKKALKAN ASP.Nete Giri

    41 | S a y f a

    zelliklerine bakacak olursak;

    Dislayp: seenek iermektedir: Static, Dinamic, None Bu seenekleri kullanarak kontroln hata mesajn gsterip veya saklayabilirsiniz. ErrorMessage:sminden de anlald gibi hata mesaj, Kontrol aktif hale geldiinde ekrana kacakhata mesaj. ControlToValidate: Bu seenek ise hangi form nesnesi zerinde denetleme yapacan belirtmektedir.

    RangeValidator

    Bu Kontrol bir Form nesnesinin belirlenen aralk ierisinde olup olmadn denetlemek iin kullanlr. Propertiesden MaximumValueveMinumumValue

    olarak deerler verilir. Bu deerler Double, String, nteger, Date, Currency tipinde olabilir.

    zelliklerine bakacak olursak;

    Dislayp, ErrorMessage, ControlToValidate zellikleri yukardaki gibi. MaximumValue:Form Nesnesineverilebilecek maksimum deeri gstermektedir. Bu deerden yksek bir say girildiinde RangeValidator kontrol

    aktif hale gelir.

    MinumumValue:Bu seenek ise Form nesnesine verilebilecek minimum deeri gstermektedir. Bu deerden dk bir say girildiindeRangeValidator kontrol aktif hale gelir.

    Type:Bu seenek ise Form nesnesi ierisindeki verinin hangi tipte alglanacan belirtmektedir. Farkl bir tipte veri girildiinde RangeValidatorkontrol aktif hale gelir.

    RegularExpressionValidator

    Bu kontrol Form nesnelerinden girilen bilginin bizim ayarlarmza uygun olup olmadn denetlemek iin kullanlr. Genellikle bu kontrol E-mail adreslerinin

    doru giriip girilmediini denetlemek iin kullanrlar. Tabi ki sadece bunla snrl deil birok denetleme zellii var. RegularExpressionValidator kontroln bir

    form nesnesi ile etkileim haline getirebilmek iin Properties panelini kullanalm.

  • 8/6/2019 asp.net giri

    38/134

    ASP.Nete Giri

    42|S a y f a

    zelliklerine bakacak olursak;

    Dislayp, ErrorMessage, ControlToValidate zellikleri yukardaki gibi ValidationExpression: Bu zellik bizim vereceimiz ayarlar gstermektedir. Bu ayarlar dnda bir veri girildiinde RegularExpressionValidator aktif

    hale gelir.

    erisinde nternet E-Mail Address, nternet URL v.b birok ayar yer almaktadr. Var olan Standart Expressionslar dnda bizde kendi

    Expressionumuzu yazabiliriz. Bunun iin Standart Expression Listbox mensnden Customu semeliyiz ve Validation Expression kutucuunu

    kullanmalyz.

    (nternet E-Mail Address : \w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* ) bu ekildedir.

    CompareValidator

    Bu Kontrol iki form nesnesinin birbiri ile uyuup uyumadn denetlemektedir.

    zelliklerine bakacak olursak;

    Dislayp, ErrorMessage zellikleri yukardaki gibi ControlToCompare: Bu seenek iki form nesnesininilk nesnesini belirtmektedir. kinci nesne bu nesne baz alnarak denetlenir. ControlToValidate:Bu seenek ise ikinci form nesnesini belirtir. ControlToComparedeki veri ile eletirme yaplr. Eer eitlik salanmaz

    iseCompareValidatorkontrol aktif hale gelir.

    Type:Bu seenek ise Form nesnesi ierisindeki verinin hangi tipte alglanacan belirtmektedir. Farkl bir tipte veri girildiinde RangeValidatorkontrol aktif hale gelir.

  • 8/6/2019 asp.net giri

    39/134

    Ferhat BUYUKKALKAN ASP.Nete Giri

    43 | S a y f a

    ValidationSummary

    Bu Kontrol Form nesnelerini denetleyen ValidationKontrollerinin tamamn gstertmek iin kullanlr. Yukarda belirtmi olduumuz 4 adet Validation

    Kontrolnde Dislayp seenei bulunmaktadr. Bu seenek ierisinde yer alan None kk. Kontrollerin kendi ierisinde gzkmemesini ve ierisindeki

    ErrorMessageyi ValidationSummarye gndermesini salayacaktr. Bu kontrolde olduka kullanl bir kontroldr. Eklendikten sonra hibir Properties ayar

    yaplmaz ValidationSummaryde. Otomatik olarak Dislayp=None olan Kontrolleri ekecektir.

    CustomValidator

    BuKontrol Validation iin kendi kodumuzu yazmamza olanak tanr.

    DynamicValidator

    Bu Kontrol Dinamik olarak Validation retmemizi salar.

    Hazrlam olduumuz rnek uygulamay altralm ve ekran ktsn hep beraber inceleyelim.

  • 8/6/2019 asp.net giri

    40/134

    ASP.Nete Giri

    44|S a y f a

    Ekran ktsnda da grdnz gibi uyumayan form nesneleri iin hata mesajlar kt ekrana. Fark ettiyseniz sayfa post edilmiyor. Validation Kontrollerinin

    en nemli zellii de bu olsa gerek

    Navigation Kontrolleri

    SiteMapPathWeb tabanl uygulamalarnzda birok web formu(sayfa) olabilir ve bu web formlarnz hiyerarik dzende gstermek isteyebilirsiniz. Bu kontrol sizin

    isteinizi fazlasyla karlayacaktr.

  • 8/6/2019 asp.net giri

    41/134

    Ferhat BUYUKKALKAN ASP.Nete Giri

    45 | S a y f a

    SiteMapPath, ASP.Net 2.0 ile gelen olduka Kullanl bir kontroldr.Basit bir rnekle kontrolmz inceleyelim; Bir ASP.Net Web Projesi oluturarak,

    projemizin ierisine aadaki grafikte olduu gibi sayfalar oluturalm.

    Sayfalarmz stteki grafikte olduu gibi grnmektedir. Add New Item seeneine tklayarak karmza gelen pencereden Web.Sitemap oluturalm.

  • 8/6/2019 asp.net giri

    42/134

    ASP.Nete Giri

    46|S a y f a

    Web.SitemapdosyamzXMLtabanl esnek bir yapya sahiptir. zelliklerini inceleyelim;

    SiteMap: SiteMapPath Kontrolne gnderilecek olan verilerin saklanaca etikettir. erisindeSiteMapNode etiketi alarak var olan sayfalar belirtilir.

    SiteMapNode: sttekizellikte de belirttiimiz gibi sayfalarmz belirtmek iin kullandmz etikettir. Alt kategori grubu ekleyebilmek iin SiteMapNode

    etiketini kapatmadan nce ierisinde tekrar bir Site MapNode etiketi alr.

    Url: Bu zellik sayfamzn tklandnda nereye ynleneceini belirtir.(rn: anasayfa.aspx) Title: Adndan da anlalaca gibi balk grevi grmektedir. Ekranda grnecek balk burada belirlenir. Description: Bu zelliimiz ise aklama satrdr. Sayfa ile ilgili bilgiyi buraya ksaca buraya girebilirsiniz.Bu bilgi yaynlanacak olan linkinAlt

    zelliinde gzkecektir.

    Bilgilerimizi uygulamamzdaki sayfalara gre dolduralm.

    Web.Sitemap sayfamzdaki verilerimizi sayfamza nasl ekeriz ?

    SiteMapPath kontrolmz burada bu ilemi gerekletirebilmek iin kullanacaz ve zelliklerine deineceiz. SayfamzaSiteMapPath Kontrol ekleyelim.

  • 8/6/2019 asp.net giri

    43/134

    Ferhat BUYUKKALKAN ASP.Nete Giri

    47 | S a y f a

    stteki grafikte grdnz gibi, SiteMapPathKontroln eklediimizde Web.sitemap dosyasndaki veriler otomatik olarak ekiliyor ve Kontrol

    ekilleniyor.Sayfamz altralm.

    Taraycmzda grnen SiteMapPathkontrol bu ekildedir.

    Kontrolmzn temel birka zelliini inceleyelim;

    PathSeparator: Sayfalarmz hiyerarik bir dzende gsterirken, Sayfalar arasnda kullandmz karakter tipidir. Biz uygulamamzda / (Slash)karakterinikullandk. Sizleruygulamalarnzda istediiniz karakteri kullanabilirsiniz.

    PathDirection: Sayfalarmz sadan sola veya soldan saa olarak yaynlayabilmemizi salar.ki seenek ierir CurrentToRoot(alt dizinden anadizine)ve RootToCurrent (ana dizinden alt dizine) CurrentToRoot: Bu seenek Soldan saa yaynlamaktadr. RootToCurrent: Bu seenek ise Sadan Sola yaynlamaktadr ve varsaylan seenek budur.

    TreeviewTreeview, ASP.Net 2.0 ile gelen ve gayet kullanl olan bu kontrol, XML tabanl veri kaynaklarna ait bilgilerin hiyerarik bir yapda gstermemizi

    salayacaktr.Treeview, Web.SiteMap dosyasn bir veri kaynana balanmadan gremez. SiteMapPath ise tam tersine sayfaya eklendiinde otomatik

    olarakalglar. Basitbir uygulama ile kontrolmz inceleyelim;

    Uygulamamz oluturalm ve sayfalarmz hazrlayalm.

  • 8/6/2019 asp.net giri

    44/134

    ASP.Nete Giri

    48|S a y f a

    Bir Ana Sayfa(Default.aspx), Fiyatlar(fiyatlar.aspx),Listeler(listeler.aspx),rnler(urunler.aspx) ve bir de Web.SiteMap dosyamz var.

    Web.SiteMap dosyamz uygulamamzdaki sayfalara gre dizayn edelim;

  • 8/6/2019 asp.net giri

    45/134

    Ferhat BUYUKKALKAN ASP.Nete Giri

    49 | S a y f a

    stteki grafikte yer alan etiketlerin aklamalar SiteMapPath kontrolnde yer almaktadr.

    imdi sayfamza Treeview kontrolmz ekleyelim.

    Sayfamza Treeview kontroln ekledik, isterseniz Auto Format kullanarak tasarm grafikteki gibi deitirebilirsiniz. Treeview kontrol Web.SiteMap

    dosyasn otomatik olarak alglayamad iin SiteMapDataSourceyardm ile Web.SiteMapi Treeviewe balayacaz.

    SiteMapDataSourceyi sayfamza eklediimizde otomatik olarak Web.SiteMap dosyamz alglar. imdi SiteMapDataSourcemizi Treeviewe tantalm.

  • 8/6/2019 asp.net giri

    46/134

    ASP.Nete Giri

    50|S a y f a

    Choose Data Source ile SiteMapDataSourceyi tanmlyoruz. Ardndan Treeview kontrolmze baktmzda Web.SiteMap dosyamzn ierisindeki verilerin

    ekilmi olduunu greceksiniz.

    Treeview Tasksierisinde yer alan Show Lines seenei ne ie yarar o konuya deinelim biraz;

    Show Lines: Bu seenek seili olduunda Treeview kontrol sayfalar aras hatlar gsteriyor.aadaki grafie baktnzda daha iyi anlayacaksnz.

  • 8/6/2019 asp.net giri

    47/134

    Ferhat BUYUKKALKAN ASP.Nete Giri

    51 | S a y f a

    Show Linesseenei seili durumda olduunda Hatlarn belirginleiyor.

    Treeview kontrolmzn bazzellikleriniinceleyerek konumuzu sonlandralm;

    ShowCheckBoxes:Bu zelliimiz Treeview kontrolnn Nodelarnda checkbox kullanabilmemizi salamaktadr.Be seenekten birini semekzorundasnz

    None: Bu zellii kullanmayacaksanz bu kk kullanmalsnz. Root: Bu ise ana dizini belirtir yani bizim uygulamamzda Ana Sayfann ba ksmna ekleyecektir. Parent: Burada ise bir alt kategoride ilem yaplmaktadr bizim uygulamamzda Listelerin ba ksmna ekleyecektir. Leaf: Burada ise en alt kategoride ilem yaplmaktadr. Bizim uygulamamzda rnler ve Fiyatlarn ba ksmna ekleyecektir. All:Adndan da anlalaca gibi hepsinde kullanlr.

    MenuMenu Kontrol, ASP.Net 2.0 ile gelen olduka kullanl bir kontroldr.Web uygulamalarnda ska kullanlan bu kontrolWeb.Sitemap ve XML dosyasndan

    veriekebildiigibi manel olarak da veri eklenebilmektedir. Basit bir uygulama ile kontrolmz inceleyelim;

  • 8/6/2019 asp.net giri

    48/134

    ASP.Nete Giri

    52|S a y f a

    Bir Web Uygulamas oluturalm ve sayfamza bir adetMenukontrol ekleyelim.

    Menu kontrolmzn sa st tarafnda bulunan oka tkladmzda karmza ayarlamalarn yapld ufak bir panel alyor.Srasyla zellikleri inceleyelim;

    Auto Format: Kontrolmzntaraycmzda hangi stilde grneceini ayarladmz ksm. Choose Data Source:Kontrolmze bir veritabanndan veri ekmek iin kullanlan ksmdr. Edit Menu Items:Bu ksmda kontrolmze manel olarak veri girii yapabiliriz. Views:Bu ksmda ise kontrolmzn Dinamik stilde mi? Yoksa Statik stilde mi? Gzkmesini ayarlarz.

    Edit Menu Itemsseeneine tklayalm ve verilerimizi manl olarak ekleyelim.

  • 8/6/2019 asp.net giri

    49/134

    Ferhat BUYUKKALKAN ASP.Nete Giri

    53 | S a y f a

    stteki grafikte grm olduunuz gibi verilerimizi kontrolmze ekledik.

    1. Add a Root Itemolarak bilinen bu ksm kontrolmze st dizin eklememizi salyor.stteki grafikte bulunan Ana Sayfa, rnler, Hakkmzda, letiim birer st dizindir.

    2. Add a Child Item olarak bilinen bu ksm kontrolmze alt dizin eklememizi salyor.stteki grafikte olduu gibi Elektronik rnler ve Ev Eyalar birer alt dizindir.

    3. NavigateUrl, verimize tkladmzda gideceimiz yolu belirlemektedir.

  • 8/6/2019 asp.net giri

    50/134

    ASP.Nete Giri

    54|S a y f a

    4. Text, Ekrande grnecek yazdr.Ayarlarmz tamamladktan sonra, Uygulamamz buildedip altralm.

    Uygulamamz browserda grdnz gibi hatasz alt. Manel olarak veri eklemeyi grdk, imdi ise birSite Mapdosyasndan veri ekerek kontrolmze

    eklemeyi grelim; Uygulamamza bir adetSite Mapdosyas ekleyelim.

  • 8/6/2019 asp.net giri

    51/134

    Ferhat BUYUKKALKAN ASP.Nete Giri

    55 | S a y f a

    Uygulamamza eklediimiz Web.sitemap dosyamz aalm ve ierisindeki detaylar inceleyelim.

  • 8/6/2019 asp.net giri

    52/134

    ASP.Nete Giri

    56|S a y f a

    Web.SitemapdosyamzXMLtabanl esnek bir yapya sahiptir. zelliklerini inceleyelim;

    SiteMap: SiteMapPath Kontrolne gnderilecek olan verilerin saklanaca etikettir. erisinde SiteMapNode etiketi alarak var olan sayfalar belirtilir.

    SiteMapNode: stteki zellikte de belirttiimiz gibi sayfalarmz belirtmek iin kullandmz etikettir. Alt kategori grubu ekleyebilmek iin SiteMapNode

    etiketini kapatmadan nce ierisinde tekrar bir Site MapNode etiketi alr.

    Url: Bu zellik sayfamzn tklandnda nereye ynleneceini belirtir.(rn: anasayfa.aspx) Title: Adndan da anlalaca gibi balk grevi grmektedir. Ekranda grnecek balk burada belirlenir. Description: Bu zelliimiz ise aklama satrdr. Sayfa ile ilgili bilgiyi buraya ksaca buraya girebilirsiniz. Bu bilgi yaynlanacak olan linkinAlt

    zelliinde gzkecektir.

    Bilgilerimizi uygulamamzdaki sayfalara gre dolduralm. rnekolarak Ana Sayfa, rnler, Kadromuzsayfalarmzolsun ve rnlerimiz altnda Elektronik

    rnler ve Dekorasyon rnleri sayfalarmz olsun. Bilgilerimizi aadaki gibi dolduralm.

  • 8/6/2019 asp.net giri

    53/134

    Ferhat BUYUKKALKAN ASP.Nete Giri

    57 | S a y f a

    Menukontrolmze Site Mapdosyasndan verileri ekerken Choose Data Source ksmn kullanyoruz.

  • 8/6/2019 asp.net giri

    54/134

    ASP.Nete Giri

    58|S a y f a

    stteki grafikte grdnz gibi iki seenek var. Bu iki seenekten birisini seebilir ve verilerinizioradan aktarabilirsiniz.

    Specify an ID for the data source, Data sourcemizin IDsini gstermektedir. Otomatik olarak bir ID atanacaktr, seeneklerden birisini setiinizde, kendinize

    zel ID yazabilirsiniz bu ksma.

    Site Map seeneini seip OK tuuna bastmzda Kontrolmz otomatik olarak Site Map dosyasn alglyor ve verileri ekerek ekilleniyor.

  • 8/6/2019 asp.net giri

    55/134

    Ferhat BUYUKKALKAN ASP.Nete Giri

    59 | S a y f a

    Uygulamamz build edip altralm.

    Menu kontrolmze Site Mapdosyasndan veri bu ekilde ekiliyor.

    Data KontrolleriData kontrolleri veritabanna balanmak iin kullanm olduumuz kontrollerdir. Bu kontroller sayesinde bir satr bile kod yazmadan veritaban ile balant

    oluturabilir, verilerimizi ekebilir ve verileri istenilen kontrole aktarabiliriz.Aktarabileceimiz kontrollerin banda Gridview, Listview, Datalistv.b. gelir.

    Bu ksmdaAccessDataSource, SqlDataSourceveXmlDataSourcekontrollerine deineceim.Srasyla bu kontrollerimizi inceleyelim.

    AccessDataSource

    Microsoft Access veritabanna nesnel yol ile balanabilmemizi salayan kontroldr. Bir web uygulamasnda birden okAccessDataSourcekontrolkullanlabilir.

  • 8/6/2019 asp.net giri

    56/134

    ASP.Nete Giri

    60|S a y f a

    Veritabann belirterekProvideri kendi oluturmaktadr. Kontroller ile bir satr kod yazmadanbile web uygulamanz tamamlayabilirsiniz.

    Dataset ve DataReader veri kayna modunu destekleyenAccessDataSource kontrol, Dataset ile verileri hafzasnda barndrr ve filtreleme ilemleri

    yaplabilir. Delete,Insert,Update gibi komutlar veri kayna zerinden gerekletirebilir.

    Basit bir uygulama ile Kontrolmz inceleyelim;

    Bir web uygulamas oluturalm ve MS Accessveritabanmzn ierisine birtablooluturupApp_dataklasrmzn ierisine kayt edelim.

    idOtomatik Say

    adiMetin

    yas say

    Olarakfieldlarmz ayarlayalm ve bir ka tane rasgele ver i girii yapalm.

    Web uygulamamza bir adetAccessDataSourceekleyelim.

  • 8/6/2019 asp.net giri

    57/134

    Ferhat BUYUKKALKAN ASP.Nete Giri

    61 | S a y f a

    AccessDataSourcekontrolmz Configureedebilmemiz iin ilk nce kontrolmzn sa st tarafnda bulunan OKa tklayarak ayar panelinin almasn

    salamalyz.

    alan ksmdan Configure Data Source linkine tklayalm. Karmzagelen pencereden veritabanmza balant salayacak ayarlamalar yapacaz.

  • 8/6/2019 asp.net giri

    58/134

    ASP.Nete Giri

    62|S a y f a

    Configure Data Source penceresindekiBrowsebuttonuna bastmzda bizden bir veritaban sememizi istiyor.App_dataierisindekidevelopermania.mdb

    dosyamz seiyoruz ve ilerliyoruz.

  • 8/6/2019 asp.net giri

    59/134

    Ferhat BUYUKKALKAN ASP.Nete Giri

    63 | S a y f a

    Veritabanmzn yolu Microsoft Access data fileksmnda belirdi.Nextbuttonuna tklayarak ilerleyelim.

  • 8/6/2019 asp.net giri

    60/134

    ASP.Nete Giri

    64|S a y f a

    Bu ksmda bizden istedii; veritabanna nasl balanmak istiyorsunuz?

    Numaralandrmalara gre srasyla inceleyelim

    1) Specify a custom SQL Statement or Stored ProcedureBu ksm tablomuza zel olarak ayrntl bir ekilde balant kurmamz salar bu ksm seili olursa eer SQL cmleciklerimizi kendimiz yazmamz

    gerekecek.

    2) Specify Columns From a Table or ViewBu ksmda ise 1. Ksmdakilerin tam tersi SQL cmleciini bizim vermi olduumuz talimatlara gre kendi retmektedir. Bu retmi olduu cmlecii

    6. Ksmda gstermektedir.

    3) NameBu ksmda Veritabanmzn ierisindeki hangi tablo ile ilem yapacamz belirtmemizi salar. Tablomuzu setiimizde otomatik olarak aadaki

    Columns ksmndaki fieldlarmz grnmektedir.

    4) ColumnsBu ksm tablomuzdaki fieldlarmz gstermektedir ve hangi field ierisindeki verileri ekmek istediimizi burada belirleriz. Bizim drt adet fieldmz

    vard fakat burada be adet var bunun nedeni yldz(*) seeneidir. Bu yldz seenei tablomuzdaki btn fieldlar sememizi salar.

    5) Where, Order by, AdvancedBu blmdeki butonlarn ayr ayr grevleri bulunmaktadr.

    Where: Tablomuzda bir karlatrma yapmak istediimizde kullanrz genellikle. Bu ksm veritabanna direk olarak balant yaptmz srada pekkullanlmaz, Kullanm alanlar genelde Kategorileme, ye girii gibi uygulamalarda kullanlr.

  • 8/6/2019 asp.net giri

    61/134

    Ferhat BUYUKKALKAN ASP.Nete Giri

    65 | S a y f a

    Order by: Tablomuzdan verileri nasl bir sralama ile ekeceimizi bu ksmda belirlemekteyiz. ki seenek vardr bu ksmda fielde gre

    ASC(ASCENDNG) veya DESC(DESCENDNG) olmaldr. rnein: Adi fieldnda ki verileri DESC olarak sralamak istersek veriler alfabeye gre tersten

    sralanr.

  • 8/6/2019 asp.net giri

    62/134

    ASP.Nete Giri

    66|S a y f a

    Advanced: Bu ksmda veritabanmza bir nevi veri giri izinlerini am oluyoruz. Update(Gncelleme), Insert(Yeni Kayt), Delete(Silmek) gibi izinleri

    buradan verebiliriz.

  • 8/6/2019 asp.net giri

    63/134

    Ferhat BUYUKKALKAN ASP.Nete Giri

    67 | S a y f a

    6) Buras da son olarak verdiimiz talimatlarn SQL cmleciine evrilmi ksmdr.Next diyerek ilerleyelim.

  • 8/6/2019 asp.net giri

    64/134

    ASP.Nete Giri

    68|S a y f a

    Test Query buttonuna basarak veritabanmzdaki sorgumuzu test edebiliriz veya direkFinishe tklayarak veritabanna balanma ilemimizi

    tamamlayabiliriz. Finishe tkladmzda AccessDataSource kontrolmz Configure edilmi oluyor. imdi ise bu Data kontrolmzn ierisindeki verileri bir

    baka kontrole atamay greceiz.

    Sayfamza bir adetGridviewekleyelim.

  • 8/6/2019 asp.net giri

    65/134

    Ferhat BUYUKKALKAN ASP.Nete Giri

    69 | S a y f a

    Gridviewimizin Choose Data Sourceksmnda bulunan dropmensnden Configure etmi olduumuz Data kontrolmz seelim.

    AccessDataSourcekontrolmz setiimizde Gridviewkendisini veritabanmza gre ekillendiriyor. Datakontrolmz Configure ederkenAdvanced

    ksmndaki seeneicheckettiimiz iin Enable Editing ve Enable Deletingseenekleri aktif hale geldi.

  • 8/6/2019 asp.net giri

    66/134

    ASP.Nete Giri

    70|S a y f a

    Bu seenek sayesinde Gridviewzerinden veritabanmz basitce ynetebiliriz.

    Uygulamamz Build edip altralm.

  • 8/6/2019 asp.net giri

    67/134

    Ferhat BUYUKKALKAN ASP.Nete Giri

    71 | S a y f a

    SqlDataSource

    Microsoft SQL Server veritabanna nesnel olarak balanabilmemizi salayan kontroldr.AccessDataSourcede olduu gibi, Bir web uygulamasnda birden ok

    SqlDataSourcekontrol kullanlabilir. Veritabanmza balanmak iin bizde bu kontrol kullanacaz.

    Sayfamza srkleyerek ekelim ve brakalm. Hemen sa ksmnda bir kutucuk alyor ve Configure Data Sourcelinki kyor. O linke tklayalm ve

    veritabanna balanma ilemimizi tamamlayalm

  • 8/6/2019 asp.net giri

    68/134

    ASP.Nete Giri

    72|S a y f a

    Veritabanmz DropDownListksmnda seiyoruz ve grdnz gibiConnection Stringksmnda otomatik olarakSQL Providerimizi oluturdu kendisi. Next

    diyerek ilerleyelim.

  • 8/6/2019 asp.net giri

    69/134

    Ferhat BUYUKKALKAN ASP.Nete Giri

    73 | S a y f a

    Karmza byle bir uyar kt, Web uygulamanz iin birConnectionStringoluturmak istiyor musunuz? Uyarsna Yes, Save This Connection As: kutucuunu

    iaretleyerekNexte basp devam edelim.

  • 8/6/2019 asp.net giri

    70/134

    ASP.Nete Giri

    74|S a y f a

    Bu ksmda bizden istedii; veritabanna nasl balanmak istiyorsunuz?

  • 8/6/2019 asp.net giri

    71/134

    Ferhat BUYUKKALKAN ASP.Nete Giri

    75 | S a y f a

    Numaralandrmalara gre srasyla inceleyelim

    1) Specify a custom SQL Statement or Stored ProcedureBu ksm tablomuza zel olarak ayrntl bir ekilde balant kurmamz salar bu ksm seili olursa eer SQL cmleciklerimizi kendimiz yazmamz

    gerekecek.

    2) Specify Columns From a Table or ViewBu ksmda ise 1. Ksmdakilerin tam tersi SQL cmleciini bizim vermi olduumuz talimatlara gre kendi retmektedir. Bu retmi olduu cmlecii

    6. Ksmda gstermektedir.

    3) NameBu ksmda Veritabanmzn ierisindeki hangi tablo ile ilem yapacamz belirtmemizi salar. Tablomuzu setiimizde otomatik olarak aadaki

    Columns ksmndaki fieldlarmz grnmektedir.

    4) ColumnsBu ksm tablomuzdaki fieldlarmz gstermektedir ve hangi field ierisindeki verileri ekmek istediimizi burada belirleriz. Bizim drt adet fieldmz

    vard fakat burada be adet var bunun nedeni yldz(*) seeneidir. Bu yldz seenei tablomuzdaki btn fieldlar sememizisalar.

    5) Where, Order by, AdvancedBu blmdeki butonlarn ayr ayr grevleri bulunmaktadr.

    Where: Tablomuzda bir karlatrma yapmak istediimizde kullanrz genellikle. Bu ksm veritabanna direk olarak balant yaptmz srada pek

    kullanlmaz, Kullanm alanlar genelde Kategorileme, ye girii gibi uygulamalarda kullanlr.

  • 8/6/2019 asp.net giri

    72/134

    ASP.Nete Giri

    76|S a y f a

    Order by: Tablomuzdan verileri nasl bir sralama ile ekeceimizi bu ksmda belirlemekteyiz. ki seenek vardr bu ksmda fielde gre

    ASC(ASCENDNG) veya DESC(DESCENDNG) olmaldr. rnein: Adi fieldnda ki verileri DESC olarak sralamak istersek veriler alfabeye gre tersten

    sralanr.

    F h BUYUKKALKAN ASP N Gi i

  • 8/6/2019 asp.net giri

    73/134

    Ferhat BUYUKKALKAN ASP.Nete Giri

    77 | S a y f a

    Advanced: Bu ksmda veritabanmza bir nevi veri giri izinlerini am oluyoruz. Update(Gncelleme), Insert(Yeni Kayt), Delete(Silmek) gibi izinleri

    buradan verebiliriz.

    ASP N t Gi i

  • 8/6/2019 asp.net giri

    74/134

    ASP.Nete Giri

    78|S a y f a

    6)

    Buras da son olarak verdiimiz talimatlarn SQL cmleciine evrilmi ksmdr.

    Next diyerek ilerleyelim.

    F h t BUYUKKALKAN ASP N t Gi i

  • 8/6/2019 asp.net giri

    75/134

    Ferhat BUYUKKALKAN ASP.Nete Giri

    79 | S a y f a

    Buras ayarlarmz yaptmz son admdr. imdi veritaban balantmz oluturduk ve test etmeye geldi sra Test Querybutonuna basarak veritabanmza

    doru ulaabilmi miyiz kontrol edelim.

    Biz tablomuza hi veri eklemediimiz iin veri kmad ekrana ama field isimleri ksa yeter bizim iin Finishdiyerek sonlandralm ayarmz.

    imdi bu nesnemizi kullanabilmek iin bir baka nesneye ihtiya duymaktayz bu nesneler neler olabilir; Datalistolabilir. Gridviewolabilir. Biz Gridview

    kullanalm. Sayfamza bir adetGridviewekelim ve aadaki grafikteki gibi ilerleyelim.

    ASP Nete Giri

  • 8/6/2019 asp.net giri

    76/134

    ASP.Net e Giri

    80|S a y f a

    Choose Data Sourceksmnda oluturmu olduumuz SqlDataSource belirdi. Seiyoruz ve veritabanmza balantmz kuruyoruz.

    Auto Formatile Gridviewin tasarmn deitirebiliriz.

    Ferhat BUYUKKALKAN ASP Nete Giri

  • 8/6/2019 asp.net giri

    77/134

    Ferhat BUYUKKALKAN ASP.Net e Giri

    81 | S a y f a

    SqlDataSourcekontrolmz setiimizde Gridviewhemen deiti ve veritabanmzn ierisindekifieldlar tanyarak kendini ona gre ayarlad.

    SqlDataSourceksmnda ayar yaparkenAdvancedayarlarnda veri izinleri vermitik bu sayede Enable Paging, Sorting, Deleting, Editing, Selection

    seenekleri aktif hale geldi. Bu ayarlar kullanaraktan veritabann ynetmi olacaz. Bu seeneklericheckettikten sonra Gridviewdaha gelimi bir hale

    gelecektir.

    Enable Paging: Verileri Sayfalamaya yarar. Enable Sorting: Field isimlerine link verir ve sralamay DESC veya ASC olarak deitirmenizi salar.

    ASP Nete Giri

  • 8/6/2019 asp.net giri

    78/134

    ASP.Net e Giri

    82|S a y f a

    Enable Deleting:Adndan da anlalaca gibi veriyi siler. Enable Editing: Veriyi dzenlemeye yarar. Tkladnzda veriler textbox ierisinde aktif olarak gncellemenizi salar. Enable Selection: Veriyi semeye yarar.

    Peki, Yeni bir kayt nasl eklerim?

    ok gzel bir soru hemen anlataym; Edit Templatesseeneine tklayalm.

    Edit Templatesierisine bir adetDetailsVieweklememiz gerekmektedir.

    Ferhat BUYUKKALKAN ASP Nete Giri

  • 8/6/2019 asp.net giri

    79/134

    Ferhat BUYUKKALKAN ASP.Net e Giri

    83 | S a y f a

    Auto Formatksmndan tasarmn kendinize gre ayarlayabilirsiniz. Choose Data Sourceksmnda ise veritaban ayarlarmz yapm olduumuz

    SqlDataSource seelim. Ardndan sadece veri eklemek istediimiz iin Enable Insertingseeneinicheckediyoruz.

    Properties ayarlar ise aadaki grafikteki gibidir.

    ASP Nete Giri

  • 8/6/2019 asp.net giri

    80/134

    ASP.Net e Giri

    84|S a y f a

    DefaultModeseeneiniInsertyapmazsak, veritabanndaki veriler kutucuklarmzda yer alacaktr.Web uygulamamz Buildedelim ve hata yoksa altrp

    test edelim.

    Buildettikve bir hata kmad. altralm uygulamamz.

    Ferhat BUYUKKALKAN ASP.Nete Giri

  • 8/6/2019 asp.net giri

    81/134

    Ferhat BUYUKKALKAN ASP.Net e Giri

    85 | S a y f a

    Web uygulamamz altrdk grdnz gibi hem yeni veri ekleyebilmekteyiz hem silip hem de gncelleyebilmekteyiz. Veritabanmz data kontolleri ile bu

    ekilde kullanmaktayz.

    XmlDataSource

    XmlDataSource, XML dosyalarmza erimek ve ierisindeki verileri listelemek iin kullanlan bir data kontroldr. XmlDataSource Treeview gibi hiyerarik

    yapya sahip kontroller iin kullanlabilir.

    Data kontrolmz basit bir uygulama ile inceleyelim;

    Bir web uygulamas oluturalm ve uygulamamzn ierisineAdd New Itemksmndan bir adetXMLsayfas oluturalm.

  • 8/6/2019 asp.net giri

    82/134

  • 8/6/2019 asp.net giri

    83/134

    ASP.Nete Giri

  • 8/6/2019 asp.net giri

    84/134

    88|S a y f a

    Configure Data Sourcepanelimiz stteki grafikteki gibi, Data file ksm bizimXMLsayfamzn yolunu yazacamz alan. BrowseButtonuna tklayalm veXML

    dosyamz seelim.

    Ferhat BUYUKKALKAN ASP.Nete Giri

  • 8/6/2019 asp.net giri

    85/134

    89 | S a y f a

    erkanguzelkucuk.xmlsayfamz seelim ve OKbuttonuna basalm.

    ASP.Nete Giri

  • 8/6/2019 asp.net giri

    86/134

    90|S a y f a

    Data file ksmndaXMLdosyamzn yolu belirdiOKbuttonuna basarakConfigure Data Sourceilemimizi tamamlayalm.

    XMLDataSourcekontrolmz Treeviewde gstereceiz bu nedenle Toolboxdan sayfamza bir adetTreeviewekleyelim.

    Ferhat BUYUKKALKAN ASP.Nete Giri

  • 8/6/2019 asp.net giri

    87/134

    91 | S a y f a

    Treeviewkontrolmzn sa st ksmnda bulunan OKsimgesine tklayalm ve ayarlama panelimizi aalm. Choose Data SourceksmndanXMLDataSource

    kontrolmz seelim.

    ASP.Nete Giri

  • 8/6/2019 asp.net giri

    88/134

    92|S a y f a

    XMLDataSourcekontrolmz setiimizde Treeviewkontrolmz ekilleniyor.Auto Formatksmndan Treeviewkontrolnnn tasarmn

    ayarlayabilirsiniz.

    Uygulamamz Buildedip altralm.

    Show Linesseenei ise Checkdurumda ise Treeviewierisindeki veriler arasndaki hatlar belirgin hale geliyor.

    Show LinesseeneiniCheckedelim ve uygulamamz Buildedip altralm tekrar.

  • 8/6/2019 asp.net giri

    89/134

    ASP.Nete Giri

  • 8/6/2019 asp.net giri

    90/134

    94|S a y f a

    nleyebilirsiniz. Bir dier yol ise Sunucuda oluabilecek bir hatay(Dosya yolunuzun, adnzn deimesi gibi) kullancya bildirip ne yapmas gerektiini

    iletebilirsiniz. Basit bir uygulama ile Try CatchFinally Bloklarmz inceleyelim;

    ki adet textbox, bir adet Buton ve bir adet Label oluturalm. Textboxtan gelen Integer verileri toplayp Labela yazdralm.(Yeni balayanlar iin gzel bir

    uygulama )

    Button1_Click ierisine gelerek kodlarmz yazmaya balayalm;

    Ferhat BUYUKKALKAN ASP.Nete Giri

  • 8/6/2019 asp.net giri

    91/134

    95 | S a y f a

    Try ierisinde kodlarmz altrlyor, eer bir hata ile karlalr ise alma durduruluyor ve Catch ksmna geiyor be lirtilen birException var ise hata mesaj

    otomatik olarak yazdrlabiliyor veya Exception belirtmeden manel olarak da hata mesaj yazlabilir. Finally ksm ise hata alsa da almasa da her iki

    durumda da alr. Biz burada Textboxlarn iini temizledik.

    Peki, Catch ile baka hangi Exceptionlar kullanabiliriz.

    Exception:Varsaylan tiptir, genellikle tek bana kullanlr. Hata durumunda hatay belirtilen deikene aktarr. FormatException:Formata uygun verinin girilmedii zaman harekete geer.

    OverFlowException:Burada ise veri tama yapyorsa(belirlenen veri tipinin snrlar dnda ise)

    DivideByZeroException:Sfra blnme durumunda harekete gemektedir.Build edip hata yoksa altralm. Her iki durumda deneyelim(ilk olarak saysal deerler girelim, ikinci kez altrdmzda ise metinsel deerlergirelim)

    ASP.Nete Giri

  • 8/6/2019 asp.net giri

    92/134

    96|S a y f a

    Master Page

    ASP ile web uygulamas gelitirmiliiniz varsa eer Master Page i ok abuk kavrayacaksnz. Web sitelerinde genellikle stksm(header),Alt ksm(Footer)ve belirli birka uygulama her sayfada ayr ayr eklenmez. Dnn 150 sayfal bir web uygulamanz var ve sayfada ufak bir deiiklik yapmak istediinizde

    tm sayfalarda yapmak zorunda kalrdnz. Bu ok zahmetli olurdu. ASP ile uygulama gelitirenler bu konuda deneyimli olduklar iin zorluk ekmeyeceklerdir.

    ASPde Include yntemi ile bir sayfa yapp o sayfay dier tm sayfalara gmerek bu zahmetten kurtulabiliyorduk. ASP.Net ise Master Page ile bizlere bu

    zellii daha gelimi olarak sunuyor.

    Master Page Nedir? Nasl Kullanlr?ASP uygulamalarnda Include ettiimiz sayfalar altrmadan dzenleyemiyorduk. Fakat Master Page ile artk bu sorun ortadankalkt ve bu zellik olduka

    kullanl bir ara oldu.Bir web uygulamas oluturalm ve detayl olarak inceleyelim;

    Ferhat BUYUKKALKAN ASP.Nete Giri

  • 8/6/2019 asp.net giri

    93/134

    97 | S a y f a

    Uygulamamza bir adet Master Page ekliyoruz.

    Master Page sayfamzn Sourceblmne baktmzda arasnda birContentPlaceHolderolduunu grmekteyiz. Bu ksm imdilik silelim daha sonra

    bu konuya deineceim.

    ASP.Nete Giri

  • 8/6/2019 asp.net giri

    94/134

    98|S a y f a

    imdi Master Page sayfamz ierisinde tasarm yapmaya balayalm.

    Master Page sayfamzn ierisine tablomuzu ekledik ve tasarmmz yaptk. Header, Footer, Sol men ksm birde her sayfada deiecek olan orta ksm(beyaz

    ksm).

    ContentPlaceHolderne ie yaryor burada buna deineceiz. Master Pageyi uygulayacak olan sayfalarn rahat eriebilecei ve ierik oluturabilecei alandr.

    Sayfa ierisinde birden fazla ContentPlaceHolderkullanlabilir. Beyaz ksma Toolboxdan bir adetContentPlaceHolderekleyelim.

    Ferhat BUYUKKALKAN ASP.Nete Giri

  • 8/6/2019 asp.net giri

    95/134

    99 | S a y f a

    Master Page sayfamza eklediimiz ContentPlaceHolder her sayfann kendi ieriini oluturmasn salayacaktr.

    Peki, Master Page Web formlarnda nasl kullanlr. Uygulamamza Add New Item ksmn aarak Master Pageli bir web formu oluturacaz;

    ASP.Nete Giri

  • 8/6/2019 asp.net giri

    96/134

    100|S a y f a

    stteki grafikte grdnz gibi WebFormunu setiimizde Bize Master Page olacak m? Diye sormaktadr. Select Master Pageseeneine check yapalm ve

    devam edelim.

    Ferhat BUYUKKALKAN ASP.Nete Giri

  • 8/6/2019 asp.net giri

    97/134

    101 | S a y f a

    Master Pageli Web formunu eklediimizde bizden bir Master Page sayfas belirtmemizi istiyor. Tasarmnyapm olduumuz erkan.master sayfasn

    seiyoruz ve devam ediyoruz.

    ASP.Nete Giri

  • 8/6/2019 asp.net giri

    98/134

    102|S a y f a

    Master Pageli bir sayfa oluturduumuzda grdnz gibi sadece ContentPlaceHolderksmna dokunabilmekteyiz. Dier ksmlarMasterPagetarafndan

    kilitlenmitir. imdiContentPlaceHolderksm nasl kullanlr ksmna gelecek olursak eer, ContentPlaceHolderksmn bir aspx sayfas gibi kullanabiliriz. Bu

    alanda veritabanmzdan veri ekerek gsterelim hemen.

    Ferhat BUYUKKALKAN ASP.Nete Giri

  • 8/6/2019 asp.net giri

    99/134

    103 | S a y f a

    Veritabann Kullanma, ilerleyen konularda anlatld iin burada yzeysel olarakgeiyorum. Dahance hazrlam olduum bir veritabanm var ilemlerimizi

    onun zerinden gerekletireceim. Bu ekilde sayfamza bir Gridview ve bir SqlDataSource ekleyelim ve verilerimizi veritabanmzdan ekelim. Sayfamz

    Buildedip altralm.

    ASP.Nete Giri

  • 8/6/2019 asp.net giri

    100/134

    104|S a y f a

    Grdnz gibiContentPlaceHoldersayfamzn bir aspx sayfasndan pek fark yok.zerinde rahata alabiliriz. Birka soru ile konumuzu tamamlayalm;

    Diyelim ki, bir buton oluturduk ve bu butona tklandnda istediimiz ilemi yapmasn istiyoruz. Bunu aspx sayfalarnda aspx.cs sayfasnda yapyorduk.

    Fakat Master Pageli bir sayfada ilemlerimizi nereden gerekletireceiz. aspx sayfanzn source ksmnda taglar arasnda

    gerekletiriyorduk. Aynekilde Master Pageli bir sayfa ierisinde de bu taglar arasnda ilemlerimizi gerekletirebiliriz. Aadakigrafikte olduu gibi

    Ferhat BUYUKKALKAN ASP.Nete Giri

  • 8/6/2019 asp.net giri

    101/134

    105 | S a y f a

    Web User ControlNedir? Nasl Kullanlr?Master Page kmadan nce kullanlan Web User ControlMaster Pageden farkl alrlar.Tasarm zamannda ierii grnmez buda Master Page ile

    arasndaki en nemli farkllktr.Sayfa uzants .ascxtir ASP ile kullandmz Includeye benzer bir bakma. Hazrlam olduumuz Web User Controlieriini

    her sayfaya teker teker tamamz gerekmektedir. Basit bir uygulama ile inceleyelim;

    Web uygulamas oluturalm ve Add New Item blmnden bir adetWeb User Controloluturalm.

    ASP.Nete Giri

  • 8/6/2019 asp.net giri

    102/134

    106|S a y f a

    Web User Controlsayfalarnn aspx sayfalar ile arasnda pek fark yoktur. Tasarmve kodlamalar aynen burada da yaplabilir.Arasndaki tek farkWeb User

    Controlsayfalar tek bana altrlamazlar.

    stteki grafikte Web User Controlsayfasnn Source ksmn grmektesiniz.

    Web User Controlsayfamzn ieriini oluturalm.

    Web User Controlsayfamzn ierisine bir men oluturduk ve bu meny default.aspx sayfamzda gsterelim. Web User Controlsayfamz aspx sayfalarnda

    srkleyip brakarak kullanmaktayz.

    Ferhat BUYUKKALKAN ASP.Nete Giri

  • 8/6/2019 asp.net giri

    103/134

    107 | S a y f a

    Sayfamz Build edelim ve altralm.

    Default.aspx sayfamz altrdk ve Web User Controlsayfamzn nasl altn grm olduk.

    Web. ConfigYap olarak XML kullanlmaktadr. Webuygulamamzdakiayarlamalarmz yapm olduumuz dosyadr.Daima web uygulamamzn alt dizininde bulunan

    Web.Config dosyas uygulamamzda yok iseAdd New Item ksmndan ekleyebilirsiniz. Web.Config dosyas ile basit bir uygulama yapalm. Bu ekilde

    dosyamzn gerekliliini kavrayacanza inanyorum.

    ASP.Nete Giri

  • 8/6/2019 asp.net giri

    104/134

    108|S a y f a

    Web Config ile Veritabanna BalanmaBir proje iin kollarnz svadnzda ilk aklnza gelen ey veritabandr. Verileri hangi veritabannda, hangi yntemle saklayacam ve naslbalanacam? Bugn nasl balanacam sorusuna biraz deinelim.Veritabanna balanmann birok yolu vardr. Bunlardan birisi de Web. config ile balanma.Gelimi bir proje zerinde altnzda veritabanyolunun deime ihtimalini gz nnde bulundurursak ve projenizde 20 den ok sayfa olduunu dnrsek her sayfada teker teker bu yolu

    dzenlemeniz gerekecek. Buna zm olarak Web. Configile balanten mantkl yol olarak grnyor. Bir rnekle bunu nasl yapacamzgrelim.

    Projemizde yer alan Web. Config dosyasn aalm, ardndan kodlarmz yazmaya balayalm.

    Kodlarmz aadakitaglar arasna yazyoruz.

    lk olarak bir connectionstring etiketi oluturuyoruz. Bu etiket ierisinde Provider ve Sistem Ktphanemizi belirteceiz. Kodumuz aadaki gibi;

    Provider ierisinde baz deiiklikler var |DataDirectory|\sev.mdb veritabanmzn App_Data ierisinde yer aldn belirtmektedir.

    Balantmzn Web.Config ksmn hallettik. Sra geldi default.aspx.cs dosyamza

    Ktphanemize, yukardaki snflar eklemeyi unutmaynz.

    Bir deiken oluturarak Web.config ierisindeki balantmz ona aktaralm.

    Ferhat BUYUKKALKAN ASP.Nete Giri

  • 8/6/2019 asp.net giri

    105/134

    109 | S a y f a

    Ado.Net 2.0 ile gelen ConfigurationManagementn iki ayr snf vardr. Bunlardan birisi ConfigurationManager dieri ise

    WebconfigurationManager.

    ConfigurationManager:SadeceWeb deil dier Platformlar da gz nne alr. WebconfigurationManager:SadeceWeb tabanl uygulamalar iin tasarlanm yeler ierir.

    BizWebconfigurationManagersnfn kullanarakWeb. configierisinden balantmz ekeceiz.

    Connectionstringimize Web.Config ierisinde vermi olduumuznamei kullanyoruz.

    Bu ekilde baglanti deikenimize Web.config dosyasndaki balantmz aktarm olduk. imdi bu deikenimiz ile istediimiz ilemi yapabiliriz.

    lk olarak veritabanndaki tablomuza balanabilmek iin birOleDbDataAdapternesnesi tanmlayalm veDatasetkullanarak

    verilerimiziGridviewe aktaralm.

    Projemizi Build edelim ve bir hata yoksa altralm.

    ASP.Nete Giri

  • 8/6/2019 asp.net giri

    106/134

    110|S a y f a

    Bir hata yok projemizi altrabiliriz.

    Ferhat BUYUKKALKAN ASP.Nete Giri

  • 8/6/2019 asp.net giri

    107/134

    111 | S a y f a

    Verileri YnetmekMicrosoft, ActiveX Data Objectsi gelitirmeye balad ve ADO.Neti yaratt. Peki,ADO ile ADO.Net arasndaki farkllklar nelerdir. En nemli farkllklar

    unlardr; Recordsetartk tarihe kart.ADO.Net artk daha geni leklenebilir snflar yaratt. BunlarDataAdapterve Datasetsnflardr. Birbaka adan

    baktmzda ADO sadece OleDbProvider yapsn kullanyordu. ADO.Net ise OleDb Provider dnda SQL Provider yapsn da kullanmaktadr.

    Bilindii zere birok veritaban bulunmaktadr ve her veritaban Providerine .Net platformu yklendiinde sahip olamyoruz.Bunlardan en nemlisi Oracle,

    eer Oracle veritabannza erimek ve verilerinizi ynetmek istiyorsanzwww.oracle.comadresinden OPD.Neti indirmeniz gerekmektedir.Bu ekilde Oracle

    Providerini kullanabilirsiniz.

    ADO.Net Nedir?ASP ile programlama yapanlar bilirler. Bir veritabanndan veri okumak iin veritaban ile devaml olarak balant ierisinde olmamz gerekmektedir. Ayn

    anda yz kiinin veritabanndan veri okuduunu dnrsek siteniz ok yavalayacak ve performans en aza inecektir. Bir bakaynden bakacak olursak eer,

    ADO ile her balant iin ayr birRecordsetoluturmamz gerekiyordu.

    ADO.Net bu performans kayplarna yer vermemek iin DataSetnesnesiniretti ve veritaban ile ilem yapmak iin veritabanna devaml bal kalmay

    tamamen ortadan kaldrd.Bir kere DataSeti doldurmanz ile veritaban ile balant kesilse bile ilemlerinize sanki balant varm gibi devam etmenizi

    salayacaktr. Hatta verilerinizi ynetebilir ve istediiniz zaman kayt yapabilirsiniz buna DisConnected(Offline) denilmektedir. te ADO.Net bu ekilde

    performans ve hz sorununu ortadan kaldrm oluyor.

    Aadaki Grafikte ADO.Net Veri Mimarisini grebilirsiniz.

    ASP.Nete Giri

    http://www.oracle.com/http://www.oracle.com/http://www.oracle.com/http://www.oracle.com/
  • 8/6/2019 asp.net giri

    108/134

    112|S a y f a

    ADO.Neti KullanmakADO ile veritabanna balanabilmek iin Connection ve Recordsetkullanyorduk. Bir nceki konumuzda ADO ile performans ve hz kayb hakknda bilgi

    verdim. imdi ise ADO.Neti kullanarak veritabanna balanmay anlatacam. lk olarak nesnelerimizden balayacak olursak;

    Connection Object(Balant Nesnesi)

    Balant nesnesi adndan da anlalaca gibi veritabannz ile balant oluturmanz salar.Microsoft Visual Studio.Net balant snf iki trdedir

    SqlConnectionNesnesi: Bu nesne zellikle SQL Server 7.0 ile sonraki srmlere balant iin tasarlanmtr. OleDbConnection Nesnesi: MicrosoftAccess ve benzeri veritaban ile balant kurmak iin tasarlanmtr.

    Ferhat BUYUKKALKAN ASP.Nete Giri

    C d Obj (K N i)

  • 8/6/2019 asp.net giri

    109/134

    113 | S a y f a

    Command Object(Komut Nesnesi)

    Komut nesnesi iki ana snfa ayrlr bunlar; SqlCommandve OleDbCommanddr. Komutnesneleri bir veritaban balants zerinden komutlar altrmak iin

    kullanlr. CommandNesneleri, veritabannda saklanan Prosedrlerialtrmak iin kullanlabilir.

    Komut nesneleri veritaban zerinden komut yrtmek iin yntem kullanr;

    ExecuteNonQuery: Insert, Update ve Deletegibi geri dn olmayan Values komutlarn yrtr. ExecuteScalar: Tekbir deeri veritabanndan sorgular ve dndrr. ExecuteReader: DataReaderNesnesine sonu dndrr.

    DataReader Object(DataReader Nesnesi)

    DataReader nesnesi sadece veri okumay salar. DataReader komut nesnesinin ExecuteReader yntemi sonucu olarakdndrr.

    SqlCommand. ExecuteReaderyntemiSqlDataReaderNesnesini dndrr. OleDbCommand. ExecuteReaderyntemi ise OleDbDataReaderNesnesini

    dndrr.

    DataAdapter Object(DataAdapter Nesnesi)

    DataAdapterin asl grevi veritaban ve DataSetarasndaki iletiimi kolaylatrmaktr. DataAdapterveritabanna balanty aar, istenilen sorguyu sorarcevap alr ve bu cevab DataSete tar ardndan balanty kapatr.DataAdapterveritaban komutlarn temsil eden drt zellik vardr;

    InsertCommand: Yeniveri kayd girmek iin kullanlr. SelectCommand: Veritabanndan verileri semek iin kullanlr. DeleteCommand: Veritabanndanveri silmek iin kullanlr. UpdateCommand: Veritabanndaki veriyi gncellemek iin kullanlr.

    Basit bir web uygulamas ile konularmz inceleyelim;

    Uygulamamza bir adet veritaban ekleyelim ve ierisine veri girii yapalm.

    ASP.Nete Giri

  • 8/6/2019 asp.net giri

    110/134

    114|S a y f a

    Default.aspx.csdosyamzn ierisine girerek kodlarmz yazmaya balayalm.

    Sistem ktphanemizi eklemeyi unutmayalm!

    Ferhat BUYUKKALKAN ASP.Nete Giri

  • 8/6/2019 asp.net giri

    111/134

    115 | S a y f a

    SqlConnectionile veritaban balantmz oluturduk, ConnectionStringile veritabanmzn Providerini ve veritabanmzn yolunu belirttik. ArdndanSqlDataAdapterile veritabanndakiDevelopermaniaadndaki tabloyu alp DataSetierisinde tablo1adndaki tabloya tadk.

    Sayfama eklediim Gridviewde ise verilerimizi gsterdik.

    stteki grafikte DataSet ierisindeki tablomuzun indexnumarasn vererek ektik bir baka yolu da u ekildedir.

    Tablomuzun isminivererek de balanabiliriz. Web uygulamamz Buildedip altralm.

    ASP.Nete Giri

  • 8/6/2019 asp.net giri

    112/134

    116|S a y f a

    Grm olduunuz gibi verilerimiz Gridviewe aktarld.

    Uygulamamza gz atacak olursak eer nelere deindik;

    Connection Nesnesini Kullanmay. ConnectionString ve Provider Kullanmay. SqlDataAdapter Kullanmay. SqlDataAdapter ile Veritabanndaki verileri DataSete tamay. DataSet ierisinde bir tablo ismi belirtip SqlDataAdapterden aldmz verileri saklamay. DataSet ierisindeki tablomuzu nasl kullanabileceimizi.

    Konumuzda ise;

    ADO.Net Nedir? ADO ve ADO.Net arasndaki farkllklar. ADO.Net Nasl Kullanlr? ADO.Netin Avantajlar

    Ferhat BUYUKKALKAN ASP.Nete Giri

    V it b E i k K ll k

  • 8/6/2019 asp.net giri

    113/134

    117 | S a y f a

    Veritabanna Erimek ve KullanmakHer yazlmc bir web projesine balamadan nce hangi veritabann hangi yollar ile kullanacan belirler ve o yol zerinden web uygulamalarn gelitirir.

    rnekverecek olursak eer; Bir alveri maazasnn Online sat web uygulamasn siz gelitiriyorsunuz diyelim, Burada web uygulamasna balamadan

    nce hangi veritabann ve o veritabanna hangi yollar ile balanmalym? Sorusuna yant bulmanz gerekmektedir. OnlineAlveri Maazas web

    uygulamasna balarken aklnza gelecek ilk konu u olmaldr. Online Sat yapacak olan Alveri Maazasnn web uygulamasdevaml veri ak ierisinde

    olaca iin salam yaps olan bir veritaban seilmelidir. Salam veritabanndan kastm udur ki; Microsoft Access veritaban olarak kullanlrken on bin veyadaha ok veri girildiinde veri ak yavalyor ve bu yavalamada web uygulamanzn performansn olduka d recektir. Bu tr web uygulamalarnda

    genellikle SQL Server veritaban kullanlmaktadr. Basitbir web uygulamas oluturalm ve veritabanmz nasl kullanabiliriz inceleyelim.

    Bir web uygulamas oluturduktan sonra, uygulamamza bir adet SQL Server veritaban ekleyelim.

    Website/AddNewItemyolunu izleyerek veritabanmz ekleyelim.

    ASP.Nete Giri

  • 8/6/2019 asp.net giri

    114/134

    118|S a y f a

    Add butonuna bastnzda karnza bir bilgi kutucuu alacak o bilgi kutusunda: Veritabannz App_Data klasr ierisindebarndralm m? Diye soruyor.

    Evet, butonuna basarak devam edelim.

    imdi gelelim tablomuzu oluturmaya. Aadakigrafikte olduu gibi Tables zerine gelerek sa tklaypAdd New Table seeneini seiyoruz.

    Ferhat BUYUKKALKAN ASP.Nete Giri

  • 8/6/2019 asp.net giri

    115/134

    119 | S a y f a

    Tablomuzun Fieldlarn aadaki gibi oluturalm.

  • 8/6/2019 asp.net giri

    116/134

    Ferhat BUYUKKALKAN ASP.Nete Giri

    Properties panelinden IdentitySpefication altnda bulunan (Is Identity) seeneini Yes yapalm. Ardndan veritabanmzn id fieldna birincil

  • 8/6/2019 asp.net giri

    117/134

    121 | S a y f a

    Properties panelinden Identity Speficationaltnda bulunan (Is Identity) seeneiniYesyapalm. Ardndan veritabanmzn id field na birincil

    anahtar(Primary Key) deer vermemiz gerekmektedir. Aadakigrafikte bunu nasl yapacanz hakknda bilgi vermektedir.

    Veritaban Tablomuzu CTRL+S ksa yolunu kullanarak kayt edelim. smiDevelopermania olsun

    Grdnz gibi Server Explorer ksmnda Tables Altnda veritabanmz ve fieldlar yer ald. imdibu veritabanna balanabilmek iin iki temel yol

    bulunmaktadr. Kodlar ve Nesneler ile Kitabmzn konusu ASP.Nete giri olduu iin Kod ksmn yzeysel geeceim nedeni ise SQL Server veritabanna

    ASP.Nete Giri

    balanmak iin kullanacamz snflar ve balant Providerini detayl olarak bilmediinizden dolaydr. Kod ksmna eer girersek bir kitap daha yazmak

  • 8/6/2019 asp.net giri

    118/134

    122|S a y f a

    balanmak iin kullanacamz snflar ve balant Provider ini detayl olarak bilmediinizden dolaydr. Kod ksmna eer girersek bir kitap daha yazmak

    gerekebilir

    Nesneler ile balanmak iin Toolbox ksmndaki Data ksmndaki nesneleri kullanmamz gerekmektedir. Temel olarak birka nesneden bahsedeceim ve bizim

    iimize yarayacak olan nesneyi detayl olarak anlatacam.

    AccessDataSource: Microsoft Access veritabanna nesnel yol ile balanabilmemizi salayan kontroldr. Bir web uygulamasnda birden okAccessDataSourcekontrol kullanlabilir.

    Veritabann belirterekProvideri kendi oluturmaktadr. Kontroller ile bir satr kod yazmadan bile web uygulamanz tamamlayabilirsiniz.

    SqlDataSource: Microsoft SQL Serververitabanna nesnel olarak balanabilmemizi salayan kontroldr.AccessDataSourcede olduu gibi, Bir web

    uygulamasnda birden okSqlDataSourcekontrol kullanlabilir. Veritabanmza balanmak iin bizde bu kontrol kullanacaz.

    Sayfamza srkleyerek ekelim ve brakalm. Hemen sa ksmnda bir kutucuk alyor ve Configure Data Sourcelinki kyor. O linke tklayalm ve

    veritabanna balanma ilemimizi tamamlayalm

    Ferhat BUYUKKALKAN ASP.Nete Giri

  • 8/6/2019 asp.net giri

    119/134

    123 | S a y f a

    Veritabanmz DropDownListksmnda seiyoruz ve grdnz gibiConnection Stringksmnda otomatik olarakSQL Providerimizi oluturdu kendisi. Next

    diyerek ilerleyelim.

    ASP.Nete Giri

  • 8/6/2019 asp.net giri

    120/134

    124|S a y f a

    Karmza byle bir uyar kt, Web uygulamanz iin birConnectionStringoluturmak istiyor musunuz? Uyarsna Yes, Save This Connection As: kutucuunu

    iaretleyerekNexte basp devam edelim.

    Ferhat BUYUKKALKAN ASP.Nete Giri

  • 8/6/2019 asp.net giri

    121/134

    125 | S a y f a

    Geldik can alc noktalardan birisine

    ASP.Nete Giri

    Bu ksmda bizden istedii; veritabanna nasl balanmak istiyorsunuz?

  • 8/6/2019 asp.net giri

    122/134

    126|S a y f a

    Numaralandrmalara gre srasyla inceleyelim

    7) Specify a custom SQL Statement or Stored ProcedureBu ksm tablomuzazel olarakayrntl bir ekilde balant kurmamz salar bu ksm seili olursa eer SQL cmleciklerimizi kendimiz yazmamz

    gerekecek.

    8) Specify Columns From a Table or ViewBu ksmda ise 1. Ksmdakilerin tam tersi SQL cmleciini bizim vermi olduumuz talimatlara gre kendi retmektedir. Bu retmi olduu cmlecii

    6. Ksmda gstermektedir.

    9) NameBu ksmda Veritabanmzn ierisindeki hangi tablo ile ilem yapacamz belirtmemizi salar. Tablomuzusetiimizde otomatik olarak aadaki

    Columns ksmndaki fieldlarmz grnmektedir.

    10)ColumnsBu ksm tablomuzdaki fieldlarmz gstermektedir ve hangi field ierisindeki verileri ekmek istediimizi burada belirleriz. Bizim drt adet fieldmzvard fakat burada be adet var bunun nedeni yldz(*) seeneidir. Bu yldz seenei tablomuzdaki btn fieldlar sememizisalar.

    11)Where, Order by, AdvancedBu blmdeki butonlarn ayr ayr grevleri bulunmaktadr.

    Where: Tablomuzda bir karlatrma yapmak istediimizde kullanrz genellikle. Bu ksm veritabanna direk olarak balant yaptmz srada pek

    kullanlmaz, Kullanm alanlar genelde Kategorileme, ye girii gibi uygulamalarda kullanlr.

    Order by: Tablomuzdan verileri nasl bir sralama ile ekeceimizi bu ksmda belirlemekteyiz. ki seenek vardr bu ksmdafielde gre

    ASC(ASCENDNG) veya DESC(DESCENDNG) olmaldr. rnein: Adi fieldnda ki verileri DESC olarak sralamak istersek veriler alfabeye gre tersten

    sralanr.

    Advanced: Bu ksmda veritabanmza bir nevi veri giri izinlerini am oluyoruz. Update(Gncelleme), Insert(Yeni Kayt), Delete(Silmek) gibi izinleri

    buradan verebiliriz.

    12)Buras da son olarak verdiimiz talimatlarn SQL cmleciine evrilmi ksmdr.Next diyerek ilerleyelim.

    Ferhat BUYUKKALKAN ASP.Nete Giri

  • 8/6/2019 asp.net giri

    123/134

    127 | S a y f a

    Buras ayarlarmz yaptmz son admdr. imdi veritaban balantmz oluturduk ve test etmeye geldi sra Test Querybutonuna basarak veritabanmza

    doru ulaabilmi miyiz kontrol edelim.

    Biz tablomuza hi veri eklemediimiz iin veri kmad ekrana ama field isimleri ksa yeter bizim iin Finish diyerek sonlandralm ayarmz.

    imdi bu nesnemizi kullanabilmek iin bir baka nesneye ihtiya duymaktayz bu nesneler neler olabilir; Datalistolabilir. Gridviewolabilir. Biz Gridview

    kullanalm. Sayfamza bir adetGridviewekelim ve aadaki grafikteki gibi ilerleyelim.

    ASP.Nete Giri

  • 8/6/2019 asp.net giri

    124/134

    128|S a y f a

    Choose Data Sourceksmnda oluturmu olduumuz SqlDataSource belirdi. Seiyoruz ve veritabanmza balantmz kuruyoruz.

    Auto Formatile Gridviewin tasarmn deitirebiliriz.

    Ferhat BUYUKKALKAN ASP.Nete Giri

  • 8/6/2019 asp.net giri

    125/134

    129 | S a y f a

    SqlDataSource nesnemizi setiimizde Gridview hemen deiti ve veritabanmzn ierisindeki fieldlar tanyarak kendini ona gre ayarlad. SqlDataSource

    ksmnda ayar yaparkenAdvancedayarlarnda veri izinleri vermitik bu sayede Enable Paging, Sorting, Deleting, Editing, Selectionseenekleri aktif hale

    geldi. Bu ayarlar kullanaraktan veritabann ynetmi olacaz. Bu seeneklericheckettikten sonra Gridview daha gelimi bir hale gelecektir.

    Enable Paging: Verileri Sayfalamaya yarar. Enable Sorting: Field isimlerine link verir ve sralamay DESC veya ASC olarak deitirmenizi salar. Enable Deleting:Adndan da anlalaca gibi veriyi siler.

    ASP.Nete Giri

    Enable Editing: Veriyi dzenlemeye yarar. Tkladnzda veriler textbox ierisinde aktif olarak gncellemenizi salar.

  • 8/6/2019 asp.net giri

    126/134

    130|S a y f a

    Enable Selection: Veriyi semeye yarar.Peki, Yeni bir kayt nasleklerim?

    ok gzel bir soru hemen anlataym; Edit Templatesseeneine tklayalm.

    Edit Templatesierisine bir adetDetailsVieweklememiz gerekmektedir.

    Ferhat BUYUKKALKAN ASP.Nete Giri

  • 8/6/2019 asp.net giri

    127/134

    131 | S a y f a

    Auto Formatksmndan tasarmn kendinize gre ayarlayabilirsiniz. Choose Data Sourceksmnda ise veritaban ayarlarmz yapm olduumuz

    SqlDataSource seelim. Ardndansadece veri eklemek istediimiz iin Enable Insertingseeneinicheckediyoruz.

    Properties ayarlar ise aadaki grafikteki gibidir.

    ASP.Nete Giri

  • 8/6/2019 asp.net giri

    128/134

    132|S a y f a

    Web uygulamamz Buildedelim ve hata yoksa altrp test edelim.

    Buildettik ve bir hata kmad. altralm uygulamamz.

    Ferhat BUYUKKALKAN ASP.Nete Giri

  • 8/6/2019 asp.net giri

    129/134

    133 | S a y f a

    Web uygulamamz altrdk grdnz gibi hem yeni veri ekleyebilmekteyiz hem silip hem de gncelleyebilmekteyiz. Veritabanmz SqlDataSource

    kontrol ile bu ekilde kullanmaktayz.

    Enable Editingseenei ise Enable Insertteki gibi ayn ilemler ile aktif hale getirilir. GridviewierisindekiGncelleme paneli haricinde bir alan oluturularak

    Gncellemeyapmak iin kullanlr.stteki grafikte oldugu gibiDefaultMode Inserthaline getirilmelidir.Getirilmez ise veri gncellenemez.

    ASP.Nete Giri

  • 8/6/2019 asp.net giri

    130/134

    134|S a y f a

    Enable Pagingile verileri sayfalarz ve her verinin altta linki belirir.

    Sayfamz Buildedip altralm.

    Ferhat BUYUKKALKAN ASP.Nete Giri

  • 8/6/2019 asp.net giri

    131/134

    135 | S a y f a

    Alt ksmmda yer alan saylar verilerimizinidlerini gstertmektedir. Tkladnzda gncelleme formuna verileri armaktadr.

    ASP.Nete Giri

    Blogsa Nedir?

  • 8/6/2019 asp.net giri

    132/134

    136|S a y f a

    Blogsa cretsiz, ak kaynakl Tamamen Asp.NET ve C# kodlama dili ile yazlm bir Blog sistemidir.

    Ayn zamanda bir blog sistemi zerinde ierisinde birokeklentiyi barndran sayfann her alannda size dzenleme imknsunan, zengin ve dzenlenebilir

    tema seenekleri ile sizlere geni bir site zellii salayabilen bir sistemdir. Ayrca Blogsa dier blog sistemlerine karn ok hzldr.

    Blogsa da ilem yapmak ok kolaydr. Kurulumu ok basittir. Gncel birok Veritabann destekler yapdadr. Gnden gne ise destekledii veritabanyaplarn artrmaktadr.

    Blogsa ayn zamanda dil seeneine sahip bir sistemdir. Kolay dzenlenebilir dil dosyalar sayesinde(XML) blog sisteminizi istediiniz dilde yaynlayabilirsiniz.

    Sayfalarn heryerinde tek tek oynama yapmanza gerek kalmaz. Sadece dil dosyasn deitirmeniz sayfanzn tamamen farkl birdilde olmas iin yeterli.

    Sayfanzn dilediiniz yerinde dil deitirmek iin eklenti ekleyebilirsiniz.

    Blogsa'y kullanmak iin ge kalmayn. Sizde bir Blogsa sahibi olmak iin Nasl Yklerim?Sayfasn ziyaret edebilir, ya da