1. ‹Ç‹NDEK‹LER
1 ASP.NET TEMELLER‹ 1
‹nternet Nas›l Çal›fl›r? 1
‹stemci Tarafl› (Client-Side) Scripting 2
Sunucu Tarafl› (Server-Side) Scripting 2
ASP.NET ve Olay Yönlendirmeli (Event Driven) Model 3
.NET Framework 4
Common Language Runtime (CLR) 7
Da¤›t›labilirlik, Tafl›nabilirlik 8
ASP.NET’in Tan›m› 10
ASP.NET’in Getirdikleri 10
ASP.NET’in Versiyonlar› 11
2 VISUAL STUDIO 13
Visual Studio’yu Nas›l Elde Edebilirim? 14
Visual Studio 2008’i Tan›yal›m 14
Yeni Bir Web Sitesi 15
Web Siteleri, Web Projeleri 17
Gizli “Solution” Dosyalar› 19
Solution Explorer 19
Yeni Bir Dosya veya Web Form Eklemek 20
Bir Web Sayfas›yla Cal›flmak 22
Sayfam›za Web Kontrolleri Eklemek 23
Properties Penceresi 24
ASP.NET Sayfalar› 25
ASP.NET Sayfas›n›n Yap›s› 26
ASP.NET Sayfas›n›n Elemanlar› 27
3 ASP.NET Sayfa Detaylar› 29
ViewState 34
Postback Form 35
Web Form Elemanlar› (Kontrolleri) 35
2. viii ASP.NET 3.5
Web Form Elemanlar› (Kontrolleri) 36
Sayfan›n ‹flleyifli 37
Sayfan›n Program Olarak Yorumlanmas› 37
Sayfalar›n›za Namespace Eklemek 38
4 WEB FORMLARI 41
HTML Formlar› 41
Web Formlar› 43
Web Formlar› Program Modeli 46
Sunucu Kontrolleri 47
Sunucu Kontrolleri ve Olaylar (Events) 49
Olaya Ba¤l› Yordamlar (Metotlar) 50
Web Formlar›n›n Postalanmas› 53
Form Verilerinin Hemen Postalanmas› (AutoPostBack) 55
AutoPostBack Nas›l Yap›l›yor? 56
IsPostBack Özelli¤i 57
5 DURUM 5 YÖNET‹M‹ (STATE MANAGEMENT) 61
Mevcut Durumu Koruma 61
ViewState 65
Viewstate ile ‹lgili Önemli Noktalar 67
ViewState’in Yönetimi 68
ViewState’i Kullanmamak 68
Durum Bilgisini Do¤ru Kullanmak 72
StateBag 74
Request-Query String 76
Baflka Sayfa Kontrollerini Elde Etme (Cross-Page Posting) 79
HttpCook›e Nesnesi 80
Cookie’lerin Oluflturulmas› 81
Session De¤iflkenleri 83
Session ‹zleme Prensibi 86
Session Zaman Optimizasyonu 86
Cookie’siz Session Kullan›m› 87
Session State Modlar› 88
6 WEB FORM ELEMANLARI 91
HTML Sunucu Kontrolleri 93
3. ix
‹Ç‹NDEK‹LER
Web Sunucu Kontrolleri 96
AdRotator 97
Ceckbox ve CheckBoxList 100
DropDownList 103
L›stBox 105
RadioButton, RadioButtonList 106
TextBox 110
Button 111
Label 113
Hyperlink 113
Panel 114
ImageButton 116
LinkButton 118
Image 119
Table, TabloRow, TableCell 120
Calendar (Takvim) 124
PlaceHolder 125
Kontrollerin Programatik Olarak Oluflturulmas› 127
7 GECERL‹L‹K KONTROLLER‹ 131
ASP.NET Geçerlilik (Validator) Kontrolleri 131
RequiredFieldValidator 134
CompareValidator 137
RegularExpressionValidator 140
CustomValidator 141
CustomValidator-Cl›entSide 142
ValidationSummary 145
8 VER‹TABANI ve ADO.NET 147
ADO.NET 147
Verinin Görüntülenmesi 148
Veritaban› Ba¤lant› Yönetimi 149
OleDb .NET Managed Provider 149
SQL Server .NET Managed Provider 150
Veritaban› ile Ba¤lant›y› Gerçeklefltirmek 151
Command Nesnesi 155
Veritaban›ndan Veri Elde Etmek 156
4. x ASP.NET 3.5
DataReader Nesnesi 157
Form Elemanlar›n› Kullanmak 160
Veritaban›na Veri Eklemek 162
Veritaban›ndaki Verileri Güncelleme 167
Veri Silmek 169
9 ADO.NET, DATASET ve D‹⁄ER KAVRAMLAR 171
Veri Ba¤ant›s›n› web.config Dosyas›ndan Almak 172
DATASET Kavram› 172
DataAdapter 175
DataSet 175
Command Nesnesi 177
DataTable 179
DataTable WriteXml ve ReadXml 180
Binary Serial›zation 183
Deserial›zation 187
10 VER‹ ER‹fi‹M KONTROLLER‹ 189
Veri Kontrolleri 189
DataSource Kontrolleri 190
AccessDataSource 190
SQLDataSource 194
Baflka Veri Tabanlar›na Ba¤lanmak 197
Veri Ba¤lant›s›n› Dinamik Olarak web.config Dosyas›ndan Almak 199
XmlDataSource 201
ObjectDataSource 204
SiteMapDataSource 209
Data Source Kontrollerinde Filtre-Parametre Kullan›m› 210
Di¤er Parametrelerin Kullan›m› 212
Insert Parametresi 215
Delete, Update Parametreleri 218
Parametre Nesneleri 221
11 LINQ 223
LinqDataSource 223
LINQ ‹fadeleri 224
LINQ to SQL 226
5. xi
‹Ç‹NDEK‹LER
12 VER‹ GÖSTER‹M KONTROLLER‹ 233
GridView 234
Paging ve Sorting 235
GridView Paging Özelliklerinin Belirlenmesi 238
GridView Alanlar› 239
CheckBox DataField 240
ImageField 242
ButtonField 243
HyperLink Field 243
Template Field 246
GridView’da Verilerin Düzenlenmesi 248
CommandField 250
GridView Olaylar› 254
DataSource Olaylar› 260
Silme Onay› ve Client-Side Scr›pt ‹flletme 262
DetailsView 263
Master-Detail Kullan›m 265
Master-Detail Yeni Kay›t Ekleme, Düzenleme, Silme 267
Veri Ba¤lama 271
FormV›ew Data Kontrolü 272
DataList 278
ListView Kontrolü 281
Veriyi Gruplar fieklinde Sunmak 282
Veriyi Gruplar fieklinde Sunmak 282
Sütunlar›n Belirlenmesi 284
Repeater 286
DataPager 288
13 MASTER SAYFALAR (PAGES) 291
Master Sayfa Ne Demek? 291
Master Sayfa Örne¤i 293
Olay Yönlendirme ve Code Behind 297
Master Sayfalar› Programatik Olarak Kullanmak 298
Kontrollere Ulaflmak 299
‹ç içe (Nested) Master Sayfalar 302
6. xii ASP.NET 3.5
14 S‹TE GEZ‹N‹M (NAVIGATION): B‹R WEB UYGULAMASI 306
Menü Kontrolü 306
Kiflisel Site Uygulamas› 310
Menü Kontrolünü Programatik Olarak Kullanmak 311
Menu Elemanlar›n› Programatik Olarak Elde Etmek 312
SiteMapPath Kontrolü 312
TreeView Sunucu Kontrolü 315
TreeView’da fiekilsel Düzenlemeler 316
TreeView’da Bir XML Dosyas› Kullanmak 317
TreeView-Seçim 319
TreeView Çoklu Seçim 320
TreeView Aç›l›m›n› Kontrol Etmek 321
TreeView-Olaylar 322
15 GÖRSEL TEMALAR 325
CSS’ler ve Geleneksel Biçimler 326
Mimari 326
Sk›n’ler 327
Bir Tema Uygulamas› 327
Skin Dosyas› Tan›mlar› 327
Sayfa Baz›nda Tema Tan›m› 328
Uygulama Baz›nda Tema Tan›mlamak 328
Sunucu Kontrollerinde Temay› Etkisiz K›lmak 329
Temalar› Sayfa Baz›nda Etkisiz K›lmak 329
Ayn› Tema ‹çinde Farkl› Skin Dosyalar› Kullanmak 329
CSS Dosyalar›n›n Temalarla Kullan›m› 331
Resim Kullan›m› 333
Liste Elemanlar›na Tema Uygulanmas› 334
Yerleflim Düzenlerini (Layout) Belirlemek 335
Temalar›m›z› Programatik Olarak Atamak 337
16 PROF‹LLER 341
Profillerin Tan›mlanmas› 341
Profil Provider’lar› 342
Veritaban›n›n Yap›land›r›lmas› 342
Profil Veritaban›na Ba¤anmak 344
Profil Özelliklerinin Tan›mlanmas› 344
7. xiii
‹Ç‹NDEK‹LER
Profillerin Kullan›m› 345
Anonim Profiller 347
Anonim Profillerin Cal›flma Mant›¤› 348
Anonim Profil Tan›mlar›n›n Özellikleri 349
Profil Özelliklerinin Di¤er Nitelikleri 349
Profil Özelliklerinin Grup Halinde Tan›mlanmas› 350
Profilleri Miras Olarak Kullanmak 351
Tan›ml› Kullan›c› ve Profiller 353
Anonim Bilgileri Tan›ml› Kullan›c›ya Aktarmak 356
Profil Bilgisini Silmek 359
Belirli Profilleri Silmek 360
Profilleri ‹zleme 361
17 GÜVENL‹K, ÜYELER ve ÜYE YÖNET‹M‹ 365
Kimlik Do¤rulama (Authentication) 365
Yetkilendirme (Authorization) 366
ASP.NET ve Güvenlik 366
Üye Yönetimine Haz›rl›k 367
Forms ve Windows Authentication 367
Forms Authentication Elemanlar› 367
SQL Provider 368
Üye Kayd› 369
Kullan›c› Oluflturma Sihirbaz› 374
Kullan›c› Oluflturma Sihirbaz› Ad›mlar› 377
Kullan›c›lara ‹zin Verme-S›n›rlama 381
Kullan›c›lar› Sisteme Tan›tmak-Login Sayfas› Oluflturmak 382
Log›n Kontrolü 386
Kullan›c› Özellikleri 388
Kullan›c› Özelliklerini Güncellemek 390
Kilitli Kullan›c› ‹simlerini Açmak 394
Kullan›c› Sil 397
Di¤er Login Kontrolleri 398
LoginView, LoginName, LoginStatus ile ‹lgili Bir Kullan›m:
Kullan›c› Tipine Göre ‹çerik 399
Password De¤ifltirme 401
PasswordRecovery 402
8. xiv ASP.NET 3.5
SMTP Yap›land›rmas› 402
Online Kullan›c› Say›s› 404
Yetkilendirme (Authorization) 405
Yetkilendirmenin Web.config’de Tan›mlanmas› 405
Rol Kavram› 406
SqlRoleProvider 407
Rol Ekleme Kald›rma 408
Kullan›c›lar› Rollere veya Rolleri Kullan›c›lara Eklemek 410
Kullan›c›ya Rol Atamak ve Silmek 410
Kullan›c›ya Roller Atamak 414
Kullan›c› Rol Metotlar›na Genel Bir Bak›fl 416
Kullan›c› Rollerini Sorgulamak 417
18 WEB PART’LAR ve B‹R PORTAL UYGULAMASI 419
Web Part Kavram› 420
Portal›n Temel Yap›s› 420
Portal Altyap›s› 421
Portal›m›z› Olufltural›m 422
Web Part’lar 423
Web User Kontrollerinin Web Part Olarak Kullan›lmas› 425
Özel Kontrolleri Eklemek 426
Web Part fiekilleri (Modlar›) 429
BrowseDisplayMode 430
Des›gnDisplayMode 431
CatalogDisplayMode 432
EditDisplayMode 436
Web Part’lar Aras› ‹letiflim 440
Web Part ‹hraç (Export) Etmek 446
Bir Web Part’›n ‹thal Edilmesi 447
Portal Verileri 448
19 PERFORMANS YÖNET‹M‹ 451
Önbellekleme (Cache) 452
Sunucu Tarafl› Önbellekleme 453
Sayfa Ç›kt›s› Önbelleklemesi 454
Sorgu Dizgisi (QueryString) Önbelleklemesi 456
Response.Cache 457
9. xv
‹Ç‹NDEK‹LER
“Web Kullan›c› Kontrolü” Önbelleklemesi 459
Cache API 460
Dinamik ‹çerik Eklemek 461
Veri Önbelleklemesi 464
Veritaban› Ba¤›ml› Önbellekleme 467
Veritaban›n› Haz›rlamak 469
Veritaban› Tablosunu Haz›r Hale Getirmek 470
web.config Tan›m› 471
Sayfa Tan›mlar› 472
Veritaban› Ba¤›ml› Önbelleklemenin Programatik Olarak Kullan›m› 473
20 YAPILANDIRMA VE YÖNET‹M 477
ASP.NET Yap›land›rma Sistemi 477
.config Dosyalar›n›n Hiyerarflisi 478
web.config Dosyalar›n›n Yap›s› 480
web.config Dosyas›n›n Elemanlar› 483
web.config Dosyas›ndan Veri Getirmek 484
web.config Dosyas›ndaki Bir Bölümü XML Olarak Yazd›rmak 489
web.config Özelliklerinin Programatik Olarak Eldesi 490
web.config Dosyas›na Yazmak 493
Web Site Yönetim Arac› 497
Komut Sat›r› Araçlar› 498
21 ‹ZLEME VE HATA DENET‹M‹ 501
‹zlemeyi Etkin Hale Getirmek 501
‹zleme Bilgisine Yazma 505
Uygulama Düzeyinde ‹zleme 506
‹zleme De¤erlerine Programatik Olarak Eriflmek 508
Hata Denetimi 510
Hata Kategorileri 511
Try ve Catch 511
Belirli ‹stisnalar›n Yakalanmas› 515
Kümelenifl Yordam ‹stisnalar› 517
Page_Error Metodu ile Hata Yakalamak 518
Özel Hata Sayfalar› 519
Belirlenmifl Hata Özel Sayfalar› 520
10. xvi ASP.NET 3.5
22 D‹⁄ER KONTROLLER VE YEN‹ ÖZELL‹KLER 523
ImageMap 523
AdRotator 527
BulletedList 528
FileUpLoad 532
HiddenField 534
Wizard 535
Wizard ‹flleme Modelleri 539
Do¤rusal Olmayan Çal›flma Modeli 542
fiekilsel Düzenlemeler 545
MultiView ve View Kontrolü 548
Di¤er Özellikler 551
Buton Kontrolleri 551
PostBackUrl 552
Calendar 554
CheckBox 555
›mage 556
Label 557
Liste Kontrolleri 557
Panel 559
23 ASP.NET AJAX 561
AJAX’›n Olumlu ve Olumsuz Yanlar› 561
ScriptManager 562
K›smi Güncelleme 563
UpdatePanel 564
Tetikleyiciler (Triggers) 567
UpdatePanel-Koflula Ba¤l› Güncelleme 568
‹fllem Bildirimi 570
Zamanlanm›fl Güncellemeler 571
ASP.NET AJAX Control Toolkit 573
ASP.NET AJAX Control Toolkit Temini ve Kurulumu 573
SliderExtender 574
MaskedEditExtender ve MaskedEditValidator 576
24 SILVERLIGHT 2 579
Silverlight Altyap›s› 580
11. xvii
‹Ç‹NDEK‹LER
Silverlight Kullan›m›na Haz›rl›k 580
Silverlight Uygulama Yap›s› 581
Bir Silverlight Uygulamas› Gelifltirmek 583
Kodlarla Çal›flmak 585
Silverlight Uygulamam›z› Test Etmek 586
Expression Blend 2 587