2 ASP.NET MVC İLE YAZILIM GELİŞTİRME



Benzer belgeler
1 C#.NET GELİŞTİRME ORTAMI 1 Visual Studio 2015 Arayüzü 4 Menu Window 6 Solution Explorer 7 Properties Window 8 Server Explorer 8 Toolbox 9

BAŞARIM ÖLÇÜTLERİ 1. ASP.NET MVC nin kullanım alanlarını sıralar. 2. ASP.NET MVC çalışma prensibini örneklerle açıklar.

İÇİNDEKİLER VII İÇİNDEKİLER

İÇİNDEKİLER VII İÇİNDEKİLER

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6

1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.Net Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

ÖNDER BİLGİSAYAR KURSU. Microsoft Office Kursu Eğitim İçeriği

Bu Kitap Kime Hitap Eder? 2 Kitapta Nelerden Bahsedilmiştir? 3 Kitabı Takip Edebilmek için Nelere İhtiyaç Duyacaksınız?

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

2 VISUAL STUDIO 2012 GELİŞTİRME ORTAMI

ÖĞRENME FAALİYETİ 1 ÖĞRENME FAALİYETİ 1 1. FORMLAR

Web Formlar ve Sayfalar Arasında Bilgi Gönderme. BATML İnternet Programcılığı 1

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 1. Bölüm C# Programlamaya Giriş

1 GİRİŞ 1 Bu Kitap Kime Hitap Eder? 2 Kitapta Nelerden Bahsedilmiştir? 3 Kitabı Takip Edebilmek için Nelere İhtiyaç Duyacaksınız?

Web Tasarımının Temelleri

ASP.NET M U S T A F A K I L I Ç M C S E, M C D B A

1 FULL STACK DEVELOPMENT NEDIR? 1 Nasıl Full Stack Developer Olurum? 2

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

PROGRAMLAMA DERSİ 1. İNTERNET

C# Form Uygulamaları. Nesne Tabanlı Programlama I (C#) Ders Notu. S.Ü.Akören A.R.E. Meslek Yüksekokulu C.ÖZCAN- F.SARAY

Site Temizlik Projesi Kodları

ASP.NET SAYFA DETAYLARI. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

ÖNDER BİLGİSAYAR KURSU. İşletmenlik Kursu Eğitim İçeriği

İÇİNDEKİLER BÖLÜM-1. BİLGİSAYARIN TANIMI VE ÇALIŞMA PRENSİBİ...1 BÖLÜM-2. WİNDOWS XP İŞLETİM SİSTEMİ...27

AOSB 2017 EĞİTİM PROGRAMI

Görsel Programlama (Visual Programming) 2.Hafta

HTML & CSS. Öğr.Gör. M.Ersin AKAY

HTML Etiketleri Genel Özellikler (Global Attributes)

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 4 MasterPage

Firma Yazılımı v2.00 Kullanım Kılavuzu

2 PYTHON A GIRIŞ 13 PyCharm İle Python Projesi Oluşturma 15 Projenin Çalıştırılması 18 İlk Python Programımız 19 Açıklama Satırları 21

Kurulum 14 FTP ye Bağlanmak ve Dosyaları Atmak 14 Veritabanı Oluşturulması ve Bağlanıp Kurulumun Tamamlanması 15

«BM364» Veritabanı Uygulamaları

3 ANGULARJS UYGULAMA VE MODULE YAPISI 25 Dependency Injection 28 Routing 31 Scope Kavramı 33 Digest Loop, Model ve Scope İlişkisi 35

ASP.NET ile Bir Web Sitesi Oluşturma

Değerlendirme Soruları 140. Şerit Kullanımı 124 Şerit Sekmeleri 124 Şeridi Gizleme 125 Eklentiler 125

MVC Kul anıcı Doğrulama ve Yetkilendirme MVC Filtreler Action Filter FilterAttribute IActionFilter FilterAttribute IActionFilter

Aktarımı Çalıştırmak/Geri Almak 146 Alan Seçenekleri 148 Veri Tabanı Şeması 150 Veri Tabanı ile İlgili Bazı Rake Görevleri 162 Modeller 164

Dersin Konusu ve Amaçları: Ders P lanı: Bölüm 1: Bilgi Teknolojilerinde Temel Kavramlar

Doç. Dr. İsmail Rakıp Karaş Hazırlayan: İdris Kahraman

MODÜL BİLGİ SAYFASI KODU :

Site Tasarım Çalışması -3

İÇİNDEKİLER BİRİNCİ BÖLÜM BİLGİSAYARDA BELGE AÇMAK VE TEMEL İŞLEMLER YAPMAK

YZM 3215 İleri Web Programlama

OTURUM AÇMA ADLARI. Tavsiye Edilen Önhazırlık Enterprise Manager'i kullanabilmek.

Temel Başlıklar. HTML Formlarının amacı Çalışma şekli Form Action ve Method

ASP.NET Versiyonları 8 ASP.NET 1.0 ve ASP.NET ASP.NET ASP.NET 4.0 9

<html> <head> <title>sayfa Başlığı</title> </head> <body> Bu benim ilk sayfam <b>bu metin koyu</b> </body> </html>

1 İÇERİK YÖNETİM SİSTEMLERİ VE JOOMLA 1. İçerik Yönetim Sistemi (CMS) Nedir? 1. Neden Joomla? 2. Joomla nın Tarihi 3. Joomla nın Anlamı & Logosu 4

TGB FİRMA PORTALI KULLANIM KLAVUZU

ÖĞRENME-ÖĞRETME YÖNTEM VE TEKNİKLERİ. gösterip yaptırma, uygulamalı çalışma. Anlatım, soru-cevap, gösterip yaptırma, uygulamalı çalışma.

YZM 3215 İleri Web Programlama

4. Bölüm Programlamaya Giriş

C# nedir,.net Framework nedir?

YZM 3215 İleri Web Programlama

T.C. MİLLÎ EĞİTİM BAKANLIĞI Talim ve Terbiye Kurulu Başkanlığı

1 JAVASCRIPT NEDİR? 1

Görsel Programlama (Visual Programming) 2.Hafta

Metin Text Kutuları. Metin kutusu oluşturmak için <input> tagı kullanılır.

1.1 Web Kavramlar URL terimini tanımlayınız ve anlayınız.

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 5 Veri Tabanı İşlemleri

TARSUS HALK EĞİTİMİ MERKEZİ VE ASO MÜDÜRLÜĞÜ

BİRİNCİ BÖLÜM İNTERNET

İNTERNET PROGRAMCILIĞI DERSİ

Üst Düzey Programlama

Kullanım Kılavuzu Milli Eğitim Bakanlığı 2010

ORT3167 İnternet Programcılığı 1 Ders1-2. Öğr. Grv. Aybike ŞİMŞEK

SPSS (Statistical Package for Social Sciences)

CODEIGNITER SEMINERI KÜTÜPHANE YAZMA GÜVENLIK ÖNLEMLERI CODEIGNITER 2.0

Basamaklı Stil Şablonları (CSS) BIM206 Web Programlama

Veritabanı Tasarımı. Kullanıcı Erişimini Kontrol Etme

MS WORD 5. BÖLÜM. Şekil Sayfa Düzeni Sekmesi. Şekil Temalar Grubu

İÇİNDEKİLER 1 BAŞLARKEN 1

Ç NDEK LER 1 PHP 6 1 PHP Nedir? 1 PHP nin Tarihi 2 PHP nin Avantajlar 4 PHP nin Dezavantajlar 4 PHP nin Çal flma Mant 6 PHP nin Çal flma Aral 8 PHP

Öğr. Gör. Serkan AKSU 1

=~ Metodu 92 Karakter Sınıfları 94 sub ve gsub metotları 101 Hızlı Tekrar 102 Kontrol Noktası 103 Düello 106 Sonraki Bölümde 109

ASP.NET 1. DURUM YÖNETİMİ. BLM 318 e-ticaret ve Uyg. Durum Yönetimi Nedir? Durum Yönetimi: Karșılaștırma İÇERİK. Sunucu-taraflı Durum Yönetimi

WEB SİTESİ YÖNETİM PANELİ KULLANMA YÖNERGESİ

GEÇERLİLİK KONTROLLERİ VALİDATİON CONTROLS. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

MOBILEPAX XML PRODUCT API KULLANIM ŞEKLİ

Arayüz Geliştirme Dokümantasyonu

Kullanıldığı Başlıca Siteler

WEB SİTESİ YÖNETİM PANELİ KULLANMA YÖNERGESİ

WEB FORMLARI. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

1 APACHE SERVER KURULUMU 1 Kurulum 1 Apache Ayarları (httpd.conf) 6 PHP Ayarlaları (php.ini) 7 PHP5.4 Yükseltme 8 phpmyadmin Yükseltme 10

Metin Tabanlı İçerik Oluşturma Araçları

Önce Access açıp,masaüstü ne, vt.mdb adlı veri tabanı dosyasını oluşturuyoruz. Kayıt türünü seçiyoruz

Javascript Ders Örnekleri -2. Tarayıcı Görüntüsü

HSancak Nesne Tabanlı Programlama I Ders Notları

HTML içerik oluşturmak için düşünülen bir işaret dilidir. Örnek

3. Metin ve Görünüm Etiketleri

HSancak Nesne Tabanlı Programlama I Ders Notları

1 BOOTSTRAP NEDİR? 1 Bootstrap Nedir? 1 Bootstrap Dosyalarının Siteye Dahil Edilmesi 2 Bootstrap ın Sağladığı Kolaylıklar 3

YZM 2105 Nesneye Yönelik Programlama

Karabük Üniversitesi, Mühendislik Fakültesi... WEB TEKNOLOJİLERİ

İçindekiler 1. ConnectProf a Geçiş Entegrasyon Adımları... 3 a. Paket Seçimi... 3 b. Link Ekleme ve Analiz... 4 c. Analiz Sonucu ve Alan

4 Front Page Sayfası Özellikleri

İÇİNDEKİLER. YAZARLAR HAKKINDA... v. RESİMLER LİSTESİ...xv. 1.1.Bulut Bilişim Kavramının Analizi...1 BÖLÜM 1: TEMELLER...1

Google Search API ile ajax arama

Transkript:

İÇİNDEKİLER VII İÇİNDEKİLER 1 TEMEL BİLGİLER 1.Net Framework Nedir? 1.Net Bileşenleri 1 CLR (Common Language Runtime - Ortak Dil Çalışma Platformu) 3 MSIL (Microsoft Intermadiate Language - Ara Dil) 3 JIT (Just in Time - Çalışma Anında Derleme) 4 EconoJIT (Ekonomik JIT) 4 Normal JIT 4 PreJIT 4 Base Class Library (Temel Sınıf Kütüphanesi) ve Namespace (İsim Alanı) Kavramları 5 System 5 System.IO 6 System.Linq 6 System.Net 6 System.Security 6.Net Framework 4.5.1 6 Asp.Net MVC Nedir? 7 MVC Pattern Nedir? 7 Model 7 View 7 Controller 8 Asp.Net MVC nin Çalışma Prensibi 8 MVC nin Avantajları ve Dezavantajları 11 Neden Asp.Net Web Forms? 11 Neden Asp.Net MVC? 12 Karşılaştırma Sonucu 14 2 ASP.NET MVC İLE YAZILIM GELİŞTİRME 15 Asp.Net MVC ye Başlarken 15 Visual Studio 2013 e Genel Bakış 16 Visual Studio 2013 17 Asp.Net MVC ile Yeni Proje Oluşturma 18 Asp.Net MVC Projesi Oluşturma 20

VIII ASP.NET MVC 5 Visual Studio 2013 Çalışma Ortamı 22 Araç Kutusu (Toolbox) 22 Sekmeler (Tabs) 23 Tarayıcı (Browser) 23 HTML Kodları 23 Dizin Gezgini (Solution Explorer) 24 Ekip Gezgini (Team Explorer) 24 Durum Çubuğu 24 Özellikler (Properties) 24 Visual Studio 2013 te Projeyi Çalıştırma 24 Run (Internet Explorer) 24 F5 Tuşu 24 Model, View, Controller Kullanımı 26 Controller Oluşturma 26 Model Oluşturma 28 View Oluşturma 29 3 ASP.NET MVC İLE C# KULLANIMI 33 C# Nedir? 33 Neden C# Kullanmalıyız? 33 Öğrenim Kolaylığı 33 Yazılım Geliştirme Sürecindeki Avantajları 34 XML ve Json Desteği 34 Asp.Net MVC ile Proje Geliştirilirken Kullanılan Diller 35 Asp.Net MVC ile HTML Kullanımı 35 Asp.Net MVC ile Javascript Kullanımı 35 Asp.Net MVC ile C# Kullanımı 36 Asp.Net MVC Kodlama Yöntemleri 37 View Engine Nedir? 37 Razor View Engine 37 @ Operatörü 38 Açıklama Satırı 38 Genel Kodlama 40 Değişken Değerini Sayfaya Yazdırma 42 Sayfaya Boşluk Yazdırma 43 Sayfaya HTML Kodu Yazdırma 46

İÇİNDEKİLER IX Kontrol Yapıları (If, Switch) ve Döngülerin (While, For, Do-While, Foreach) Kullanımı 49 1. Genel Kod Bloğunun İçinde Kullanımı 49 2. Kontrol Yapıları ve Döngülere Özel Kodlama 51 Asp.Net MVC de En Sık Kullanılan C# Kodları 52 Link Oluşturma 52 Post İşlemi IsPost Kullanımı 56 HTML Karakter Kodlamasını Tanımlama (HttpUtility) 58 HtmlEncode ve HtmlDecode Kullanım Örnekleri 58 View İçerisinde Metin Formatlama İşlemleri (String.Format) 60 Sayıları Farklı Formatlarda Görüntüleme 60 Tarihi (Date) Farklı Formatlarda Görüntüleme 61 Dosya ve Klasörlere Erişim (Server.MapPath) 67 Dosyanın Sanal Yoluna (Virtual Path) Erişim (Href) 70 Sayfaya HTML Kodu Yazdırma (Html.Raw) 73 Uyarı Mesajı Penceresi Oluşturma (Javascript - Alert) 74 Uyarı Mesajı Penceresi Sonrası 76 Otomatik Sayfa Yönlendirme 76 4 VIEW 81 View Kullanımı 81 Dizin Yapısı 82 Asp.Net MVC View Tasarımı 83 Controller - View İlişkisi 84 Controller dan View a Ulaşım 85 View dan Controller a Ulaşım 86 View Oluşturma 87 Controller Üzerinden View Oluşturma 87 Views Klasörüne View Ekleme 90 Action dan Farklı İsimde View Çağırma 92 Layout (Şablon Sayfa) Kullanımı 93 Layout Oluşturma 94 İç İçe (Nested) Layout Oluşturma 102 Layout İçinde Bölüm (Section) Tanımlama (RenderSection) 107 Parçalı (Partial) View Kavramı ve Kullanımı 115 Partial View Oluşturma 116

X ASP.NET MVC 5 Partial View ın View larda Kullanımı 117 ViewStart Kavramı 119 Controller dan View a Veri Gönderme (ViewData & ViewBag) 123 ViewData 124 VıewBag 126 Asp.Net MVC ile CSS Kullanımı ve Style Sheet Dosyaları 128 CSS Nedir? 128 En Çok Kullanılan CSS Kodları 129 Genişlik Tanımlama (Width) 129 Yükseklik Tanımlama (Height) 129 Yazı Tipi Tanımlama (Font-Family) 129 Yazı Büyüklüğünü Tanımlama (Font-Sıze) 130 Yazı Kalınlığını Tanımlama (Font-Weight) 130 Yazı Eğikliğini Tanımlama (Font-Style) 130 Yazı Rengi Tanımlama (Color) 131 Yazı Hizalama (Text-Alıgn) 131 Arkaplan Rengi Tanımlama (Background-Color) 131 Asp.Net MVC de CSS Kullanımı 132 HTML Nesnesine CSS Tanımlama 132 CSS Sınıfı Oluşturma ve HTML Nesnesine CSS Sınıfını Tanımlama 134 5 MODEL 139 Model Kullanımı 139 Model Tanımlama 140 Kayıt Listeleme 143 Yeni Kayıt Oluşturma 148 Kayıt Düzenleme 154 Kayıt Silme 161 Kayıt Görüntüleme 165 Model Nitelikleri (Attributes) 169 Zorunluluk Kontrolü (Required) 169 Başlık Tanımlaması (DisplayName) 172 Özelliğin Düzenlenebilirliği (Editable) 173 Görüntüleme Formatı (DisplayFormat) 175 Veri Türünün Kontrolü (DataType) 177 (EmailAddress) 179

İÇİNDEKİLER XI Metin Uzunluğu Kontrolleri (MaxLength, MinLength) 180 Değerleri Karşılaştırma (Compare) 182 Model Binding 184 Model Binding Nedir? 184 Varsayılan Model Binder Yapılandırması 184 Kullanıcı Tanımlı (Custom) Model Binder Oluşturma 187 Action Metod İçinde Custom Model 189 Binder Kullanımı 189 Entity Framework 191 ORM Kavramı 191 ORM ile Neler Yapılabilir? 192 ORM Veritabanı Bağımsız Nasıl Çalışıyor? 192 ORM nin Avantajları Nelerdir? 193 ORM İle Veritabanı Modelleme Zorunlu mu? 194 ORM de Mapping Nedir? 194 Entity Framework Nedir? 194 Entity Framework Veri Modeli Oluşturma 196 Entity Framework Veritabanı İçeriği (Data Context) Oluşturma 198 Veritabanı Bağlantı Parametrelerini Tanımlama 200 Entıty Framework ile MVC Controller ve View ları Oluşturma 202 Veritabanı Oluşurken Tablolara Başlangıç Kayıtları Ekleme 204 Entity Framework ile Kayıt İşlemleri 207 Tablodaki Tüm Kayıtları Sorgulama (Select) 208 Kritere Göre Sorgulama (Where) 212 Kategorideki Ürünleri Sorgulama 212 Ürün Detayını Sorgulama 215 Tabloya Kayıt Ekleme (Insert) 217 Tabloya Ürün Ekleme 217 Kategoriye Ürün Ekleme 221 Tablodaki Kaydı Güncelleme (Update) 225 Tablodan Kayıt Silme (Delete) 229 6 CONTROLLER 233 Controller Kullanımı 233 Kullanım Örnekleri 234 Action Kullanımı 235

XII ASP.NET MVC 5 Action Nedir? 236 Action Result Kullanımı 236 Sayfa Yönlendirme (RedirectResult) 238 Json Sonucu Döndürme (JsonResult) 240 Dosya Döndürme (fileresult) 243 Farklı Bir Action Metoda Yönlendirme (RedirectToRouteResult) 244 Partial View Döndürme (PartialViewResult) 245 Javascript Döndürme (JavascriptResult) 252 Action ve Model Attributes (Nitelikler) 255 ActionName (Action İsmi) 255 HttpPost (View dan Controller a Veri Gönderme) 257 HttpGet (Site İçinde Arama Yapma) 261 Bind (View dan Alınacak Verilerin Kontrolü) 265 OutputCache (Önbellekleme) 267 RequireHttps (Https Protokolünü Zorunlu Kılma) 270 Asenkron İşlemler 272 Asenkron Controller Sınıfları (AsyncController) 273 Asenkron Action Metodlar 276 7 WEB API 279 API Nedir? 279 Web API Nedir? 280 Kullanım Alanları 280 Web API Uygulaması Oluşturma 281 Örnek Uygulama (Tüm Kayıtları Listeleme) 284 Parametre Yönetimi (Id ye Göre Kayıt Getirme) 287 Geri Dönüş Değerlerinin Yönetimi (IHttpActionResult Kullanımı) 290 Ok (İşlem Başarıyla Tamamlanma Durumu) 290 Not Found (Alınmak İstenen Verinin Bulunamaması Durumu) 291 Unauthorized (Kullanıcının İşlem Yetkisinin Olmaması Durumu) 292 Conflict (Aynı Veriyi İki Kere Kaydetme Durumu) 294 8 ROUTING (YÖNLENDİRME) 299 Routıng Nedir? 299 Varsayılan Route Yapılandırması 300 Route Oluşturma (Haber Sitesinin Route Ayarları) 302

İÇİNDEKİLER XIII Anasayfa ya Özel Route Oluşturma (Anasayfa) 305 Kategori Sayfalarına Özel Route 306 Oluşturma (kategori/kategoriadı) 306 Haber Sayfalarına Özel Route Oluşturma (haber/kategoriler/ /HaberAdı) 314 Route Constraints (Rota Kısıtlamaları) 319 Regular Expressions (Düzenli İfadeler) ile Rota Kısıtlama 319 Regular Expression Nedir? 319 Regular Expression Deseni Oluşturma 319 Regular Expression ile Cep Telefonu Deseni Oluşturma 320 Regular Expression ile Rota Kısıtlama İşlemi 321 HttpMetodConstraint ile Rota Kısıtlama 322 Kullanıcı Tanımlı (Custom) Rota Kısıtı Oluşturma (IRouteConstraınt) 323 Web API Route Yapılandırması 326 Convention Based Routing 327 Web API de ControllerAdı/ActionAdı/Parametre Route Yapılandırması 328 Attribute Based Routing 331 Action a Route Tanımlama 331 ApiController a Route Tanımlama 335 9 FILTERS (FILTRELER) 337 Filtreleme Nedir? 337 Filtre Çeşitleri 338 Action Filter 338 Action a ActionFilter Tanımlama 339 Controller a ActionFilter Tanımlama 343 Result Filter 345 Exception Filter (Hata Filtresi) 350 Uygulama Bazında Hata Yakalama 352 Türüne Göre (Controller ve Action Bazında) Hata Yakalama 354 Uygulamaya Özel Hata Filtresi Oluşturma 356 Authorize Fılter (Yetki Filtresi) 357 10 HELPERS (YARDIMCI METODLAR) 361 Helper Nedir? 361 HTML Helpers (HTML Kontrolleri) 363 Link Oluşturma (ActionLink) 364

XIV ASP.NET MVC 5 Form Oluşturma (BeginForm, EndForm) 365 Yazı Görüntüleme (Label) 367 Metin Giriş Kutusu (TextBox) 369 Çok Satırlı Metin Giriş Kutusu (TextArea) 370 Onay Kutusu (CheckBox) 372 Seçim Butonu (RadioButton) 373 Açılan Liste Kutusu (DropDownList) 375 Liste Kutusu (ListBox) 377 Şifre Giriş Kutusu (Password) 379 Gizli Veri Kontrolü (Hidden) 380 Strongly Typed Helpers 381 LabelFor 387 TextBoxFor 390 TextAreaFor 392 CheckBoxFor 393 RadıoButtonFor 394 DropDownListFor 396 PasswordFor 397 ValidationMessageFor 398 Web Helper 400 Grafiksel Rapor Oluşturma (Chart) 401 Bir Veri Kaynağı ile Chart Oluşturma 402 Birden Fazla Veri Kaynağı ile Chart Oluşturma 404 Chart ın Dosya Türünü Değiştirme 406 Chart ın Türünü Değiştirme 407 Noktalı Grafik Oluşturma (Point) 408 Baloncuk Grafik Oluşturma (Bubble) 409 Çizgi Grafik Oluşturma (Line) 409 Parabol Eğrili Grafik Oluşturma (Spline) 410 Yatay Çubuklu Grafik Oluşturma (Bar) 410 Dikey Çubuklu Grafik Oluşturma (Column) 411 Alanlı Grafik Oluşturma (Area) 412 Parabol Eğri Alanlı Grafik Oluşturma (Area) 412 Pasta Dilimli Grafik Oluşturma (Pie) 413 Ortası Boş Pasta Dilimli Grafik Oluşturma (Doughnut) 413 Resim Görüntüleme ve İşleme (WebImage) 414

İÇİNDEKİLER XV Resmi Görüntüleme (Write) 415 Resmi Sağa Döndürme (RotateRight) 416 Resmi Sola Döndürme (RotateLeft) 417 Resmi Yatay Yönde Ters Çevirme (FlipHorizontal) 418 Resmi Dikey Yönde Ters Çevirme (FlipVertical) 419 Resmi Yeniden Boyutlandırma (Resize) 420 Resmi Kesme (Crop) 421 Resmin Üzerine Yazı (Filigran) Ekleme (AddTextWatermark) 422 Resmin Üzerine Resim (Filigran) Ekleme (AddImageWatermark) 424 WebGrid Kullanımı 426 WebGrid Oluşturma 426 GetHtml Metodunun Kullanımı 428 Tanımlanan Sütunları Görüntüleme 429 Varsayılan Sütun Sıralamasını (defaultsort) Tanımlama 430 Sayfalama 430 Sayfalamada İlk Sayfa ve Son Sayfa Linklerini Tanımlama 431 Sütun Bazında Sıralama 432 Satırın Tamamını Tıklanabilir Yapma 432 WebGrid Verilerinde Arama Yapma 436 WebGrid Verilerini Excel e Aktarma 439 Helper Metodu Oluşturma 445 Custom Class ve Static Metod ile Helper Oluşturma 446 Extension Metod ile Helper Oluşturma 448 11 ASP.NET MVC İLE DURUM YÖNETİMİ 451 Asp.Net MVC ile Durum Yönetimi 451 Durum Yönetimi Kavramı 451 Sunucu Tabanlı Durumlar 452 Oturum Yönetimi (Session State) 452 Session Tanımlama 452 Session Değerini Okuma 454 Session Değerini Silme 454 Session Varlığını Kontrol Etme 455 Session Yaşam Süresini Belirleme 456 Session Başlatma ve Bitirme 457 Uygulama Durum Yönetimi (Application State) 459

XVI ASP.NET MVC 5 Application Değeri Tanımlama 459 Application Değerini Okuma 460 Application Değerini Silme 460 Application Nesnesinin Varlığını Kontrol Etme 461 İstemci (Client) Tabanlı Durum 461 Çerezler (Cookıe) 461 Cookie Tanımlama 462 Cookie Değerini Okuma 464 Cookie Değerini Silme 464 Cookie nin Varlığını Kontrol Etme 465 Cookie Yaşam Süresini Belirleme 466 12 JQUERY 467 Jquery Nedir? 467 Jquery ile Kodlama 467 Değişken Tanımlama 469 Değişken İçerisine Fonksiyon Tanımlama 470 Sayfa Yüklendikten Sonra İşlem Yapma 470 Butona Click Olayı Ekleme 471 Dizi Tanımlama ve Değerlerini Alma (each) 472 HTML Elemanını Seçme 473 Etiket (Tag) ile Seçme 473 CSS Sınıfı (Class) ile Seçme 475 Kimlik (Id) ile Seçme 476 İsim (Name) ile Seçme 477 Son Elemanı Seçme (last) 479 Index e Göre Eleman Seçme (eq) 480 Özelliğe Göre Belirli Türden Eleman Seçme 481 Etiketin Alt Etiketlerini Seçme 482 Elemanın Tanımlanan Özelliğinin Olup Olmadığını Kontrol Etme (is) 485 HTML Elemanlarını Filtreleme 486 İlk Elemanı Seçme (first) 487 Son Elemanı Seçme (last) 487 Tanımlanan Özelliğin Olmadığı Elemanları Seçme (not) 487 Index Numarasına Göre (Eşit Olan) Eleman Seçme (eq) 487 Index Numarasına Göre (Büyük Olan) Eleman Seçme (gt) 488

İÇİNDEKİLER XVII Index Numarasına Göre (Küçük Olan) Eleman Seçme (lt) 488 Seçimin Altındaki İlk Nesneyi ve Alt İlk Nesnelerini Seçme (first-child) 488 Tanımlanan Özelliklere Sahip Olan Nesneleri Seçme (has) 489 Gizli Nesneleri Seçme (hidden) 489 Gizli Olmayan Nesneleri Seçme (visible) 489 Pasif Nesneleri Seçme (disabled) 490 Aktif Nesneleri Seçme (enabled) 490 Açılan Liste Kutusunun Seçili Elemanını Alma (selected) 490 Seçili Onay Kutularını Alma (checked) 490 HTML Elemanlarının Yönetimi 491 Sayfadaki Tüm Nesneleri Alma (get) 491 Sayfadaki Bir Nesneyi Index Numarasına Göre Alma (get) 492 Eleman Sayısını Alma (size) 492 Elemanın Id Bilgisini Alma (id) 492 Elemanın İsim Bilgisini Alma (name) 493 Elemanın Yazı İçeriğini Alma (text) 493 Elemanın HTML İçeriğini Alma (html) 493 Elemanın Value Değerini Alma (val) 494 Elemana HTML Ekleme (append) 494 Eleman Kopyalama (clone) 495 Elemandan Sonraya Eleman Ekleme (insertafter) 495 Elemandan Önceye Eleman Ekleme (insertbefore) 496 Jquery ile AJAX İşlemleri 497 Jquery AJAX Fonksiyonları 498 $.ajax Fonksiyonu 498 $.getjson Fonksiyonu 503 $.post Fonksiyonu 504 Örnek Uygulamalar 508 Asp.Net MVC ile Çoklu Dosya Yükleme 508 Tablodaki Tüm Kayıtları Seçme / Tüm Seçimleri Kaldırma 513 Tabloda Seçili Satırları Silme 517 Metin Kutusuna Yazılan Yazının Karakter Sayısını Hesaplama 520 İlişkili Açılan Liste Uygulaması (İl - İlçe) 523 13 ÜYELİK İŞLEMLERİ 531 Üyelik İşlemi Nedir? 531

XVIII ASP.NET MVC 5 Asp.Net MVC 5 Üyelik Sisteminin Kurulumu 533 Üyelik Veritabanı 534 Üyelik Veritabanında İşlem Yapma 535 Kullanıcı Yönetimi (UserManager) 536 Kullanıcı Ekleme (Create) 536 Kullanıcıları Listeleme 540 Kullanıcı Güncelleme (Update) 543 Adına Göre Kullanıcı Bulma (FindByName) 546 Id sine Göre Kullanıcı Bulma (FindById) 548 Kullanıcının Şifresi Var Mı Kontrolü (HasPassword) 550 Kullanıcıya Şifre Ekleme (AddPassword) 550 Kullanıcının Şifresini Değiştirme (ChangePassword) 555 Kullanıcının Şifresini Silme (RemovePassword) 560 Rol Yönetimi (RoleManager) 565 Rol Ekleme (Create) 565 Rolleri Listeleme 570 Rol Güncelleme (Update) 572 Adına Göre Rol Bulma (FindByName) 575 Id sine Göre Rol Bulma (FindById) 576 Rol Var Mı Kontrolü (Exists) 578 Rol Silme 578 Kullanıcıyı Role Ekleme (AddRole) 581 Kullanıcı Rolde Mi Kontrolü (IsInRole) 584 Kullanıcının Rollerini Listeleme (GetRoles) 584 Kullanıcının Rolünü Kaldırma (RemoveFromRole) 587 Kullanıcı Kimlik Doğrulama İşlemleri (Authentication) 589 Kullanıcıya Sisteme Giriş Yaptırma (AddLogin) 589 Örnek Uygulamada Kullanıcı Giriş Sayfası Oluşturma 589 Sisteme Kullanıcı Girişi Yapıldı Mı Kontrolü 593 Sisteme Giriş Yapan Kullanıcı Bilgisini Alma 593 Kullanıcıya Sistemden Çıkış Yaptırma (SignOut) 595 14 AREA 597 Area Nedir? 597 Area Oluşturma 598 Area daki Action lara Erişim 599

İÇİNDEKİLER XIX Area nın Route Yapılandırması 600 Area nın Dizin İsmini Değiştirme 601 15 TEST 603 Test Driven Development (TDD) Nedir? 603 Red Cycle (Hatalı Sonuç Döndüren Test) 606 Green Cycle (Başarılı Sonuç Döndüren Test) 607 Refactor (Kod Temizleme) 607 Unit Test (Birim Testleri) 608 Unit Test Nedir? 608 Asp.Net MVC ile Unit Test Projesi Oluşturma 609 Unit Test Metodlarını Çalıştırma Yöntemleri 612 Visual Studio nun Kısayolunu Kullanma 612 Test Explorer Üzerinden Testleri Çalıştırma 612 Test Metodlarının Kodlaması 614 Assert.AreEqual (Eşitlik Testi) 615 Assert.AreNotEqual (Eşitsizlik Testi) 615 Assert.AreSame (Aynılık Testi) 616 Assert.AreNotSame (Aynı Olmama Testi) 616 Assert.Faıl (Başarısızlık Testi) 617 Assert.IsFalse (Değerin False Olması Testi) 617 Assert.IsTrue (Değerin True Olması Testi) 618 Assert.IsNull (Değerin Null Olması Testi) 618 Assert.IsNotNull (Değerin Null Olmaması Testi) 618 Test Metodu Çalışmadan Önce Kod Çalıştırma (TestInitialize) 619 Test Metodu Çalıştıktan Sonra Kod Çalıştırma (TestCleanUp) 620 Test Metodundan Controller daki Verilere Erişim 622 Test Metodundan ViewBag e Erişim 622 View a Gönderilen Model e Erişim 623 View dan Farklı Bir Vıew a Yönlenme (RedirectToAction) Durumuna Erişim 624 View İsmine Erişim 625 Action ın Model inin Veri Türüne Erişim 626 Action ın Geri Dönüş Türüne Erişim 627 Json Türünden Verilerin Testi 628 Web API Testleri 631 Action dan Alınan Nesnenin Testi 631

XX ASP.NET MVC 5 Action dan Alınan Listenin Testi 632 Action dan IHttpActionResult Türünden Dönen Başarılı İşlemin Testi 633 Action dan IHttpActionResult Türünden Dönen Veri Bulunamadı Durumunun Testi 635 16 PROJEYİ TANIMLAMA 637 Temel Kavramlar 637 Sunucu Nedir? 637 Hosting (Barındırma) Nedir? 638 Windows Azure Nedir? 639 Windows Azure un Avantajları 639 Windows Azure un Dezavantajları 639 Domain (Alan Adı) Nedir? 639 Subdomain (Alt Alan Adı) Nedir? 640 Asp.Net MVC Projesini Yayınlama Yöntemleri 640 Hosting Üzerinde Proje Yayınlama 641 Web Deploy 642 Web Deploy Package 644 FTP 646 File System 647 Projeyi Sunucuda Yayınlama 648 Azure Üzerinde Asp.Net MVC 5 Projesini Yayınlama 651 Windows Azure Hesabı Oluşturma 651 Yeni Web Sitesi Tanımlama 653 Veritabanı Oluşturma 655 Projeyi Wındows Azure Üzerinde Yayınlama 656 Windows Azure Üzerinde Veritabanı Yönetimi 659