ASP_NET_MVC_4_Programowanie_aplikacji_webowych_aspm4w.pdf

(458 KB) Pobierz
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym
powoduje naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi
ich właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte
w tej książce informacje były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności
ani za ich wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowych lub
autorskich. Autor oraz Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności
za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce.
Redaktor prowadzący: Ewelina Burska
Projekt okładki: ULABUKA
Materiały graficzne na okładce zostały wykorzystane za zgodą Shutterstock.
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail: helion@helion.pl
WWW: http://helion.pl (księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie?aspm4w
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Materiały do książki można znaleźć pod adresem:
ftp://ftp.helion.pl/przyklady/aspm4w.zip
ISBN: 978-83-246-6534-1
Copyright © Helion 2013
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis tre ci
Wstöp .............................................................................................. 7
Rozdziaä 1. Model-Widok-Kontroler ................................................................... 11
1.1. Krótka historia MVC ............................................................................................... 11
1.2. Klasyczna postaü wzorca MVC ............................................................................... 12
1.3. MVC jako wzorzec záo ony .................................................................................... 14
1.3.1. Obserwator ..................................................................................................... 15
1.3.2. Strategia .......................................................................................................... 15
1.3.3. Kompozyt ....................................................................................................... 16
1.4. MVC dla aplikacji webowych ................................................................................. 17
1.5. Warianty MVC ........................................................................................................ 18
1.5.1. Wzorzec Model-Widok-Prezenter (MVP) ...................................................... 18
1.5.2. Wzorzec Prezentacja-Abstrakcja-Kontrola (PAC) ......................................... 19
1.5.3. Wzorzec Model-Widok-Widok Modelu (MVVM) ......................................... 19
1.6. Implementacja MVC w j zykach programowania ................................................... 19
1.6.1. Ruby: Ruby on Rails ...................................................................................... 19
1.6.2. Python: Django ............................................................................................... 20
1.6.3. Java: Spring, Struts ......................................................................................... 20
1.6.4. PHP: Zend Framework ................................................................................... 20
1.7. Podsumowanie ......................................................................................................... 20
Rozdziaä 2. Framework ASP.NET MVC 4 ........................................................... 23
2.1. Zaáo enia projektowe frameworku ASP.NET MVC ............................................... 25
2.1.1. Rozszerzalno ü ............................................................................................... 26
2.1.2. Konwencja nad konfiguracj .......................................................................... 26
2.1.3. Peána kontrola nad HTML i HTTP ................................................................. 26
2.1.4. Testowalno ü .................................................................................................. 27
2.1.5. Elastyczny mechanizm routingu ..................................................................... 27
2.1.6. Dost pno ü sprawdzonych funkcji i elementów frameworku ASP.NET ........ 27
2.1.7. Nowoczesne API ............................................................................................ 27
2.1.8. Dost p do kodu ródáowego ........................................................................... 28
2.2. Wersje i usprawnienia frameworku ASP.NET MVC .............................................. 28
2.3. Routing URL ........................................................................................................... 29
2.4. Testowanie ............................................................................................................... 30
2.4.1. Testowanie zwróconego widoku .................................................................... 31
2.4.2. Testowanie zwróconych danych ..................................................................... 31
2.4.3. Testowanie zwróconego rezultatu .................................................................. 32
2.5. Struktura aplikacji w ASP.NET MVC 4 ..................................................................... 33
2.6. Podsumowanie ......................................................................................................... 37
Kup książkę
Poleć książkę
4
ASP.NET MVC 4. Programowanie aplikacji webowych
Rozdziaä 3. Kontrolery ...................................................................................... 39
3.1. Akcje i parametry .................................................................................................... 41
3.2. Model binding ......................................................................................................... 44
3.3. Filtry ........................................................................................................................ 46
3.4. Wbudowane atrybuty ............................................................................................... 49
3.4.1. NonAction ...................................................................................................... 49
3.4.2. Atrybut ActionNameAttribute ........................................................................ 49
3.4.3. Atrybut AcceptVerbsAttribute ....................................................................... 50
3.5. Podsumowanie ......................................................................................................... 50
Rozdziaä 4. Widoki ........................................................................................... 53
4.1. Przekazywanie danych do widoków .......................................................................... 54
4.2. Silniki widoków: Razor i ASPX .............................................................................. 57
4.3. Definicja szablonu widoku ...................................................................................... 60
4.4. Metody pomocnicze HTML .................................................................................... 61
4.5. Helpery Razor .......................................................................................................... 63
4.6. Podsumowanie ......................................................................................................... 63
Rozdziaä 5. Modele .......................................................................................... 65
5.1. Entity Framework .................................................................................................... 66
5.1.1. Konwencje i klasa kontekstowa w Code First ................................................ 67
5.2. Walidacja i adnotacje danych .................................................................................. 68
5.3. Asocjacje (zwi zki) ................................................................................................. 70
5.3.1. Zwi zek jeden-do-jednego ............................................................................. 70
5.3.2. Zwi zek jeden-do-wielu (opcjonalny)
i zwi zek jeden-do-wielu (obligatoryjny) ....................................................... 71
5.3.3. Zwi zek wiele-do-wielu ................................................................................. 71
5.3.4. Zwi zek wiele-do-wielu, klasa asocjacyjna z dodatkowymi atrybutami ........ 72
5.3.5. Generalizacja .................................................................................................. 72
5.4. Podsumowanie ......................................................................................................... 73
Rozdziaä 6. Zagadnienia zaawansowane ........................................................... 75
6.1. Routing, czyli przekierowania ................................................................................. 75
6.1.1. Deklaracja tras ................................................................................................ 76
6.1.2. Przykáad deklaracji wáasnej trasy ................................................................... 77
6.1.3. U ywanie trasowania do generowania linków ............................................... 79
6.2. AJAX ....................................................................................................................... 80
6.2.1. AJAX Helpers ................................................................................................ 80
6.3. Entity Framework + Database Migrations ............................................................... 83
6.3.1. Podej cie Code First ....................................................................................... 84
6.3.2. Database Migrations ....................................................................................... 87
6.4. Mechanizm grupowania i minimalizacji .................................................................. 90
6.4.1. Wpáyw grupowania i minimalizacji ................................................................ 91
6.4.2. Kontrola i konfiguracja w projekcie MVC 4 .................................................. 92
6.5. Podsumowanie ......................................................................................................... 94
Rozdziaä 7. Studium przypadku: serwis Subskrypcja .......................................... 95
7.1. Biznesowa wizja systemu ........................................................................................ 95
7.2. Projektowa wizja systemu ....................................................................................... 96
7.3. Przygotowanie projektu ........................................................................................... 97
7.4. Przygotowanie bazy danych .................................................................................... 99
7.5. Dodanie modelu ..................................................................................................... 101
7.6. Utworzenie kontrolera Subscriber ......................................................................... 104
7.7. Dodanie widoków dla kontrolera Subscriber ......................................................... 109
7.8. Modyfikacja routingu oraz dostosowanie strony wzorcowej ................................. 119
Kup książkę
Poleć książkę
Spis tre ci
5
7.9. Dodanie modelu Newsletter ................................................................................... 121
7.10. Utworzenie kontrolera Newsletter ....................................................................... 122
7.11. Dodanie widoków dla kontrolera Newsletter ....................................................... 125
7.12. Utworzenie u ytkownika Administrator .............................................................. 127
7.13. Utworzenie modelu Administrator ...................................................................... 130
7.14. Utworzenie kontrolera Administrator .................................................................. 130
7.15. Dodanie widoków dla kontrolera Administrator .................................................. 132
7.16. Instalacja aplikacji na serwerze WWW ............................................................... 136
7.17. Podsumowanie ..................................................................................................... 137
Rozdziaä 8. Studium przypadku: serwis Portal Usäug ......................................... 139
8.1. Biznesowa wizja systemu ...................................................................................... 139
8.2. Projektowa wizja systemu ..................................................................................... 140
8.3. Projekt aplikacji ..................................................................................................... 142
8.3.1. Projektowanie modelu .................................................................................. 142
8.3.2. Projektowanie kontrolerów ........................................................................... 145
8.4. Przygotowywanie projektu .................................................................................... 146
8.5. Przygotowywanie bazy danych ............................................................................. 146
8.6. Przygotowywanie modelu ..................................................................................... 147
8.7. Przygotowywanie repozytorium ............................................................................ 156
8.8. Rejestrowanie u ytkowników ................................................................................ 169
8.8.1. Zmiana kontrolera Account .......................................................................... 171
8.8.2. Zmiana widoków kontrolera Account .......................................................... 182
8.8.3. Dodanie komponentu CAPTCHA ................................................................ 189
8.8.4. Implementacja mechanizmu komunikatów .................................................. 193
8.9. Funkcjonalno ü dodawania i edycji kategorii usáug i kategorii komentarzy .......... 194
8.9.1. Dodawanie i edycja kategorii usáug .............................................................. 194
8.9.2. Dodawanie i edycja kategorii komentarzy .................................................... 201
8.10. Funkcjonalno ü wysyáania newslettera ................................................................ 204
8.11. Utworzenie u ytkownika Administrator .............................................................. 208
8.12. Implementacja menu ............................................................................................ 209
8.13. Funkcjonalno ü usáugobiorcy .............................................................................. 214
8.13.1. Lista usáugobiorców ................................................................................... 216
8.13.2. Edycja usáugobiorców ................................................................................ 225
8.13.3. Usuwanie usáugobiorców ........................................................................... 229
8.14. Funkcjonalno ü usáugodawcy .............................................................................. 232
8.14.1. Lista usáugodawców ................................................................................... 235
8.14.2. Edycja usáugodawców ................................................................................ 239
8.14.3. Usuwanie usáugodawców ........................................................................... 242
8.15. Funkcjonalno ü usáug i komentarzy ..................................................................... 245
8.15.1. Dodawanie usáug ........................................................................................ 246
8.15.2. Lista usáug .................................................................................................. 251
8.15.3. Edycja usáug ............................................................................................... 260
8.15.4. Usuwanie usáug .......................................................................................... 264
8.15.5. Szczegóáy usáug .......................................................................................... 267
8.15.6. Dodawanie komentarzy .............................................................................. 275
8.15.7. Edycja i usuwanie komentarzy ................................................................... 279
8.16. Szczegóáy usáugodawców .................................................................................... 282
8.17. Modyfikacja strony gáównej ................................................................................ 289
8.18. Implementacja widoków mobilnych .................................................................... 291
8.18.1. Dostosowanie strony wzorcowej ................................................................ 292
8.18.2. Widoki mobilne dla usáug ........................................................................... 294
8.18.3. Widoki mobilne dla wysyáania newslettera ................................................ 296
8.19. Instalacja aplikacji na serwerze WWW ............................................................... 297
8.20. Podsumowanie ..................................................................................................... 298
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin