Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by … · Rozdziaä 18. Scaffolding,...

44

Transcript of Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by … · Rozdziaä 18. Scaffolding,...

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ściani za ich wykorzystanie ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich Autor oraz Wydawnictwo HELION nie ponoszą roacutewnież żadnej odpowiedzialnościza ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce

Redaktor prowadzący Ewelina BurskaProjekt okładki Studio GraviteOlsztyn Obarek Pokoński Pazdrijowski ZapruckiMateriały graficzne na okładce zostały wykorzystane za zgodą Shutterstock

Wydawnictwo HELIONul Kościuszki 1c 44-100 GLIWICEtel 32 231 22 19 32 230 98 63e-mail helionhelionplWWW httphelionpl (księgarnia internetowa katalog książek)

Drogi CzytelnikuJeżeli chcesz ocenić tę książkę zajrzyj pod adres httphelionpluseropinieaspnvsMożesz tam wpisać swoje uwagi spostrzeżenia recenzję

ISBN 978-83-246-3238-1

Copyright copy Helion 2014

Printed in Poland

bull Kup książkębull Poleć książkę bull Oceń książkę

bull Księgarnia internetowabull Lubię to raquo Nasza społeczność

Spis tre ci

Przedmowa 9

Wst p 11

Cz I ASPNET MVC 13

Rozdzia 1 Podstawowe aspekty projektu aplikacji ASPNET MVC 15ASPNET MVC 15Projekt aplikacji MVC 18Szablon projektu 19Struktura projektu aplikacji ASPNET MVC 21Podsumowanie 23

Rozdzia 2 Kontroler i widok 25Funkcje i metody kontrolera 25Projektowanie kontrolera 27Widok 30

Projektowanie widoku 31Transfer danych mi dzy widokiem a kontrolerem 36Podsumowanie 37

Rozdzia 3 Model 39Wprowadzenie 39Baza danych 40Warstwa dost pu do bazy danych 42Logika biznesowa 44Implementacja widoku typu GridView 48Podsumowanie 52

Rozdzia 4 Walidacja danych 53Wprowadzenie 53Atrybuty modelu i walidacja danych w praktyce 55

Przygotowanie projektu aplikacji Kadry 55Widoki kontrolera 58

Kup książkę Poleć książkę

4 ASPNET MVC

Kontroler 63Konfiguracja walidacji danych 66

Walidacja danych po stronie klienta 67Walidacja danych a technologia ADONET Entity Framework 68Podsumowanie 71

Rozdzia 5 Wyra enia regularne a kontrola poprawno ci danych 73Podstawowe informacje o wyra eniach regularnych 73Odnajdywanie znakoacutew specjalnych 74Odnajdywanie znakoacutew i cyfr 74Odnajdywanie znakoacutew w wyznaczonych miejscach a cucha 75Okre lanie liczby wyst pie podanych znakoacutew 76Tworzenie wzorcoacutew 76

Aplikacja 76Kod pocztowy 80Imi e skie 81Walidacja adresu URL 83

Atrybuty modelu wykorzystuj ce wyra enia regularne 84Podsumowanie 88

Rozdzia 6 Asynchroniczne aplikacje internetowe mdash Microsoft AJAX 91Wprowadzenie 91Aktualizacja zawarto ci wybranego elementu witryny 92Cz ciowe od wie anie witryny a fragment widoku 97Ankieta (modu do g osowania) 102Od wie enie widoku mapy serwisu Google 108

Rozdzia 7 Technologia AJAX a biblioteka jQuery 113Wprowadzenie 113Aktualizacja zawarto ci wybranego elementu witryny 113Automatyczne uzupe nienie pola tekstowego 115Mechanizm IntelliSense a sk adnia jQuery 119Podsumowanie 120

Rozdzia 8 Trasowanie adresoacutew URL 121Wprowadzenie 121Wzorce URL 122Domy lne regu y trasowania i wzorce URL 123W asne regu y trasowania 124Zablokowanie obs ugi wybranych da 124Podsumowanie 126

Rozdzia 9 Filtry 127Wprowadzenie 127Podstawowe atrybuty filtroacutew 128

[Authorize] 128[HandleError] 129[OutputCache] 133[RequireHttps] 135[NonAction] 135

Kolejno wykonywania filtroacutew 137

Kup książkę Poleć książkę

Spis tre ci 5

Implementacja w asnych filtroacutew 139Filtry akcji 139Filtry autoryzacyjne wyniku i wyj tkoacutew 144

Podsumowanie 146

Rozdzia 10 Bezpieczne aplikacje internetowe 147Potrzeba zabezpiecze 147Uwierzytelnienie i autoryzacja 149

Mechanizmy uwierzytelnienia zintegrowane z ASPNET 149Konfiguracja uwierzytelnienia 153Autoryzacja 157Grupy u ytkownikoacutew 158

Podsumowanie 160

Rozdzia 11 Konfiguracja zabezpiecze i panel Web Site Administration Tool 161Wprowadzenie 161U ytkownicy grupy i regu y dost pu 163Ustawienia aplikacji oraz odczyt zawarto ci pliku konfiguracyjnego 167Wy czenie aplikacji i konfiguracja serwera SMTP 171Komunikaty o b dach 171Zarz dzanie dostawcami us ug 178Podsumowanie 179

Rozdzia 12 Zabezpieczenie witryny przed z o liwym kodem 181Wprowadzenie 181Dzia anie z o liwego kodu 181Zabezpieczanie pliku konfiguracyjnego 187Podsumowanie 192

Rozdzia 13 Kontroler uwierzytelnienia w aplikacji ASPNET MVC 195Wprowadzenie 195Model 195Klasa kontrolera 198Widoki kontrolera 203Podsumowanie 209

Rozdzia 14 Dynamiczne zarz dzanie u ytkownikami i grupami 211Wprowadzenie 211Kontroler panelu administracyjnego 212Podzia u ytkownikoacutew na grupy 219Podsumowanie 224

Rozdzia 15 Biblioteka Knockout 227Knockout czyli interfejs u ytkownika z wykorzystaniem wzorca MVVM 227Knockout mdash wykorzystanie szablonoacutew JavaScript 230

Cz II Technologie bazodanowew aplikacjach internetowych 235

Rozdzia 16 Podstawy ADONET 237Podstawy relacyjnych baz danych 237Technologia ADONET 238

Kup książkę Poleć książkę

6 ASPNET MVC

Instalacja bazy Northwind 240Po czenie ze roacuted em danych 241Modyfikacja danych w obiekcie DataSet 249

Tworzenie nowych rekordoacutew 250Edycja rekordoacutew 257Wersjonowanie obiektu DataRow i kontrola wprowadzanych danych 263Usuwanie rekordoacutew 270

Rozdzia 17 Obiekt TableAdapter jako pomost mi dzy DataSeta roacuted em danych 273Parametryzacja kwerend 274Edycja danych przy u yciu obiektu TableAdapter 279Integralno danych i ich usuwanie 288Wstawianie danych z wykorzystaniem obiektu TableAdapter 294

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie internetowychaplikacji bazodanowych 301Lista rekordoacutew 301Usuwanie rekordoacutew 305Edycja rekordoacutew 307Tworzenie rekordoacutew 311Formularz z podformularzem (MasterDetail Form) 315

Rozdzia 19 Transakcje 319Tworzenie i r czna kontrola transakcji 319Automatyczne zarz dzanie transakcjami 327Konkurencyjno i poziom izolacji transakcji 332

Rozdzia 20 Bezpiecze stwo w aplikacjach bazodanowych 335Szyfrowanie po czenia 335Zabezpieczenie kodu po redniego przy pomocy Code Access Security (CAS) 338ConnectionString a sposoby uwierzytelnienia w serwerze MS SQL Server 344Uwagi ko cowe dotycz ce projektowania aplikacji bazodanowych 345

Rozdzia 21 Entity Framework 347Podstawy Entity Framework 348

Pierwsze zapytanie 348Detale produktu 352Dodawanie nowego produktu 353Edycja produktu 355Usuwanie produktu 357Tworzenie schematu bazy danych na bazie modelu encji 357Entity Framework i POCO 360

Cz III ASPNET MVC a ASPNET WebForms 365

Rozdzia 22 Integracja komponentoacutew WebForms z aplikacj ASPNET MVCna przyk adzie technologii SQL Server Reporting Services 367Pierwszy raport 368

Konfiguracja roacuted a danych 368Projektowanie raportu 371

Kup książkę Poleć książkę

Spis tre ci 7

Kolumny obliczeniowe raportu 378Stosowanie formatu prezentacji danych 379Grupowanie danych 381

Projektowanie graficznego uk adu raportu 383Etykiety rysunki i listy 384Prezentacja danych w postaci macierzowej 390

Parametry raportu i filtrowanie danych 394Filtr definiowany na poziomie raportu 395Filtrowanie raportu na etapie pobierania danych roacuted owych 401

Kluczowe wska niki efektywno ci 403Wykresy 406

Rozdzia 23 Eksport danych 413

Rozdzia 24 Ksi ga go ci w MVC Poroacutewnanie ASPNET Web Formsi ASPNET MVC 423Tworzenie projektu 423Widok mdash formularz dodawania wpisu 425Model mdash obs uga plikoacutew XML 427Aplikacja mdash rejestrowanie zdarze i trasowanie 430Kontroler mdash obs uga POST 431Widok mdash wy wietlanie wpisoacutew 432Widok mdash walidacja 435Kontroler mdash u ycie modelu odsy anego przez widok 440

Dodatki 447

Dodatek A ASPNET MVC 4 449Wsparcie dla urz dze mobilnych 449

Sformu owanie problemu 450Przystosowanie widokoacutew aplikacji do urz dze mobilnych 457

OAuth czyli otwarta autoryzacja 460Implementacja zdalnej autoryzacji w powi zaniu z portalem Facebook 461

Przetwarzanie asynchroniczne 464Wprowadzenie 464Potrzeba wykorzystania asynchronicznych kontroleroacutew 466Kontrolery asynchroniczne i klasa Thread 469Kontrolery asynchroniczne a zadania 472

Grupowanie i optymalizacja skryptoacutew oraz kaskadowych arkuszy styloacutew 475Web API 477

Wprowadzenie 477Implementacja serwisu sieciowego 479Implementacja klienta Web API 483

Podsumowanie 494

Dodatek B Publikacja aplikacji ASPNET za pomoc internetowychus ug informacyjnych (IIS) 495Wprowadzenie 495Instalacja i konfiguracja serwera internetowych us ug informacyjnych IIS 496

Instalacja serwera IIS w systemie Windows 7 496Instalacja serwera IIS w systemie Windows 8 496

Kup książkę Poleć książkę

8 ASPNET MVC

Publikowanie aplikacji na serwerze IIS 497Konfiguracja puli aplikacji 498Instalacja ASPNET 445 na serwerze IIS 498Publikacja aplikacji 500Uruchomienie aplikacji 503

IIS jako serwer do rozwoju aplikacji 504

Dodatek C ASPNET Identity w MVC 5 i Visual Studio 2013 505Wst p 505Szablony projektoacutew ASPNET w Visual Studio 2013 505Kontroler zarz dzaj cy u ytkownikami i rolami 508

Dynamiczne zarz dzanie u ytkownikami 509Statyczne zarz dzanie rolami 519Dynamiczne zarz dzanie rolami 519

Przyk adowe wykorzystanie roacutel 524Podsumowanie 526

Skorowidz 527

Kup książkę Poleć książkę

Rozdzia 18

Scaffolding czyliekspresowe tworzenieinternetowych aplikacjibazodanowych

Dawid Borycki

W dwoacutech poprzednich rozdzia ach samodzielnie utworzyli my komponenty prezentuj -ce dane rekordoacutew z bazy danych a tak e umo liwiaj ce ich edycj i usuwanie Wyko-rzystali my do tego celu bibliotek jQuery UI W tym rozdziale chcia bym zaprezen-towa tak zwany scaffolding Jest to procedura dost pna mi dzy innymi w aplikacjachASPNET MVC umo liwiaj ca automatyczne wygenerowanie widokoacutew (komponen-toacutew) aplikacji internetowej ktoacutere realizuj bazodanowy schemat CRUD (ang CreateRead Update Delete) Schemat CRUD obejmuje podstawowe elementy wszystkichaplikacji bazodanowych czyli tworzenie odczytywanie aktualizowanie i usuwanierekordoacutew z tabel danych

Lista rekordoacutewOpis techniki scaffolding w aplikacjach ASPNET MVC rozpoczn od wygenerowa-nia widoku listy rekordoacutew w aplikacji NorthwindMVC Automatycznie wygenerowa-ny widok skoryguj w celu dostosowania go do potrzeb aplikacji

1 G oacutewny widok aplikacji NorthwindMVC (plik Indexcshtml) uzupe nijo nast puj ce polecenie

ltpgt HtmlActionLink(Scaffolding ScaffoldingList)ltpgt

Kup książkę Poleć książkę

302 Cz II Technologie bazodanowe w aplikacjach internetowych

2 W Solution Explorer rozwi w ze Views a nast pnie kliknij prawymprzyciskiem myszy folder Home

3 Wybierz opcj Add a nast pnie Viewhellip z menu kontekstowego

4 W kreatorze Add View (rysunek 181)

Rysunek 181Widok kreatoraAdd View

a) Zmie nazw widoku na ScaffoldingList

b) Zaznacz pole wyboru Create a strongly-typed view

c) Z listy dost pnych modeli wybierz pozycj CustomersRow

d) Z listy rozwijanej Scaffold template wybierz List

e) Kliknij przycisk Add

5 Utworzony w ten sposoacuteb plik ScaffoldingListcshtml zmodyfikuj wed ugwzoru z listingu 181

Listing 181 Zmodyfikowany widok listy klientoacutew

model IEnumerableltNorthwindMVCModelsNorthwindDataSetCustomersRowgt

ViewBagTitle = ScaffoldingList

lth2gtScaffoldingListlth2gtlth2gtLista klientoacutewlth2gt

ltpgt HtmlActionLink(Create New Create) HtmlActionLink(Nowy rekord ScaffoldingCreate)ltpgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 303

lttablegt lttrgt ltthgt CustomerID ltthgt ltthgt CompanyName ltthgt ltthgt ContactName ltthgt ltthgt ContactTitle ltthgt ltthgt Address ltthgt ltthgt City ltthgt ltthgt Region ltthgt ltthgt PostalCode ltthgt ltthgt Country ltthgt ltthgt Phone ltthgt ltthgt Fax ltthgt ltthgt RowError ltthgt ltthgt HasErrors ltthgt ltthgtltthgt lttrgt

foreach (var item in Model) lttrgt lttdgt HtmlDisplayFor(modelItem =gt itemCustomerID) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCompanyName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactName) lttdgt lttdgt

Kup książkę Poleć książkę

304 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlDisplayFor(modelItem =gt itemContactTitle) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemAddress) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCity) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemRegion) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemPostalCode) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCountry) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemPhone) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemFax) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemRowError) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemHasErrors) lttdgt lttdgt HtmlActionLink(Edytuj ScaffoldingEdit new id = itemCustomerID ) | HtmlActionLink(Zamoacutewienia ScaffoldingMasterDetail new id = itemCustomerID ) | HtmlActionLink(Usu ScaffoldingDelete new id = itemCustomerID ) lttdgt lttrgt

lttablegt

6 W pliku HomeControllercs

a) Utwoacuterz pole klasyCustomersTableAdapter customersTableAdapter = new CustomersTableAdapter()

b) Dodaj polecenia z listingu 182

Listing 182 Prezentacja listy klientoacutew

private void PobierzDaneKlientow() northwindDataSetEnforceConstraints = false customersTableAdapterFill(northwindDataSetCustomers)

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 305

northwindDataSetEnforceConstraints = true

public ActionResult ScaffoldingList() PobierzDaneKlientow() return View(ScaffoldingList northwindDataSetCustomers)

7 Skompiluj i uruchom aplikacj

Po uruchomieniu aplikacji i klikni ciu hiper cza z etykiet Scaffolding zostanie wy-wietlona lista klientoacutew ktoacuterej posta powinna by analogiczna do przedstawionej na

rysunku 182 W kolejnym kroku zaimplementujemy mo liwo usuwania edycji oraztworzenia rekordoacutew w tabeli Customers

Rysunek 182 Lista klientoacutew

Usuwanie rekordoacutewW celu zaimplementowania mo liwo ci usuwania rekordoacutew z tabeli Customers wyko-naj nast puj ce czynno ci

1 W widoku projektowania obiektu NorthwindDataSet skonfiguruj relacjpomi dzy tabelami Orders i Customers wed ug wzoru z rysunku 183

2 Klas kontrolera Home uzupe nij o polecenia z listingu 183

Kup książkę Poleć książkę

306 Cz II Technologie bazodanowe w aplikacjach internetowych

Rysunek 183Konfiguracja wi zoacutewintegralno ci danych

Listing 183 Usuwanie rekordoacutew z tabeli Customers

private void AktualizujDaneKlientow() northwindDataSetEnforceConstraints = false

orderDetailsTableAdapterUpdate(northwindDataSetOrder_Details) ordersTableAdapterUpdate(northwindDataSetOrders) customersTableAdapterUpdate(northwindDataSetCustomers)

northwindDataSetEnforceConstraints = true

public ActionResult ScaffoldingDelete(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) if (cdr = null) Usuwanie rekordoacutew potomnych DataRow[] zamowienia = cdrGetChildRows(northwindDataSetRelations[FK_Orders_Customers])

foreach (DataRow dr in zamowienia) drDelete()

Usuwanie rekordu klienta cdrDelete()

Aktualizacja wszystkich powi zanych tabel AktualizujDaneKlientow()

return ScaffoldingList()

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 307

Podczas usuwania danego rekordu nale y zadba o rekordy z innych tabel ktoacutere sz nim zwi zane relacjami Wiersze tabeli Customers s skojarzone z rekordami z tabelOrders oraz OrdersDetails Z tego powodu aktualizuj zawarto ci tych tabel po usu-ni ciu wybranego rekordu klienta Osierocone rekordy z tabeli Orders s usuwane ra-zem z nim

Edycja rekordoacutewDo edycji rekordoacutew w tabeli Customers potrzebny b dzie odpowiedni widok ktoacuteryprzygotuj na bazie automatycznie wygenerowanego kodu roacuted owego

1 Zgodnie z przepisem z podrozdzia u bdquoLista rekordoacutewrdquo utwoacuterz widokkontrolera Home i skonfiguruj go wed ug wzoru z rysunku 184

Rysunek 184Konfiguracja widokuedycji klienta

2 Wygenerowany automatycznie plik widoku ScaffoldingEditcshtmlzmodyfikuj zgodnie z listingiem 184

Listing 184 Definicja widoku edycji klienta

model NorthwindMVCModelsNorthwindDataSetCustomersRow

ViewBagTitle = ScaffoldingEdit

lth2gtScaffoldingEditlth2gtlth2gtEdycja rekordulth2gt

ltscript src=UrlContent(~Scriptsjqueryvalidateminjs)type=textjavascriptgtltscriptgt

Kup książkę Poleć książkę

308 Cz II Technologie bazodanowe w aplikacjach internetowych

ltscript src=UrlContent(~Scriptsjqueryvalidateunobtrusiveminjs)type=textjavascriptgtltscriptgt

using (HtmlBeginForm(EdytujDaneKlienta Home new id = ModelCustomerID)) HtmlValidationSummary(true) ltfieldsetgt ltlegendgtDane klientaCustomersRowltlegendgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCustomerID) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCustomerID) HtmlValidationMessageFor(model =gt modelCustomerID) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCompanyName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCompanyName) HtmlValidationMessageFor(model =gt modelCompanyName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactName) HtmlValidationMessageFor(model =gt modelContactName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactTitle) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactTitle) HtmlValidationMessageFor(model =gt modelContactTitle) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelAddress) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelAddress) HtmlValidationMessageFor(model =gt modelAddress) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCity) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCity) HtmlValidationMessageFor(model =gt modelCity) ltdivgt

ltdiv class=editor-labelgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 309

HtmlLabelFor(model =gt modelRegion) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRegion) HtmlValidationMessageFor(model =gt modelRegion) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPostalCode) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPostalCode) HtmlValidationMessageFor(model =gt modelPostalCode) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCountry) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCountry) HtmlValidationMessageFor(model =gt modelCountry) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPhone) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPhone) HtmlValidationMessageFor(model =gt modelPhone) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelFax) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelFax) HtmlValidationMessageFor(model =gt modelFax) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRowError) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRowError) HtmlValidationMessageFor(model =gt modelRowError) ltdivgt

ltpgt ltinput type=submit value=SaveZapisz gt ltpgt ltfieldsetgt

ltdivgt HtmlActionLink(Back to List Index) HtmlActionLink(Powroacutet do listy rekordow ScaffoldingList)ltdivgt

Kup książkę Poleć książkę

310 Cz II Technologie bazodanowe w aplikacjach internetowych

3 W kontrolerze Home zdefiniuj metody z listingu 185

Listing 185 Edycja danych klienta

public ActionResult ScaffoldingEdit(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id)

if (cdr = null) return View(ScaffoldingEdit cdr) else return ScaffoldingList()

private void PrzepiszDaneKlienta(FormCollection daneKlienta refNorthwindDataSetCustomersRow rekordKlienta)

rekordKlientaCompanyName = daneKlienta[CompanyName]ToString() rekordKlientaContactName = daneKlienta[ContactName]ToString() rekordKlientaContactTitle = daneKlienta[ContactTitle]ToString() rekordKlientaAddress = daneKlienta[Address]ToString() rekordKlientaCity = daneKlienta[City]ToString()

public ActionResult EdytujDaneKlienta(FormCollection daneKlienta string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) if (cdr = null) PrzepiszDaneKlienta(daneKlienta ref cdr) AktualizujDaneKlientow() return ScaffoldingList()

Proces edycji rekordu w bazie danych za pomoc technologii ADONET opiera si nainformacjach zebranych w poprzednich rozdzia ach wi c nie b d go tu szczegoacute owoopisywa Celem tego przyk adu by o automatyczne wygenerowanie widoku umo li-wiaj cego edycj danych klienta przystosowanie go do w asnych potrzeb oraz inte-gracja z kontrolerem

Separacja modelu widoku i kontrolera umo liwia narz dziom Visual Studio 2012 auto-matyczne generowanie widoku na podstawie definicji modelu Jednak e jak pokaza-em w tym podrozdziale kreator tworzy widok ktoacutery umo liwia edycj wszystkich poacutel

rekordu (nawet identyfikatora) co sprawia e w wi kszo ci przypadkoacutew nale y sa-modzielnie edytowa plik widoku w celu przystosowania go do potrzeb projektowanejaplikacji Jednak jak pokazuje powy szy przyk ad nie jest to rzecz skomplikowan

Integracja widoku z kontrolerem polega na odpowiednim przekazywaniu informacjio edytowanym rekordzie oraz warto ci jego poacutel Do tego celu wykorzysta em identy-fikator klienta ktoacutery jednoznacznie identyfikuje rekordy w tabeli Customers

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 311

Przyk adowy wynik polece zaimplementowanych w tym podrozdziale przedstawiarysunek 185

Rysunek 185Edycja danych klienta

Tworzenie rekordoacutewW poprzednich podrozdzia ach zaimplementowa em trzy spo roacuted czterech podstawo-wych elementoacutew schematu CRUD czyli odczytywanie (R) aktualizacj (U) oraz usu-wanie (D) rekordoacutew Ostatnim elementem jest tworzenie (C) nowych rekordoacutew W celuzaimplementowania procedury uzupe niania tabeli Customers nowymi rekordami na-le y post pi nast puj co

1 W Solution Explorer rozwi w ze Views a nast pnie kliknij prawymprzyciskiem myszy folder Home

2 Wybierz opcj Add a nast pnie Viewhellip z menu kontekstowego

3 W kreatorze Add View

a) Zmie nazw widoku na ScaffoldingCreate

b) Zaznacz pole wyboru Create a strongly-typed view

c) Z listy dost pnych modeli wybierz pozycj CustomersRow

d) Z listy rozwijanej Scaffold template wybierz Create

e) Kliknij przycisk Add

4 Utworzony w ten sposoacuteb plik ScaffoldingCreatecshtml zmodyfikuj wed ugwzoru z listingu 186

Kup książkę Poleć książkę

312 Cz II Technologie bazodanowe w aplikacjach internetowych

Listing 186 Widok umo liwiaj cy wstawianie rekordoacutew do tabeli Customers

model NorthwindMVCModelsNorthwindDataSetCustomersRow

ViewBagTitle = ScaffoldingCreate

lth2gtScaffoldingCreatelth2gtlth2gtTworzenie rekordulth2gt

ltscript src=UrlContent(~Scriptsjqueryvalidateminjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~Scriptsjqueryvalidateunobtrusiveminjs)type=textjavascriptgtltscriptgt

using (HtmlBeginForm(DodajKlienta Home)) HtmlValidationSummary(true) ltfieldsetgt ltlegendgtDane klientaCustomersRowltlegendgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCustomerID) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCustomerID) HtmlValidationMessageFor(model =gt modelCustomerID) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCompanyName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCompanyName) HtmlValidationMessageFor(model =gt modelCompanyName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactName) HtmlValidationMessageFor(model =gt modelContactName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactTitle) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactTitle) HtmlValidationMessageFor(model =gt modelContactTitle) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelAddress) ltdivgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 313

ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelAddress) HtmlValidationMessageFor(model =gt modelAddress) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCity) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCity) HtmlValidationMessageFor(model =gt modelCity) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRegion) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRegion) HtmlValidationMessageFor(model =gt modelRegion) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPostalCode) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPostalCode) HtmlValidationMessageFor(model =gt modelPostalCode) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCountry) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCountry) HtmlValidationMessageFor(model =gt modelCountry) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPhone) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPhone) HtmlValidationMessageFor(model =gt modelPhone) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelFax) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelFax) HtmlValidationMessageFor(model =gt modelFax) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRowError) ltdivgt ltdiv class=editor-fieldgt

Kup książkę Poleć książkę

314 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlEditorFor(model =gt modelRowError) HtmlValidationMessageFor(model =gt modelRowError) ltdivgt

ltpgt ltinput type=submit value=CreateUtwoacuterz gt ltpgt ltfieldsetgt

ltdivgt HtmlActionLink(Back to List Index) HtmlActionLink(Powroacutet do listy ScaffoldingList)ltdivgt

5 Definicj kontrolera Home uzupe nij o polecenia z listingu 187

Listing 187 Wstawianie rekordoacutew do tabeli Customers

private char PobierzZnak(string lancuch int index) Random random = new Random() char znak

if (lancuchLength gt index) znak = lancuch[index] else znak = (char)randomNext(0 255)ToString()[0]

return znak

private void UtworzIdentyfikatorKlienta(ref NorthwindDataSetCustomersRowdaneKlienta)

string identyfikator = int indexZnaku = 0

identyfikator += PobierzZnak(daneKlientaCompanyName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactTitle indexZnaku) identyfikator += PobierzZnak(daneKlientaAddress indexZnaku) identyfikator += PobierzZnak(daneKlientaCity indexZnaku)

daneKlientaCustomerID = identyfikator

public ActionResult DodajKlienta(FormCollection daneKlienta string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersNewCustomersRow()

PrzepiszDaneKlienta(daneKlienta ref cdr)

UtworzIdentyfikatorKlienta(ref cdr)

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 315

customersTableAdapterInsert(cdrCustomerID cdrCompanyName cdrContactName cdrContactTitle cdrAddress cdrCity )

AktualizujDaneKlientow()

return ScaffoldingList()

Wstawienie rekordoacutew do tabeli Customers jest analogiczne do ich edycji Jedyn roacute -nic jest konieczno utworzenia identyfikatora klienta gdy nie jest on tworzonyautomatycznie jak to by o w przypadku tabeli Employees Identyfikatory rekordoacuteww tabeli Customers s pi cioelementowymi ci gami znakoacutew Tworz je na podstawiepierwszych liter poacutel CompanyName ContactName ContactTitle Address oraz City Je liw tych polach znajduj si puste ci gi to odpowiedni liter zast puj losowo wyge-nerowanym znakiem

W kolejnym podrozdziale poka w jaki sposoacuteb wy wietli informacje o rekordachpotomnych opieraj c si na relacji pomi dzy tabelami

Formularz z podformularzem(MasterDetail Form)

Jako podsumowanie tego rozdzia u utworz formularz z podformularzem tak zwanyformularz MasterDetail Jego dzia anie polega na tym e wy wietlanie danych od-bywa si na bazie co najmniej dwoacutech komponentoacutew (np blokoacutew czy tabel) oraz rela-cji mi dzy tabelami Pierwszy komponent prezentuje rekordy zawarte w tabeli g oacutew-nej (ang master) a drugi zawiera dane z tabeli podrz dnej (ang detail) Komponentzwi zany z tabel podrz dn ma zazwyczaj za zadanie prezentowa szczegoacute owe da-ne odpowiadaj ce rekordowi z tabeli nadrz dnej ktoacutery zosta wskazany przy pomocyzwi zanej z nim listy rekordoacutew Pola tych tabel musz by zatem uporz dkowane w takisposoacuteb aby pokazywa y informacj o tym samym rekordzie Uzyskuje si to przy po-mocy relacji mi dzy tabelami ktoacuterej zadaniem jest powi zanie informacji zawartychw bazie danych

W tym podrozdziale tabel nadrz dn b dzie tabela Customers a podrz dn OrdersPo klikni ciu na hiper cze z etykiet zamoacutewienia wy wietli si lista rekordoacutew tabeliOrders skojarzonych z danym klientem dania prezentacji zamoacutewie b d realizo-wane asynchronicznie

1 Plik widoku ScaffoldingListcshtml zmodyfikuj wed ug wzoru z listingu 188

Listing 188 Konfiguracja hiper cza umo liwiaj cego wy wietlenie listy zamoacutewie danego klienta

hellipforeach (var item in Model) lttrgt lttdgt

Kup książkę Poleć książkę

316 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlDisplayFor(modelItem =gt itemCustomerID) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCompanyName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactTitle) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemAddress) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCity) lttdgt lttdgt HtmlActionLink(Edytuj ScaffoldingEdit new id = itemCustomerID ) | AjaxActionLink(Zamoacutewienia ScaffoldingMasterDetail new id = itemCustomerID new AjaxOptions UpdateTargetId = zamowienia OnSuccess = documentgetElementById(zamowienia)scrollIntoView() ) | HtmlActionLink(Usu ScaffoldingDelete new id = itemCustomerID ) lttdgt lttrgtlttablegt

ltdiv id=zamowieniagtltdivgt

2 Utwoacuterz widok cz ciowy o nazwie ZamowieniaPartialViewcshtml i wstaww nim polecenia z listingu 189

Listing 189 Definicja widoku prezentuj cego list zamoacutewie

model IEnumerableltNorthwindMVCModelsNorthwindDataSetOrdersRowgt

if (Model == null) lth2gtBrak zamoacutewie lth2gtelse lth2gtLista zamoacutewie lth2gt

lttablegt lttrgt ltthgt OrderDate ltthgt ltthgt RequiredDate ltthgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 317

ltthgt ShippedDate ltthgt ltthgt ShipName ltthgt ltthgt ShipAddress ltthgt ltthgt ShipCity ltthgt ltthgtltthgt lttrgt

foreach (var item in Model) lttrgt lttdgt itemOrderDateToShortDateString() lttdgt lttdgt itemRequiredDateToShortDateString() lttdgt lttdgt itemShippedDateToShortDateString() lttdgt lttdgt itemShipName lttdgt lttdgt itemShipAddress lttdgt lttdgt itemShipCity lttdgt lttrgt lttablegt

3 Kontroler Home uzupe nij o metod ScaffoldingMasterDetail ktoacuterej definicjprzedstawi em na listingu 1810

Listing 1810 Pobranie i prezentacja rekordoacutew potomnych wybranego klienta

public ActionResult ScaffoldingMasterDetail(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) NorthwindDataSetOrdersRow[] zamowieniaPracownika = null

if (cdr = null) zamowieniaPracownika = (NorthwindDataSetOrdersRow[])cdrGetChildRows(FK_Orders_Customers)

Kup książkę Poleć książkę

318 Cz II Technologie bazodanowe w aplikacjach internetowych

if (RequestIsAjaxRequest()) return View(ZamowieniaPartialView zamowieniaPracownika) else return ScaffoldingList()

4 Sekcj ltheadgt pliku _Layoutcshtml uzupe nij o polecenia z listingu 1811

Listing 1811 Import skryptoacutew obs uguj cych dania asynchroniczne

ltscript src=UrlContent(~Scriptsjqueryunobtrusive-ajaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftAjaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftMvcAjaxjs)type=textjavascriptgtltscriptgt

5 Po skompilowaniu i uruchomieniu aplikacji powiniene uzyska efektanalogiczny do przedstawionego na rysunku 186

Rysunek 186 Przyk ad formularza typu MasterDetail

Kup książkę Poleć książkę

Skorowidz

AACL 149action methods 25ActiveX Data Object 238ADO 238ADONET 238

obiekty 238podstawy 237synchronizacja buforu ze roacuted em danych 273

adresy URLautoryzacja 157parametry 122trasowanie 121wzorce 122 123

agile programming 15AJAX 91

aktualizacja bloku witryny 113dodanie referencji do bibliotek JavaScript 94

akcjaCreate 354Delete 357Details 353dodaj ca nowy produkt 355Edit 356

aktualizacjazawarto ci elementu witryny 92

algorytmRSA 187

ambient transaction 329ankieta 102AntiXss 187aplikacje

bazodanowe 235bezpiecze stwo 335mechanizm transakcji 319scaffolding 301

synchronizacja ze roacuted em danych 273uwagi do projektowania 345

mo liwo edytowania wpisoacutew 441rejestrowanie zdarze i trasowanie 430

Application Domain 339architektura obiektowa 347ASPNET

konfiguracja aplikacji 161mechanizmy uwierzytelnienia 149metody globalne 107w czanie i wy czanie aplikacji 171

ASPNET AJAX 91ASPNET MVC 15

komponenty 16ASPX 21 30asynchroniczne przetwarzanie da http

jQuery 113Asynchronous JavaScript and XML 48Asynchronous Programming Model 464ataki

rodzaje 147SQL Injection 148 344wy udzenie informacji 148z o liwy kod 181

atrybut 347AcceptVerbs(HttpPost) 47AcceptVerbs(HttpVerbsPost) 65AssociationAttribute 58Authorize 200AuthorizeAttribute 128autoryzacyjny 145ConcurrencyCheckAttribute 58Confirm 95cookieless 154CustomValidationAttribute 58 66data-bind 230DataType 54 57

Kup książkę Poleć książkę

528 ASPNET MVC

atrybutDataTypeAttribute 58defaultRedirect 173defaultUrl 154DisplayAttribute 58DisplayColumnAttribute 58DisplayName 436EditableAttribute 58enableCrossAppRedirects 155EnumDataTypeAttribute 58FilterUIHintAttribute 58HandleError 138 175HandleErrorAttribute 129HttpMethod 95InsertionMode 95KeyAttribute 58klasy do konfiguracji metadanych 57 58LoadingElementDuration 110LoadingElementId 95 110Log

klasa implementuj ca 142loginUrl 154MetadataType 69MetadataTypeAttribute 58mode 153 173modelu 55name 155NonAction 26 135OnBegin 95OnComplete 95OnFailure 95OnSuccess 95 110OutputCache 133OutputCacheAttribute

parametry 134passwordFormat 156protection 155Range 54 66RangeAttribute 58redirectMode 173RegularExpressionAttribute 58Required 54 66RequiredAttribute 58RequireHttps 135requireSSL 155slidingExpiration 155StringLength 66StringLengthAttribute 58TestClass 29TestMethod 29ticketCompatibilityMode 155timeout 155TimestampAttribute 58UpdateTargetId 95

Url 95ValidateInput 185

atrybuty modeluwyra enia regularne 84

Attribute 347authentication ticket 151auto post back 217autocomplete textbox 115automatyczne uzupe nienie pola tekstowego 115autoryzacja 149 157

adresoacutew URL 157konfiguracja 157

grupy u ytkownikoacutew 158mechanizm filtrowania 158otwarta 460plikoacutew 157zdalna

powi zanie z portalem Facebook 461Azure 496

Bbazy danych 40 237

aktualizacja 41lista rekordoacutew 301Northwind 240

detale produktu 352dodawanie po cze 350pobieranie produktoacutew 351

po czenie ze roacuted em danych 241relacyjne 237schemat CRUD 301transakcje 319tworzenie 321

nowego rekordu 48schematu na bazie modelu encji 357

usuwanie danych 290regu y integralno ci 293

usuwanie powi zanych wierszyrekordy potomne 291

warstwa dost pu 42bezpiecze stwo

aplikacji internetowych 147ataki 147mechanizmy 149

biblioteka NETprogramowanie asynchroniczne 464

biblioteka skryptoacutewMapajs 32

bilet uwierzytelniaj cy 151b dy

dzia ania aplikacji 171strona b du 176tworzenie u ytkownika 202wprowadzenie z ego rekordu 268

Kup książkę Poleć książkę

Skorowidz 529

body 383buforowanie

danych ze roacutede zewn trznych 133bundling 475Business Intelligence 368

Ccallback 35CAS 151 338CDN 113Central Authentication Service 151centralna us uga uwierzytelnienia 151certyfikat 337CLR

procesy systemowe 466Code Access Security 338Confirm 96connString 341controllers 16Coordinated Universal Time 155Create Read Update Delete 301cross-site scripting 181CRUD 54 301Crystal Reports 368

Ddane

agregacja 378bezpo redni dost p do roacuted a 346eksport 413

do dokumentu tekstowego 419do PDF 420skoroszyt MS Excel 421tabele dynamiczne 418

integralno 288 319pomini cie sprawdzania 292regu y 291

modyfikacja 249platforma modelowania 347prezentacja

graficzna 406w postaci macierzowej 390

przekazywaniez formularza do roacuted a 46z kontrolera do widoku 437 439

serializacja i transfer struktur 117szyfrowanie 337typu

ActionResult 25walidacja 53weryfikacja 53wi zy integralno ci 306

wy wietlanie 315zabezpieczenie 338

Data Binding 389Data Definition Language 345Database Management System 237DBMS 237

wi zy integralno ci 238DDL 345denial of service 147detail 315Development Server 504DIE 53DisplayFormatAttribute 58document object model 92DOM 92domena aplikacji 339 466

instancja obiektoacutew 341tworzenie 339wspoacute dzielenie obiektu 341

dostawcy us ug 178dost p anonimowy 150DotNetOpenAuth 149DPAPI 187DRY 53dyrektywa

model 46

Eelement

customErrors 173success 115

elevation of privilege 147encapsulation 107encja 347

atrybuty 54bazodanowa 54KategoriaProduktu 358odwzorowanie w bazie danych 360Order_Details 362Orders 361Products 361Produkt 358

Entity 347Entity Framework 43 347

POCO 360potwierdzenie explicite 356technologie 349wersje 347

Entity Relationship Model 347Entity SQL 349ERM 347Event-based Asynchronous Pattern 465event-driven programming 17

Kup książkę Poleć książkę

530 ASPNET MVC

FFile Transfer Protocol 495filtry 127

akcji 127 139autoryzacyjne 127 144dynamiczne 395kolejno wykonywania 137

priorytety 138Log

metody 141LogAttribute

definicja klasy 140podstawowe atrybuty 128statyczne 395w asne 139wyj tkoacutew 128 144

niestandardowe 145wyniku 128 144

for 434foreach 51Forms Authentication Provider 149formularz

MasterDetail 315z podformularzem 315

funkcjadelay 217ListaPracownikoacutew 57Mid 390RolesIsUserInRole 217Today 390wyznaczaj ca tras 109zmienPrzynaleznoscDoGrupy 217 218

GGauge 383 403GDI 368graficzny interfejs u ytkownika 17 30Graphics Device Interface 368GridView 48grupy u ytkownikoacutew

autoryzacja 158GUI 17

Hhard-coding 167haszowanie 150helper methods 25html helper 455

Iidentyfikator

klienta 315rekordoacutew 315

IIS 121 149 495instalacja

ASPNET 445 498serwera w Windows 7 496serwera w Windows 8 496

mened er Windows 499uruchamianie aplikacji 503

serwer do rozwoju aplikacji 504information disclosure 147instancje aplikacji 465instancjonowanie modelu 39IntelliSense 247interfejs u ytkownika

przycisk umo liwiaj cy dodanie pracownika294

przycisk usuni cia wybranego rekordu 289Internet Information Services 121internetowe us ugi informacyjne 495in ynieria spo eczna 148Isolation Level 332izolacja 339 466

JJavaScript Object Notation 117jQM 457jQuery

autocomplete 116pliki roacuted owe 113

jQuery Mobile 457jQuery UI 367

wykorzystanie przyciskoacutew 284JSON 117

obiekt typu adres 118

KKey Performance Indicators 403klasa

AccountController 198ActionExecutingContext 143AdminController 212Ajax 94AjaxOptions 94

atrybuty 95AspNetHidden 442AssemblyName 170Assert 29

Kup książkę Poleć książkę

Skorowidz 531

AuthConfig 461BundleConfig 475Configuration 170ConfigurationManager 170ConfigurationSection 187 188ConnectionStringBuilder 345DpapiProtectedConfigurationProvider 187FiltryRaportuMacierzowego 397Form1 484FormsAuthentication 152Global 430HandleErrorInfo 133HtmlHelper 437HttpClient 483 486HttpResponseMessage 486kontekstu 362LogOnModel 198MarshallByRefObject 341Membership 152 198 211MvcApplication 430NorthwindContext 362ObjectContext 348ObjectQueryltTgt 348Order_Details 362Orders 361Osoba 228ParametryWatku 470Pracownik 484Products 361Produkt 230Raport 392RequestBrowser 460ResultExecutedContext 144ResultExecutingContext 144Roles 211RsaProtectedConfigurationProvider 187SQLConnCAS

definicja 340stowarzyszona z modelem 69SystemNetHttpFormattingJsonMediaTypeF

ormatter 491SystemTextRegularExpressions 74SystemWebSecurityRoles 159Task 465 472testuj ca 29Thread 465 469TransactionScope 327UrlRoutingModule 121ViewData 434 436 439WebApiConfig 478WebConfigurationManager 170Wpisy 427 436

klucze 237MAC 155obce 238podstawowe 238

kluczowe wska niki efektywno ci 403dynamiczna zmiana warto ci 404

Knockout 227wykorzystanie szablonoacutew JavaScript 230wywo anie skryptu 229

kodowanie danychprzekazywanych przez u ytkownikoacutew 186

komponentFormDanePracownika 489obiektu

PartialView 99typu ListBox 99

ReportViewer 368 375eksport danych 413nawigacja mi dzy stronami raportu 377

komponenty u ytkownika 30komunikaty o b dach 171

kod statusowy 174 175koncepcja programowania zdarzeniowego 16konfiguracja

po czenia z baz danych 241uprawnie puli aplikacji 454walidacji danych 66

konkurencyjno aplikacji 332kontekst wi zania 389kontrola wprowadzanych danych 263

metoda onColumnChanged 269wstrzymanie walidacji wiersza 267zako czenie edycji rekordu 267

wymuszenie 267kontroler 16 25

AccountController 195Admin 223AdminController 212aplikacja Kardy 63asynchroniczny 466

a zadania 472dane wyj ciowe 25domeny 150ErrorController 174Glosowania 103Home 182 224 228 231

Bezpiecze stwo 336filtr wyj tku 131

HomeController 184EksportDanych 415Northwind 245

interfejs Web API 477KsiegaGosciController 424

Kup książkę Poleć książkę

532 ASPNET MVC

kontrolerLista 93Mapa 33

autouzupe nianie 117modyfikacja 45

niedost pne metody publiczne 136obs uga POST 431panelu administracyjnego 212

zarz dzanie grupami u ytkownikoacutew 220Pracownicy 57 64PracownicyController

implementacja 481Produkty 351projektowanie 27przekazywanie danych do widoku

zmiany 439uwierzytelnienia 195

klasa 198model 196widoki 203

uzupe nienie o widok 31u ycie modelu odsy anego przez widok 440ValuesController 478weryfikacja funkcjonalno ci 28wi zanie adresu URL z akcj 430widoki 58

konwersja obrazu 278kreator

Add New Item 242Add View 59 302Application 162blokowania szczegoacute oacutew b doacutew 172dodanie u ytkownikoacutew 164grup u ytkownikoacutew 165Provider 162Publish Web 501Security 162tworzenia pracownika 59ustawie aplikacji 167widokoacutew 60wyboacuter dostawcoacutew us ug 178

kwerendy parametryczne 274 401

Llayout witryny 30LINQ

to Entities 349lista rekordoacutew 301

prezentacja 304logika

aplikacji 30bazodanowa 30biznesowa 44

a cuch QueryString 26

Mmaster 315mechanizm

automatycznych w a ciwo ci 57autoryzacji 157eksportu danych 413filtroacutew 127grupowania plikoacutew 475IntelliSense 119QuerynotString 117szyfruj cy 187transakcji 319 321

przelewy bankowe 326wyznaczania trasy przejzdu 34

meotdaInsert 299ProtectSection 191WersjonowanieDataRow

definicja widoku 265message authentication code 155metoda

on 262HtmlValidationSummary 204About 124AcceptChanges 255 263ActionLinkActionLink 61 63 353AddUserToRole 159akcji 25

parametry opcjonalne 27aktualizacja statystyk ankiety 105AktualizujZdjeciePracownika 288Application_AuthenticateRequest 108Application_BeginRequest 107 108Application_End 108Application_EndRequest 107Application_Error 108 172Application_Start 108 123 139 430asynchroniczna kontrolera 472AttachTo 356Authenticate 152AutoUzupelnienie 117

zapytanie LINQ 118BeginEdit 267BeginForm 47 94BeginTransaction 326 332CancelEdit 263ChangeObjectState 356

Kup książkę Poleć książkę

Skorowidz 533

ChangePassword 200hiper cze 208widok 206

ChangePasswordSuccesswidok 206

CreateNazwaEncji 354CreateRole 159CreateUser 153czyBazaDanychIstnieje 326daneDostawcyForm 262DBeginnotEdit 263Delete 270DeleteObject 357DeleteRole 159DeleteUser 153DeszyfrujPlikKonfiguracyjny 191DodajDostawce 255DodajElementDoListy 94 97 101DodajGrupe 223DodajKomentarz 185DodajPracownika 299 491DopiszDoPlikuLog 430Edit 356EdytujDaneDostawcy 261EdytujDanePracownika 493Eksportuj 418EmptyResult 26EndEdit 263EndForm 47ErrorCodeToString 201Fill 246FillByCityName 275FormatDateTime 390FormsAuthenticationSetCookie 199GenerujDane 468Get(int id) 478GetAllRoles 159GetAsync 486GetChildRecords 291GetSection 170GetSectionGroup 170GetUser 153GetUsersInRole 160globalna

aplikacji ASPNET 108Grupy 223HasVersion 263HtmlListBox 97HtmlRenderPartial 101HtmlValidationSummary 61HtmlHelperLabel 437ImiePierwszegoPracownika 246 247Include 475Index 47 79 97 101

kontrolera Mapa 34testowanie 28

IsAjaxRequest 101IsMatch 76IsNotNull 29IsUserInRole 159Label 35ListaDostawcow 252 255ListaPracownikow 248

hiper cze skojarzone 249LogOff 198LogOn 198Macierzowy 397mapowalna 26MetodaAsynchronicznaWatki 472ModelStateAddModelError 199MvcApplicationRegisterRoutes 430obs uga zapyta POST 431odczyt aktualnych bilansoacutew kont 323OdczytajStanyKont 326OnActionExecuted 143OnActionExecuting 127 143onColumnChanged 269OnResultExecuted 144OnResultExecuting 144onRowChanged 266onRowChanging 268OpenConfiguration 170otwarcie po czenia z baz danych 341OtworzPlikDanych 107Page_Load 399PartialViewResult 26PobierzDane 394

modyfikacja 401PobierzPlikLogu 141 143PobierzZdjecie 278PokazTrasy 51PokazWyniki 107pomocnicza 25 455

HtmlEncode 51wykorzystanie 456

PostAsJsonAsync 486PostAsXmlAsync 486PostAsync 486PostResolveRequestCache 121PracownicyWedlugMiast

przechowywanie warto ci filtru 285PutAsJsonAsync 493PutAsXmlAsync 493PutAsync 493ReadAsAsync 486ReadXml 107ReadXmlSchema 107RedirectFromLoginPage 152

Kup książkę Poleć książkę

534 ASPNET MVC

metodaRedirectResult 26RedirectToAction 26RedirectToLoginPage 152RedirectToRoute 26RedirectToRouteResult 26RefreshReport 384Register 199 478RegisterAuth 461 462RegisterBundles 475RegisterGlobalFilters 171RegisterRoutes 94 123RejectChanges 256 263rejestrowanie zdarze aplikacji 430RemoveUserFromRole 160Render 384 413 418RenderPartial 99ResponseWrite 223ResultExecuteResult 143RoleExists 159RolesIsUserInRole 216RolesRemoveUsersFromRole 223route 35RowsAdd 255RozpocznijEdycje 269

hiper cze uruchamiaj ce 267SaveChanges 354ScaffoldingMasterDetail 317Session_End 108Session_Start 108SetAuthCookie 152SetParameters 401 405SignOut 152SprawdzDopasowania 79SprawdzPoprawnoscDatyZatrudnienia 67SqlPermissionAdd 343SqlTransactionCommit 326SqlTransactionRollback 326StronaNieIstnieje 175submit 115SzyfrowaniePlikuKonfiguracyjnego 190szyfruj ca i deszyfruj ca 189SzyfrujPlikKonfiguracyjny 191TextBox 35ThreadSleep 469 472TransactionScopeComplete 329Transfer 36UpdateUser 153UstawParametryRaportu 399UsunGrupe 223UsunTrase 50 51UtworzPracownika 64Uzytkownicy 216ValidateUser 152 153

ValidationMessage 437ValidationMessageFor 61ValidationSummary 437ViewResult 26WebApiConfigRegister 478WersjonowanieDataRow 265

sparametryzowanie 266WpisyZapiszDoPlikuXml 430wykonywanie przelewoacutew 323WyswietlLog 141 142 143wyswietlMape 34 35WyswietlTrase 50

modyfikacja 135 166wyznaczTrase 35ZaktualizujWyniki 107Zapami tajNazw U ytkownika 432ZmienStanKont 328

Microsoft SQL Server 319sposoby uwierzytelnienia 344

MIME type 390minification 476minimalizacja 476model 16 39

APM 464ChangePasswordModel 196EAP 465integracja z elementami aplikacji 39LogOnModel 196obs uga plikoacutew XML 427przesy anie z kontrolera do widoku 432 435RegisterModel 196TAP 465

model binding 48model danych encji 348

dodawanie encji 353edycja encji 355kreator 348 349

czenie encji 359metody akcji 354opcje 361projektowanie relacji 43tworzenie 349

schematu bazy danych 357usuwanie encji 357wyboacuter tabel 350

model first 52model zwi zkoacutew encji 347models 16Model-View-Controller 15Model-View-ViewModel 227Model-Widok-Kontroler 15modu

UrlAuthorizationModule 157

Kup książkę Poleć książkę

Skorowidz 535

MVC 15a Web Forms 16 365 367 423

kod 442serwer internetowych us ug

informacyjnych 495wydajno 443wykorzystanie w projektach 444

ataki XSS 185autoryzacja 158 162bezpiecze stwo aplikacji 152buforowanie 134domy lne wzorce aplikacji 21kreator aplikacji 20mechanizm filtrowania 127Model Binder 355nazwa kontrolera 27obs uga interakcji klient-serwer 121parametry opcjonalne 27pobieranie parametru z adresu URL 26projektowanie aplikacji 18 52przetwarzanie dania aplikacji klienckiej 18sprawdzanie poprawno ci danych 68struktura modelu 39techniki walidacji danych 53utworzenie widoku 30uzupe nianie o komponenty graficzne 367walidacja 438wersja 4 449wyboacuter mechanizmu przetwarzaj cego widoki 21wzorce URL 122zbioacuter modeli szablonu aplikacji 196roacuted o danych 40

MVC4 449grupowanie i optymalizacja skryptoacutew 475kaskadowe arkuszye stylu 475przetwarzanie asynchroniczne 464przystosowanie do urz dze mobillnych 457testowanie aplikacji 457uwierzytelnianie 460

integracja z portalem Facebook 462wsparcie dla urz dze mobilnych 450zdalna autoryzacja 461

MVVM 227

Nnarz dzie

aspnet_regiis 187przetwarzanie tekstu 73

Northwindinstalacja 240kwerenda wybieraj ca 240pobieranie informacji o dostawcach 251

NuGET 483nullable-types 27

OOAuth 461obiekt

AppDomain 339 341Chart 406Command 239Connection 239 241

w a ciwo i 243ConnectionString 343

sposoby uwierzytelniania 344szyfrowanie informacji 335

DataAdapter 239DataGridView 491DataReader 239 273DataRow 255

kontrola wprowadzonych danych 263usuwanie rekordoacutew 270wersje 263wersja proponowana 265wersjonowanie 263w a ciwo ci 255

DataSet 239 244 345edycja rekordoacutew 257kreator konfiguracji TableAdapter 274modyfikacja danych 249tworzenie nowych rekordoacutew 250usuwanie rekordoacutew 271wstawianie rekordoacutew 251wymuszenie wi zoacutew integralno ci 292

DataTable 107DirectionsService 35dostawca 153FormCollection 47jqXHR 218List 389logiki biznesowej 348materializacja 348Matrix 390Membership 152MvcRouteHandler 121 122o okre lonym typie danych 244o silnej typizacji 244o s abej typizacji 247ObjectStateManager 348PartialView 98ReportViewer 368ReportViewerLocalReport 418Request 26 101 432Response 26Route 122ShippersRow 255SqlConnCAS 341SqlConnection 326

Kup książkę Poleć książkę

536 ASPNET MVC

obiektTableAdapter 239 244 273 274 345

edycja danych 279 286wstawianie danych 294

TransactionScope 329parametryzacja 331

typuadres 118AppDomain 466ConcurrentDictionary 479NorthwindDataSet 247ObjectSetltTgt 348Route 121Thread 466

UrlRoutingModule 121ViewBag 36

przekazywanie danych do widoku WebForms 376

ViewData 36 79 432Object Relational Mapping 347Object Services 348obs uga b doacutew

konfiguracja 132w czenie 129

odrzucenie informacji o transakcji 148od wie anie witryny

a fragment widoku 97aktualizacja zawarto ci 113cz ciowe 96

OnSuccess 96operator

await 474konkatenacji 382Top 411Top N 411

ORM 347

Pparametr

CountryName 401data 115filtr 117mapDivId 35maxIloscRekordow 117Order 137raportu 395scopeTimeOut 330

warto ci 330TransactionScopeOption

warto ci 329type 115

parametryzacja kwerend 274partial view 30

piaskownica 341Plain Old CLR Object 360platforma NET

us ugi uwierzytelniania 153plik

ascx 22aspx 22bmp 390cookie 151cookies 154 155cshtml 22 434css 475edmx 360jpg 390js 475konfiguracyjny

zabezpieczenie 187master 22png 390rdl 368rdlc 368tekstowy

wy wietlenie w przegl darce 143vbhtml 22

POCO 360pola klucza 237polecenie

HtmlEncode 187ScriptsRender 476StylesRender 476GET 18POST 18

po czenieze roacuted em danych 241

pomocnik HTML 455Portable Document Format 413po rednik 341poziom izolacji 332

Chaos 333konfiguracja 332ReadCommitted 333ReadUncommitted 333Serializable 333Snapshot 333Unspecified 333

poziom zaufania 339ograniczenie 340

proceduraajax 115AjaxBeginForm 96niemapowalna 26PartialView 26serialize 115

Kup książkę Poleć książkę

Skorowidz 537

proces 465programowanie

oparte na zdarzeniach 17zdarzeniowe 17

projekt aplikacji MVCankieta 102asynchroniczne przetwarzanie da HTTP 92Bezpiecze stwo 181 336

nawi zanie komunikacji ze roacuted emdanych 342

szyfrowanie pliku konfiguracyjnego 191dodawanie i wy wietlanie komentarzy 183domy lny 20EksportDanych 413Filtry 131formularz oceny 107Kadry

walidacja adresu e-mail 84Kardy 55KsiegaGosci_MVC3 424lista prezentuj ca dodawane elementy 97MojaNawigacja 18

blokowanie samodzielnego tworzeniakont 224

buforowanie danych 135implementacja warstwy dost pu 42instalacja na serwerze IIS 500komunikat powitalny 168komunikaty 110komunikaty o b dach 173mechanizm podpowiedzi 115model weryfikuj cy po wiadczenia

u ytkownikoacutew 196modele kontrolera uwierzytelnienia 196od wie enie widoku mapy 109struktura 21szablon 19szablon witryny 225trasowanie da HTTP 123uzupe nienie o baz danych 40uzupe nienie o walidacj danych 69widok b du 175zablokowanie nieautoryzowanego

dost pu 128zarz dzanie u ytkownikami 163zarz dzanie grupami u ytkownikoacutew 212zarz dzanie procesem logowania 198

MsAjax 92NorthwindMVC 241

lista rekordoacutew 301szablon witryny 250

POCO 361priorytety regu filtrowania 137

Raport 368szablon

mechanizmy uwierzytelnienia 156zarz dzanie grupami u ytkownikoacutew 159

Transakcje 319aktualizacja danych 328formularz aktualizacji 328szablon stron 320

uzupe nianie widokiem GridView 49WyrazeniaRegularne 76Zapytania_EF 349

projekt aplikacji MVC4AsynchronicznyKontroler 466

prezentacja danych 468AutoryzacjaOAuth 461implementacja serwisu sieciowego 479konfiguracja grupowania 475MobileMvc 450

testowanie 457pobranie zdj cia 452przygotowanie listy pracownikoacutew 452SerwisSieciowy 477

projekt aplikacji Windows Formsedycja danych 487KlientWebAPI 483tworzenie nowych pracownikoacutew 486

dania typuDELETE 493POST 486PUT 491

projektowaniekontrolera 27widoku 31

protokoacuteFTP 495Kerberos 150NTLM 150SMTP 495SSL 337

proxy 341przechowywanie

informacji o trasach 44wynikoacutew g osowania 107

przeci enie aplikacji 147przekazywanie

danych 44mi dzy widokiem a kontrolerem 36

parametroacutew do metod akcji kontrolera 26przestrze nazw

SystemThreading 465przyjazne linki 122publikowanie aplikacji 495 500

na serwerze IIS 497

Kup książkę Poleć książkę

538 ASPNET MVC

pule aplikacji 465 497konfiguracja 498Windows 7 499Windows 8 500

Rraporty

dane w postaci macierzowej 390data 386definicja

dynamiczna 418filtrowanie danych 394

na poziomie roacuted a 401 418filtry 395formaty prezentacji danych 379grupowanie danych 381hiper cza 387

nawigacyjne 376kolumny obliczeniowe 378konfiguracja

filtrowania dynamicznego 396typu 392roacuted a danych 368

kreator formu 382macierzowe 391numery stron 386obrazy 390parametry 383 394

konfiguracja 399paski narz dziowe 379pola

bazy danych 386formularza 398raportu 390

po czenie z aplikacj 368prezentowanie uk adu graficznego 383projektowanie 371

i prezentowanie 368przystosowanie strony do obs ugi raportoacutew

387renderowanie 368tryby definicji 368tworzenie

definicji lokalnej 368formu 378przy u yciu kreatora 372

uk ad 383wstawianie nag oacutewka i stopki 385wykresy 406wy wietlenie 375

Razor 21 30przetwarzanie definicji widoku 208

RDL 418rekordy

edycja 307lista 301tworzenie 311usuwanie 305

Relationship 347Report Definition Language 418Report Wizard 371repudiation 148request 442response 442responsywno 464rollback transaction 319routing 22 430routowanie 121

SSandBox 341scaffolding 301Secure Socket Layer 337sekcja

membership 178roleManager 179set 441

serwerSMTP

konfiguracja 171us ug informacyjnych 149

weryfikacja to samo ci u ytkownika 149Simple Mail Transfer Protocol 495s owo kluczowe

helper 455await 474using 47 329

spaghetti code 18spoofing 147SQL Server Reporting Services 367SSRS 367stan pola

typu CheckBox 269pobieranie 264

STRIDE 148strona startowa

MojaNawigacja 226strona wzorcowa 30

aplikacji Kadry 55referencja do bibliotek skryptoacutew 70

systemowy serwer us ug informacyjnych 121szyfrowanie po czenia 335

ze roacuted em danych 336

Kup książkę Poleć książkę

Skorowidz 539

Ttabela danych

Categories 418Customers 305deklaracje kaskadowych arkuszy stylu 275edycja

danych 279danych w wierszu 257rekordoacutew 307 310

Employees 240 288filtrowanie listy 275integralno danych 288Konta 321 326kwerenda wybieraj ca 240Orders 291 315OrdersDetails 307pobieranie fotografii 276pobranie danych z wykorzystaniem JScript 280prezentacja

danych 277 325informacji 252listy danych 248pierwszego rekordu 246rekordoacutew 317

przekazanie do widoku 248Shippers 251tworzenie rekordoacutew 311umieszczenie w bazie danych 321uruchomienie edycji danych 258usuwanie

danych 288rekordoacutew 271 305 306

widok b du 268wstawianie

danych 294rekordoacutew 251

wy wietlenie listykonfiguracja hiper cza 315

zako czenie edycji rekordu 267tablica asocjacyjna 479tablica bajtoacutew

konwersja do bitmapy 277tampering 147task pane 371Task-based Asynchronous Pattern 465TDD 15

test jednostkowy funkcjonalno ci kontrolera28

Test-Driven Development 15testowanie

aplikacji 29wzorcoacutew wyra e regularnych 76 78

Toolbox 274

transakcje 319automatyczne zarz dzanie 327otaczaj ce 329poziom izolacji 332tworzenie i r czna kontrola 319

trasowanie 121aplikacja 430blokowanie dost pu 124domy lne regu y 123Ksi gaGosci_MVC3 430w asne regu y 124

trasowanie adresoacutew URL 121T-SQL 319

czynno ci bazodanowe 345tworzenie

bazy danych 40interfejsu u ytkownika

jQM 459szablony 231wzorzec MVVM 227

u ytkownika 200kody b doacutew 201

widoku Index 231wzorcoacutew wyra e regularnych 76

typed DataSet 244typizacja

silna 46s aba 46

typy puste 27

Uujawnienie krytycznych informacji 147ukryte pola 441Uniform Resource Locator 18URL 18uruchomienie aplikacji 503us uga

AspNetSqlProvider 178ustawienia aplikacji 167

odczytanie z pliku konfiguracyjnego 169UTC 155uwierzytelnienie 149

centralny serwis 151certyfikaty 150formularze logowania 151

atrybuty elementu forms 154konfiguracja 153mechanizmy zintegrowane z ASPNET 149na bazie protoko u NTLM 150przekazywanie informacji 151proste 150skroacutecone 150us ugi systemu Windows 150

Kup książkę Poleć książkę

540 ASPNET MVC

Vvariable placeholders 122view engine 21views 16viewstate 442Visual Studio

kreator projektu 19Visual Studio Development Server 496VS 2012

instalacja 240kreator Add New Item 242

VSDS 496

Wwalidacja

adresue-mail 83URL 83WWW 84

danych 53a technologia Entity Framework 68konfiguracja 66modelu Pracownik 66odwo anenie do jQuery 61po stronie klienta 67wyra enia regularne 73

skrypty i style walidatoroacutew 438w asno ci klasy encji 435

w tek 465Web API 477

edycja danych 491klient 483konfiguracja interfejsu 478obs uga da typu POST 486pobranie danych z serwera 485serwis sieciowy 479usuwanie danych 493

web serwer 495Web Site Administration Tool 161

konfigurowanie uprawnie 165zarz dzanie

dostawcami us ug 178u ytkownikami 163

WebForms 17bezpiecze stwo aplikacji 152integracja komponentoacutew z MVC 367kontrolka Repeater 434obs uga wyj tkoacutew 172przetwarzanie dania aplikacji klienckiej 18separacja modelu 427weryfikacja poprawno ci projektu 434

weryfikacjakodu pocztowego 81to samo ci 151

widok 16 25 30aplikacji

MVC4 453przystosowanie do urz dze mobilnych

459Transakcje 326

cz ciowy 30dodawanie 31edycji klienta 307elementy 31formularz

dodawania wpisu 425logowania 203

kontroleraaplikacja Kadry 58panelu administracyjnego 222

kontrolera AdminController 213kontrolera Dopasowania 77kontrolera ErrorControler 174kontrolera Glosowania 103kontrolera Home 131 169 182 307

metodaWyswietlLog 142Raport 375Transakcje 320

kontrolera HomeController 246AsynchronicznyKontroler 468EksportDanych 417

kontrolera Lista 93kontrolera Mapa 33 34

formularz 70Trasa 50

kreatorakonta u ytkownika 205zmiany has a 206

listyklientoacutew 302pracownikoacutew 61wyznaczonych tras 48zamoacutewie 316

mapyod wie enie 108parametryzacja 34

mechanizm przetwarzania 30modyfikowanie formularza 437obs uga wyj tkoacutew 130Pracownicycshtml 453projektowanie 31transfer danych do kontrolera 36typu CRUD 52

Kup książkę Poleć książkę

Skorowidz 541

typu GridViewimplementacja 48

typy plikoacutew 30utworzenie 30uzupe nianie tre ci 33walidacja 435wi zanie z modelem 437wstawianie rekordoacutew 312wynikoacutew ankiety 105wy wietlanie wpisoacutew 432

wielodziedziczenie 360Windows Authentication Provider 149Windows Data Protection API 187Windows Forms

implementacja klienta 483Windows Live ID 149w a ciwo

ConnectionString 243IsMobileDevice 460ModelStateIsValid 47

wstawianie rekordoacutew 299wstrzykni cie kodu 181 185wykresy 406

konfiguracjaserii danych 407typu 407

pobranie danych roacuted owych 408wy czenie aplikacji 171wyra enia lambda 46wyra enia regularne 73

atrybuty modelu 84liczba wyst pie sk adnikoacutew 76wzorzec

adres URL 83imi e skie 81kod pocztowy 80tworzenie 76

znaki i cyfry 74znaki specjalne 74znaki w wyznaczonych miejscach a cucha 75

wzorzecodnajdywanie

znakoacutew i cyfr 74znakoacutew specjalnych 74znakoacutew w wyznaczonych miejscach

a cucha 75okre lanie

liczby wyst pie znakoacutew 76

XXSS 181

Zzabezpieczenia

aplikacji bazodanowych 335ataki XSS 187informacje o b dach 171kodu po redniego 338konfiguracja 161konfiguracja aplikacji

kreatory 162obs uga wyj tkoacutew 171pliku konfiguracyjnego 167 187przed atakami 148ustawienia aplikacji 167witryny 181zarz dzanie dostawcami us ug 178z o liwy kod 181

zarz dzanieu ytkownikami i grupami 211

dost p do panelu administracyjnego 216lista grup 221podzia na grupy 220pobieranie listy 213tworzenie nowej grupy 222zmiana przynale no ci do grupy 215

z o ono ci aplikacji 16zdarzenie

DataGridViewCellDoubleClick 491rejestrowanie 430

z o liwy koddzia anie 181

znacznikinput 288

znaki specjalneodnajdywanie 74

zwi zanie z modelem 48zwi zek 347

danie 25asynchroniczna obs uga 92 466 470

skrypty 318zadania 473

GET 64POST 64przetwarzanie 127zablokowanie obs ugi 124

Kup książkę Poleć książkę

Notatki

Kup książkę Poleć książkę

Spis tre ci

Przedmowa 9

Wst p 11

Cz I ASPNET MVC 13

Rozdzia 1 Podstawowe aspekty projektu aplikacji ASPNET MVC 15ASPNET MVC 15Projekt aplikacji MVC 18Szablon projektu 19Struktura projektu aplikacji ASPNET MVC 21Podsumowanie 23

Rozdzia 2 Kontroler i widok 25Funkcje i metody kontrolera 25Projektowanie kontrolera 27Widok 30

Projektowanie widoku 31Transfer danych mi dzy widokiem a kontrolerem 36Podsumowanie 37

Rozdzia 3 Model 39Wprowadzenie 39Baza danych 40Warstwa dost pu do bazy danych 42Logika biznesowa 44Implementacja widoku typu GridView 48Podsumowanie 52

Rozdzia 4 Walidacja danych 53Wprowadzenie 53Atrybuty modelu i walidacja danych w praktyce 55

Przygotowanie projektu aplikacji Kadry 55Widoki kontrolera 58

Kup książkę Poleć książkę

4 ASPNET MVC

Kontroler 63Konfiguracja walidacji danych 66

Walidacja danych po stronie klienta 67Walidacja danych a technologia ADONET Entity Framework 68Podsumowanie 71

Rozdzia 5 Wyra enia regularne a kontrola poprawno ci danych 73Podstawowe informacje o wyra eniach regularnych 73Odnajdywanie znakoacutew specjalnych 74Odnajdywanie znakoacutew i cyfr 74Odnajdywanie znakoacutew w wyznaczonych miejscach a cucha 75Okre lanie liczby wyst pie podanych znakoacutew 76Tworzenie wzorcoacutew 76

Aplikacja 76Kod pocztowy 80Imi e skie 81Walidacja adresu URL 83

Atrybuty modelu wykorzystuj ce wyra enia regularne 84Podsumowanie 88

Rozdzia 6 Asynchroniczne aplikacje internetowe mdash Microsoft AJAX 91Wprowadzenie 91Aktualizacja zawarto ci wybranego elementu witryny 92Cz ciowe od wie anie witryny a fragment widoku 97Ankieta (modu do g osowania) 102Od wie enie widoku mapy serwisu Google 108

Rozdzia 7 Technologia AJAX a biblioteka jQuery 113Wprowadzenie 113Aktualizacja zawarto ci wybranego elementu witryny 113Automatyczne uzupe nienie pola tekstowego 115Mechanizm IntelliSense a sk adnia jQuery 119Podsumowanie 120

Rozdzia 8 Trasowanie adresoacutew URL 121Wprowadzenie 121Wzorce URL 122Domy lne regu y trasowania i wzorce URL 123W asne regu y trasowania 124Zablokowanie obs ugi wybranych da 124Podsumowanie 126

Rozdzia 9 Filtry 127Wprowadzenie 127Podstawowe atrybuty filtroacutew 128

[Authorize] 128[HandleError] 129[OutputCache] 133[RequireHttps] 135[NonAction] 135

Kolejno wykonywania filtroacutew 137

Kup książkę Poleć książkę

Spis tre ci 5

Implementacja w asnych filtroacutew 139Filtry akcji 139Filtry autoryzacyjne wyniku i wyj tkoacutew 144

Podsumowanie 146

Rozdzia 10 Bezpieczne aplikacje internetowe 147Potrzeba zabezpiecze 147Uwierzytelnienie i autoryzacja 149

Mechanizmy uwierzytelnienia zintegrowane z ASPNET 149Konfiguracja uwierzytelnienia 153Autoryzacja 157Grupy u ytkownikoacutew 158

Podsumowanie 160

Rozdzia 11 Konfiguracja zabezpiecze i panel Web Site Administration Tool 161Wprowadzenie 161U ytkownicy grupy i regu y dost pu 163Ustawienia aplikacji oraz odczyt zawarto ci pliku konfiguracyjnego 167Wy czenie aplikacji i konfiguracja serwera SMTP 171Komunikaty o b dach 171Zarz dzanie dostawcami us ug 178Podsumowanie 179

Rozdzia 12 Zabezpieczenie witryny przed z o liwym kodem 181Wprowadzenie 181Dzia anie z o liwego kodu 181Zabezpieczanie pliku konfiguracyjnego 187Podsumowanie 192

Rozdzia 13 Kontroler uwierzytelnienia w aplikacji ASPNET MVC 195Wprowadzenie 195Model 195Klasa kontrolera 198Widoki kontrolera 203Podsumowanie 209

Rozdzia 14 Dynamiczne zarz dzanie u ytkownikami i grupami 211Wprowadzenie 211Kontroler panelu administracyjnego 212Podzia u ytkownikoacutew na grupy 219Podsumowanie 224

Rozdzia 15 Biblioteka Knockout 227Knockout czyli interfejs u ytkownika z wykorzystaniem wzorca MVVM 227Knockout mdash wykorzystanie szablonoacutew JavaScript 230

Cz II Technologie bazodanowew aplikacjach internetowych 235

Rozdzia 16 Podstawy ADONET 237Podstawy relacyjnych baz danych 237Technologia ADONET 238

Kup książkę Poleć książkę

6 ASPNET MVC

Instalacja bazy Northwind 240Po czenie ze roacuted em danych 241Modyfikacja danych w obiekcie DataSet 249

Tworzenie nowych rekordoacutew 250Edycja rekordoacutew 257Wersjonowanie obiektu DataRow i kontrola wprowadzanych danych 263Usuwanie rekordoacutew 270

Rozdzia 17 Obiekt TableAdapter jako pomost mi dzy DataSeta roacuted em danych 273Parametryzacja kwerend 274Edycja danych przy u yciu obiektu TableAdapter 279Integralno danych i ich usuwanie 288Wstawianie danych z wykorzystaniem obiektu TableAdapter 294

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie internetowychaplikacji bazodanowych 301Lista rekordoacutew 301Usuwanie rekordoacutew 305Edycja rekordoacutew 307Tworzenie rekordoacutew 311Formularz z podformularzem (MasterDetail Form) 315

Rozdzia 19 Transakcje 319Tworzenie i r czna kontrola transakcji 319Automatyczne zarz dzanie transakcjami 327Konkurencyjno i poziom izolacji transakcji 332

Rozdzia 20 Bezpiecze stwo w aplikacjach bazodanowych 335Szyfrowanie po czenia 335Zabezpieczenie kodu po redniego przy pomocy Code Access Security (CAS) 338ConnectionString a sposoby uwierzytelnienia w serwerze MS SQL Server 344Uwagi ko cowe dotycz ce projektowania aplikacji bazodanowych 345

Rozdzia 21 Entity Framework 347Podstawy Entity Framework 348

Pierwsze zapytanie 348Detale produktu 352Dodawanie nowego produktu 353Edycja produktu 355Usuwanie produktu 357Tworzenie schematu bazy danych na bazie modelu encji 357Entity Framework i POCO 360

Cz III ASPNET MVC a ASPNET WebForms 365

Rozdzia 22 Integracja komponentoacutew WebForms z aplikacj ASPNET MVCna przyk adzie technologii SQL Server Reporting Services 367Pierwszy raport 368

Konfiguracja roacuted a danych 368Projektowanie raportu 371

Kup książkę Poleć książkę

Spis tre ci 7

Kolumny obliczeniowe raportu 378Stosowanie formatu prezentacji danych 379Grupowanie danych 381

Projektowanie graficznego uk adu raportu 383Etykiety rysunki i listy 384Prezentacja danych w postaci macierzowej 390

Parametry raportu i filtrowanie danych 394Filtr definiowany na poziomie raportu 395Filtrowanie raportu na etapie pobierania danych roacuted owych 401

Kluczowe wska niki efektywno ci 403Wykresy 406

Rozdzia 23 Eksport danych 413

Rozdzia 24 Ksi ga go ci w MVC Poroacutewnanie ASPNET Web Formsi ASPNET MVC 423Tworzenie projektu 423Widok mdash formularz dodawania wpisu 425Model mdash obs uga plikoacutew XML 427Aplikacja mdash rejestrowanie zdarze i trasowanie 430Kontroler mdash obs uga POST 431Widok mdash wy wietlanie wpisoacutew 432Widok mdash walidacja 435Kontroler mdash u ycie modelu odsy anego przez widok 440

Dodatki 447

Dodatek A ASPNET MVC 4 449Wsparcie dla urz dze mobilnych 449

Sformu owanie problemu 450Przystosowanie widokoacutew aplikacji do urz dze mobilnych 457

OAuth czyli otwarta autoryzacja 460Implementacja zdalnej autoryzacji w powi zaniu z portalem Facebook 461

Przetwarzanie asynchroniczne 464Wprowadzenie 464Potrzeba wykorzystania asynchronicznych kontroleroacutew 466Kontrolery asynchroniczne i klasa Thread 469Kontrolery asynchroniczne a zadania 472

Grupowanie i optymalizacja skryptoacutew oraz kaskadowych arkuszy styloacutew 475Web API 477

Wprowadzenie 477Implementacja serwisu sieciowego 479Implementacja klienta Web API 483

Podsumowanie 494

Dodatek B Publikacja aplikacji ASPNET za pomoc internetowychus ug informacyjnych (IIS) 495Wprowadzenie 495Instalacja i konfiguracja serwera internetowych us ug informacyjnych IIS 496

Instalacja serwera IIS w systemie Windows 7 496Instalacja serwera IIS w systemie Windows 8 496

Kup książkę Poleć książkę

8 ASPNET MVC

Publikowanie aplikacji na serwerze IIS 497Konfiguracja puli aplikacji 498Instalacja ASPNET 445 na serwerze IIS 498Publikacja aplikacji 500Uruchomienie aplikacji 503

IIS jako serwer do rozwoju aplikacji 504

Dodatek C ASPNET Identity w MVC 5 i Visual Studio 2013 505Wst p 505Szablony projektoacutew ASPNET w Visual Studio 2013 505Kontroler zarz dzaj cy u ytkownikami i rolami 508

Dynamiczne zarz dzanie u ytkownikami 509Statyczne zarz dzanie rolami 519Dynamiczne zarz dzanie rolami 519

Przyk adowe wykorzystanie roacutel 524Podsumowanie 526

Skorowidz 527

Kup książkę Poleć książkę

Rozdzia 18

Scaffolding czyliekspresowe tworzenieinternetowych aplikacjibazodanowych

Dawid Borycki

W dwoacutech poprzednich rozdzia ach samodzielnie utworzyli my komponenty prezentuj -ce dane rekordoacutew z bazy danych a tak e umo liwiaj ce ich edycj i usuwanie Wyko-rzystali my do tego celu bibliotek jQuery UI W tym rozdziale chcia bym zaprezen-towa tak zwany scaffolding Jest to procedura dost pna mi dzy innymi w aplikacjachASPNET MVC umo liwiaj ca automatyczne wygenerowanie widokoacutew (komponen-toacutew) aplikacji internetowej ktoacutere realizuj bazodanowy schemat CRUD (ang CreateRead Update Delete) Schemat CRUD obejmuje podstawowe elementy wszystkichaplikacji bazodanowych czyli tworzenie odczytywanie aktualizowanie i usuwanierekordoacutew z tabel danych

Lista rekordoacutewOpis techniki scaffolding w aplikacjach ASPNET MVC rozpoczn od wygenerowa-nia widoku listy rekordoacutew w aplikacji NorthwindMVC Automatycznie wygenerowa-ny widok skoryguj w celu dostosowania go do potrzeb aplikacji

1 G oacutewny widok aplikacji NorthwindMVC (plik Indexcshtml) uzupe nijo nast puj ce polecenie

ltpgt HtmlActionLink(Scaffolding ScaffoldingList)ltpgt

Kup książkę Poleć książkę

302 Cz II Technologie bazodanowe w aplikacjach internetowych

2 W Solution Explorer rozwi w ze Views a nast pnie kliknij prawymprzyciskiem myszy folder Home

3 Wybierz opcj Add a nast pnie Viewhellip z menu kontekstowego

4 W kreatorze Add View (rysunek 181)

Rysunek 181Widok kreatoraAdd View

a) Zmie nazw widoku na ScaffoldingList

b) Zaznacz pole wyboru Create a strongly-typed view

c) Z listy dost pnych modeli wybierz pozycj CustomersRow

d) Z listy rozwijanej Scaffold template wybierz List

e) Kliknij przycisk Add

5 Utworzony w ten sposoacuteb plik ScaffoldingListcshtml zmodyfikuj wed ugwzoru z listingu 181

Listing 181 Zmodyfikowany widok listy klientoacutew

model IEnumerableltNorthwindMVCModelsNorthwindDataSetCustomersRowgt

ViewBagTitle = ScaffoldingList

lth2gtScaffoldingListlth2gtlth2gtLista klientoacutewlth2gt

ltpgt HtmlActionLink(Create New Create) HtmlActionLink(Nowy rekord ScaffoldingCreate)ltpgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 303

lttablegt lttrgt ltthgt CustomerID ltthgt ltthgt CompanyName ltthgt ltthgt ContactName ltthgt ltthgt ContactTitle ltthgt ltthgt Address ltthgt ltthgt City ltthgt ltthgt Region ltthgt ltthgt PostalCode ltthgt ltthgt Country ltthgt ltthgt Phone ltthgt ltthgt Fax ltthgt ltthgt RowError ltthgt ltthgt HasErrors ltthgt ltthgtltthgt lttrgt

foreach (var item in Model) lttrgt lttdgt HtmlDisplayFor(modelItem =gt itemCustomerID) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCompanyName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactName) lttdgt lttdgt

Kup książkę Poleć książkę

304 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlDisplayFor(modelItem =gt itemContactTitle) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemAddress) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCity) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemRegion) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemPostalCode) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCountry) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemPhone) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemFax) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemRowError) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemHasErrors) lttdgt lttdgt HtmlActionLink(Edytuj ScaffoldingEdit new id = itemCustomerID ) | HtmlActionLink(Zamoacutewienia ScaffoldingMasterDetail new id = itemCustomerID ) | HtmlActionLink(Usu ScaffoldingDelete new id = itemCustomerID ) lttdgt lttrgt

lttablegt

6 W pliku HomeControllercs

a) Utwoacuterz pole klasyCustomersTableAdapter customersTableAdapter = new CustomersTableAdapter()

b) Dodaj polecenia z listingu 182

Listing 182 Prezentacja listy klientoacutew

private void PobierzDaneKlientow() northwindDataSetEnforceConstraints = false customersTableAdapterFill(northwindDataSetCustomers)

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 305

northwindDataSetEnforceConstraints = true

public ActionResult ScaffoldingList() PobierzDaneKlientow() return View(ScaffoldingList northwindDataSetCustomers)

7 Skompiluj i uruchom aplikacj

Po uruchomieniu aplikacji i klikni ciu hiper cza z etykiet Scaffolding zostanie wy-wietlona lista klientoacutew ktoacuterej posta powinna by analogiczna do przedstawionej na

rysunku 182 W kolejnym kroku zaimplementujemy mo liwo usuwania edycji oraztworzenia rekordoacutew w tabeli Customers

Rysunek 182 Lista klientoacutew

Usuwanie rekordoacutewW celu zaimplementowania mo liwo ci usuwania rekordoacutew z tabeli Customers wyko-naj nast puj ce czynno ci

1 W widoku projektowania obiektu NorthwindDataSet skonfiguruj relacjpomi dzy tabelami Orders i Customers wed ug wzoru z rysunku 183

2 Klas kontrolera Home uzupe nij o polecenia z listingu 183

Kup książkę Poleć książkę

306 Cz II Technologie bazodanowe w aplikacjach internetowych

Rysunek 183Konfiguracja wi zoacutewintegralno ci danych

Listing 183 Usuwanie rekordoacutew z tabeli Customers

private void AktualizujDaneKlientow() northwindDataSetEnforceConstraints = false

orderDetailsTableAdapterUpdate(northwindDataSetOrder_Details) ordersTableAdapterUpdate(northwindDataSetOrders) customersTableAdapterUpdate(northwindDataSetCustomers)

northwindDataSetEnforceConstraints = true

public ActionResult ScaffoldingDelete(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) if (cdr = null) Usuwanie rekordoacutew potomnych DataRow[] zamowienia = cdrGetChildRows(northwindDataSetRelations[FK_Orders_Customers])

foreach (DataRow dr in zamowienia) drDelete()

Usuwanie rekordu klienta cdrDelete()

Aktualizacja wszystkich powi zanych tabel AktualizujDaneKlientow()

return ScaffoldingList()

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 307

Podczas usuwania danego rekordu nale y zadba o rekordy z innych tabel ktoacutere sz nim zwi zane relacjami Wiersze tabeli Customers s skojarzone z rekordami z tabelOrders oraz OrdersDetails Z tego powodu aktualizuj zawarto ci tych tabel po usu-ni ciu wybranego rekordu klienta Osierocone rekordy z tabeli Orders s usuwane ra-zem z nim

Edycja rekordoacutewDo edycji rekordoacutew w tabeli Customers potrzebny b dzie odpowiedni widok ktoacuteryprzygotuj na bazie automatycznie wygenerowanego kodu roacuted owego

1 Zgodnie z przepisem z podrozdzia u bdquoLista rekordoacutewrdquo utwoacuterz widokkontrolera Home i skonfiguruj go wed ug wzoru z rysunku 184

Rysunek 184Konfiguracja widokuedycji klienta

2 Wygenerowany automatycznie plik widoku ScaffoldingEditcshtmlzmodyfikuj zgodnie z listingiem 184

Listing 184 Definicja widoku edycji klienta

model NorthwindMVCModelsNorthwindDataSetCustomersRow

ViewBagTitle = ScaffoldingEdit

lth2gtScaffoldingEditlth2gtlth2gtEdycja rekordulth2gt

ltscript src=UrlContent(~Scriptsjqueryvalidateminjs)type=textjavascriptgtltscriptgt

Kup książkę Poleć książkę

308 Cz II Technologie bazodanowe w aplikacjach internetowych

ltscript src=UrlContent(~Scriptsjqueryvalidateunobtrusiveminjs)type=textjavascriptgtltscriptgt

using (HtmlBeginForm(EdytujDaneKlienta Home new id = ModelCustomerID)) HtmlValidationSummary(true) ltfieldsetgt ltlegendgtDane klientaCustomersRowltlegendgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCustomerID) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCustomerID) HtmlValidationMessageFor(model =gt modelCustomerID) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCompanyName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCompanyName) HtmlValidationMessageFor(model =gt modelCompanyName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactName) HtmlValidationMessageFor(model =gt modelContactName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactTitle) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactTitle) HtmlValidationMessageFor(model =gt modelContactTitle) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelAddress) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelAddress) HtmlValidationMessageFor(model =gt modelAddress) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCity) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCity) HtmlValidationMessageFor(model =gt modelCity) ltdivgt

ltdiv class=editor-labelgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 309

HtmlLabelFor(model =gt modelRegion) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRegion) HtmlValidationMessageFor(model =gt modelRegion) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPostalCode) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPostalCode) HtmlValidationMessageFor(model =gt modelPostalCode) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCountry) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCountry) HtmlValidationMessageFor(model =gt modelCountry) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPhone) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPhone) HtmlValidationMessageFor(model =gt modelPhone) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelFax) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelFax) HtmlValidationMessageFor(model =gt modelFax) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRowError) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRowError) HtmlValidationMessageFor(model =gt modelRowError) ltdivgt

ltpgt ltinput type=submit value=SaveZapisz gt ltpgt ltfieldsetgt

ltdivgt HtmlActionLink(Back to List Index) HtmlActionLink(Powroacutet do listy rekordow ScaffoldingList)ltdivgt

Kup książkę Poleć książkę

310 Cz II Technologie bazodanowe w aplikacjach internetowych

3 W kontrolerze Home zdefiniuj metody z listingu 185

Listing 185 Edycja danych klienta

public ActionResult ScaffoldingEdit(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id)

if (cdr = null) return View(ScaffoldingEdit cdr) else return ScaffoldingList()

private void PrzepiszDaneKlienta(FormCollection daneKlienta refNorthwindDataSetCustomersRow rekordKlienta)

rekordKlientaCompanyName = daneKlienta[CompanyName]ToString() rekordKlientaContactName = daneKlienta[ContactName]ToString() rekordKlientaContactTitle = daneKlienta[ContactTitle]ToString() rekordKlientaAddress = daneKlienta[Address]ToString() rekordKlientaCity = daneKlienta[City]ToString()

public ActionResult EdytujDaneKlienta(FormCollection daneKlienta string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) if (cdr = null) PrzepiszDaneKlienta(daneKlienta ref cdr) AktualizujDaneKlientow() return ScaffoldingList()

Proces edycji rekordu w bazie danych za pomoc technologii ADONET opiera si nainformacjach zebranych w poprzednich rozdzia ach wi c nie b d go tu szczegoacute owoopisywa Celem tego przyk adu by o automatyczne wygenerowanie widoku umo li-wiaj cego edycj danych klienta przystosowanie go do w asnych potrzeb oraz inte-gracja z kontrolerem

Separacja modelu widoku i kontrolera umo liwia narz dziom Visual Studio 2012 auto-matyczne generowanie widoku na podstawie definicji modelu Jednak e jak pokaza-em w tym podrozdziale kreator tworzy widok ktoacutery umo liwia edycj wszystkich poacutel

rekordu (nawet identyfikatora) co sprawia e w wi kszo ci przypadkoacutew nale y sa-modzielnie edytowa plik widoku w celu przystosowania go do potrzeb projektowanejaplikacji Jednak jak pokazuje powy szy przyk ad nie jest to rzecz skomplikowan

Integracja widoku z kontrolerem polega na odpowiednim przekazywaniu informacjio edytowanym rekordzie oraz warto ci jego poacutel Do tego celu wykorzysta em identy-fikator klienta ktoacutery jednoznacznie identyfikuje rekordy w tabeli Customers

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 311

Przyk adowy wynik polece zaimplementowanych w tym podrozdziale przedstawiarysunek 185

Rysunek 185Edycja danych klienta

Tworzenie rekordoacutewW poprzednich podrozdzia ach zaimplementowa em trzy spo roacuted czterech podstawo-wych elementoacutew schematu CRUD czyli odczytywanie (R) aktualizacj (U) oraz usu-wanie (D) rekordoacutew Ostatnim elementem jest tworzenie (C) nowych rekordoacutew W celuzaimplementowania procedury uzupe niania tabeli Customers nowymi rekordami na-le y post pi nast puj co

1 W Solution Explorer rozwi w ze Views a nast pnie kliknij prawymprzyciskiem myszy folder Home

2 Wybierz opcj Add a nast pnie Viewhellip z menu kontekstowego

3 W kreatorze Add View

a) Zmie nazw widoku na ScaffoldingCreate

b) Zaznacz pole wyboru Create a strongly-typed view

c) Z listy dost pnych modeli wybierz pozycj CustomersRow

d) Z listy rozwijanej Scaffold template wybierz Create

e) Kliknij przycisk Add

4 Utworzony w ten sposoacuteb plik ScaffoldingCreatecshtml zmodyfikuj wed ugwzoru z listingu 186

Kup książkę Poleć książkę

312 Cz II Technologie bazodanowe w aplikacjach internetowych

Listing 186 Widok umo liwiaj cy wstawianie rekordoacutew do tabeli Customers

model NorthwindMVCModelsNorthwindDataSetCustomersRow

ViewBagTitle = ScaffoldingCreate

lth2gtScaffoldingCreatelth2gtlth2gtTworzenie rekordulth2gt

ltscript src=UrlContent(~Scriptsjqueryvalidateminjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~Scriptsjqueryvalidateunobtrusiveminjs)type=textjavascriptgtltscriptgt

using (HtmlBeginForm(DodajKlienta Home)) HtmlValidationSummary(true) ltfieldsetgt ltlegendgtDane klientaCustomersRowltlegendgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCustomerID) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCustomerID) HtmlValidationMessageFor(model =gt modelCustomerID) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCompanyName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCompanyName) HtmlValidationMessageFor(model =gt modelCompanyName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactName) HtmlValidationMessageFor(model =gt modelContactName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactTitle) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactTitle) HtmlValidationMessageFor(model =gt modelContactTitle) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelAddress) ltdivgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 313

ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelAddress) HtmlValidationMessageFor(model =gt modelAddress) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCity) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCity) HtmlValidationMessageFor(model =gt modelCity) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRegion) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRegion) HtmlValidationMessageFor(model =gt modelRegion) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPostalCode) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPostalCode) HtmlValidationMessageFor(model =gt modelPostalCode) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCountry) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCountry) HtmlValidationMessageFor(model =gt modelCountry) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPhone) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPhone) HtmlValidationMessageFor(model =gt modelPhone) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelFax) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelFax) HtmlValidationMessageFor(model =gt modelFax) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRowError) ltdivgt ltdiv class=editor-fieldgt

Kup książkę Poleć książkę

314 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlEditorFor(model =gt modelRowError) HtmlValidationMessageFor(model =gt modelRowError) ltdivgt

ltpgt ltinput type=submit value=CreateUtwoacuterz gt ltpgt ltfieldsetgt

ltdivgt HtmlActionLink(Back to List Index) HtmlActionLink(Powroacutet do listy ScaffoldingList)ltdivgt

5 Definicj kontrolera Home uzupe nij o polecenia z listingu 187

Listing 187 Wstawianie rekordoacutew do tabeli Customers

private char PobierzZnak(string lancuch int index) Random random = new Random() char znak

if (lancuchLength gt index) znak = lancuch[index] else znak = (char)randomNext(0 255)ToString()[0]

return znak

private void UtworzIdentyfikatorKlienta(ref NorthwindDataSetCustomersRowdaneKlienta)

string identyfikator = int indexZnaku = 0

identyfikator += PobierzZnak(daneKlientaCompanyName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactTitle indexZnaku) identyfikator += PobierzZnak(daneKlientaAddress indexZnaku) identyfikator += PobierzZnak(daneKlientaCity indexZnaku)

daneKlientaCustomerID = identyfikator

public ActionResult DodajKlienta(FormCollection daneKlienta string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersNewCustomersRow()

PrzepiszDaneKlienta(daneKlienta ref cdr)

UtworzIdentyfikatorKlienta(ref cdr)

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 315

customersTableAdapterInsert(cdrCustomerID cdrCompanyName cdrContactName cdrContactTitle cdrAddress cdrCity )

AktualizujDaneKlientow()

return ScaffoldingList()

Wstawienie rekordoacutew do tabeli Customers jest analogiczne do ich edycji Jedyn roacute -nic jest konieczno utworzenia identyfikatora klienta gdy nie jest on tworzonyautomatycznie jak to by o w przypadku tabeli Employees Identyfikatory rekordoacuteww tabeli Customers s pi cioelementowymi ci gami znakoacutew Tworz je na podstawiepierwszych liter poacutel CompanyName ContactName ContactTitle Address oraz City Je liw tych polach znajduj si puste ci gi to odpowiedni liter zast puj losowo wyge-nerowanym znakiem

W kolejnym podrozdziale poka w jaki sposoacuteb wy wietli informacje o rekordachpotomnych opieraj c si na relacji pomi dzy tabelami

Formularz z podformularzem(MasterDetail Form)

Jako podsumowanie tego rozdzia u utworz formularz z podformularzem tak zwanyformularz MasterDetail Jego dzia anie polega na tym e wy wietlanie danych od-bywa si na bazie co najmniej dwoacutech komponentoacutew (np blokoacutew czy tabel) oraz rela-cji mi dzy tabelami Pierwszy komponent prezentuje rekordy zawarte w tabeli g oacutew-nej (ang master) a drugi zawiera dane z tabeli podrz dnej (ang detail) Komponentzwi zany z tabel podrz dn ma zazwyczaj za zadanie prezentowa szczegoacute owe da-ne odpowiadaj ce rekordowi z tabeli nadrz dnej ktoacutery zosta wskazany przy pomocyzwi zanej z nim listy rekordoacutew Pola tych tabel musz by zatem uporz dkowane w takisposoacuteb aby pokazywa y informacj o tym samym rekordzie Uzyskuje si to przy po-mocy relacji mi dzy tabelami ktoacuterej zadaniem jest powi zanie informacji zawartychw bazie danych

W tym podrozdziale tabel nadrz dn b dzie tabela Customers a podrz dn OrdersPo klikni ciu na hiper cze z etykiet zamoacutewienia wy wietli si lista rekordoacutew tabeliOrders skojarzonych z danym klientem dania prezentacji zamoacutewie b d realizo-wane asynchronicznie

1 Plik widoku ScaffoldingListcshtml zmodyfikuj wed ug wzoru z listingu 188

Listing 188 Konfiguracja hiper cza umo liwiaj cego wy wietlenie listy zamoacutewie danego klienta

hellipforeach (var item in Model) lttrgt lttdgt

Kup książkę Poleć książkę

316 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlDisplayFor(modelItem =gt itemCustomerID) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCompanyName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactTitle) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemAddress) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCity) lttdgt lttdgt HtmlActionLink(Edytuj ScaffoldingEdit new id = itemCustomerID ) | AjaxActionLink(Zamoacutewienia ScaffoldingMasterDetail new id = itemCustomerID new AjaxOptions UpdateTargetId = zamowienia OnSuccess = documentgetElementById(zamowienia)scrollIntoView() ) | HtmlActionLink(Usu ScaffoldingDelete new id = itemCustomerID ) lttdgt lttrgtlttablegt

ltdiv id=zamowieniagtltdivgt

2 Utwoacuterz widok cz ciowy o nazwie ZamowieniaPartialViewcshtml i wstaww nim polecenia z listingu 189

Listing 189 Definicja widoku prezentuj cego list zamoacutewie

model IEnumerableltNorthwindMVCModelsNorthwindDataSetOrdersRowgt

if (Model == null) lth2gtBrak zamoacutewie lth2gtelse lth2gtLista zamoacutewie lth2gt

lttablegt lttrgt ltthgt OrderDate ltthgt ltthgt RequiredDate ltthgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 317

ltthgt ShippedDate ltthgt ltthgt ShipName ltthgt ltthgt ShipAddress ltthgt ltthgt ShipCity ltthgt ltthgtltthgt lttrgt

foreach (var item in Model) lttrgt lttdgt itemOrderDateToShortDateString() lttdgt lttdgt itemRequiredDateToShortDateString() lttdgt lttdgt itemShippedDateToShortDateString() lttdgt lttdgt itemShipName lttdgt lttdgt itemShipAddress lttdgt lttdgt itemShipCity lttdgt lttrgt lttablegt

3 Kontroler Home uzupe nij o metod ScaffoldingMasterDetail ktoacuterej definicjprzedstawi em na listingu 1810

Listing 1810 Pobranie i prezentacja rekordoacutew potomnych wybranego klienta

public ActionResult ScaffoldingMasterDetail(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) NorthwindDataSetOrdersRow[] zamowieniaPracownika = null

if (cdr = null) zamowieniaPracownika = (NorthwindDataSetOrdersRow[])cdrGetChildRows(FK_Orders_Customers)

Kup książkę Poleć książkę

318 Cz II Technologie bazodanowe w aplikacjach internetowych

if (RequestIsAjaxRequest()) return View(ZamowieniaPartialView zamowieniaPracownika) else return ScaffoldingList()

4 Sekcj ltheadgt pliku _Layoutcshtml uzupe nij o polecenia z listingu 1811

Listing 1811 Import skryptoacutew obs uguj cych dania asynchroniczne

ltscript src=UrlContent(~Scriptsjqueryunobtrusive-ajaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftAjaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftMvcAjaxjs)type=textjavascriptgtltscriptgt

5 Po skompilowaniu i uruchomieniu aplikacji powiniene uzyska efektanalogiczny do przedstawionego na rysunku 186

Rysunek 186 Przyk ad formularza typu MasterDetail

Kup książkę Poleć książkę

Skorowidz

AACL 149action methods 25ActiveX Data Object 238ADO 238ADONET 238

obiekty 238podstawy 237synchronizacja buforu ze roacuted em danych 273

adresy URLautoryzacja 157parametry 122trasowanie 121wzorce 122 123

agile programming 15AJAX 91

aktualizacja bloku witryny 113dodanie referencji do bibliotek JavaScript 94

akcjaCreate 354Delete 357Details 353dodaj ca nowy produkt 355Edit 356

aktualizacjazawarto ci elementu witryny 92

algorytmRSA 187

ambient transaction 329ankieta 102AntiXss 187aplikacje

bazodanowe 235bezpiecze stwo 335mechanizm transakcji 319scaffolding 301

synchronizacja ze roacuted em danych 273uwagi do projektowania 345

mo liwo edytowania wpisoacutew 441rejestrowanie zdarze i trasowanie 430

Application Domain 339architektura obiektowa 347ASPNET

konfiguracja aplikacji 161mechanizmy uwierzytelnienia 149metody globalne 107w czanie i wy czanie aplikacji 171

ASPNET AJAX 91ASPNET MVC 15

komponenty 16ASPX 21 30asynchroniczne przetwarzanie da http

jQuery 113Asynchronous JavaScript and XML 48Asynchronous Programming Model 464ataki

rodzaje 147SQL Injection 148 344wy udzenie informacji 148z o liwy kod 181

atrybut 347AcceptVerbs(HttpPost) 47AcceptVerbs(HttpVerbsPost) 65AssociationAttribute 58Authorize 200AuthorizeAttribute 128autoryzacyjny 145ConcurrencyCheckAttribute 58Confirm 95cookieless 154CustomValidationAttribute 58 66data-bind 230DataType 54 57

Kup książkę Poleć książkę

528 ASPNET MVC

atrybutDataTypeAttribute 58defaultRedirect 173defaultUrl 154DisplayAttribute 58DisplayColumnAttribute 58DisplayName 436EditableAttribute 58enableCrossAppRedirects 155EnumDataTypeAttribute 58FilterUIHintAttribute 58HandleError 138 175HandleErrorAttribute 129HttpMethod 95InsertionMode 95KeyAttribute 58klasy do konfiguracji metadanych 57 58LoadingElementDuration 110LoadingElementId 95 110Log

klasa implementuj ca 142loginUrl 154MetadataType 69MetadataTypeAttribute 58mode 153 173modelu 55name 155NonAction 26 135OnBegin 95OnComplete 95OnFailure 95OnSuccess 95 110OutputCache 133OutputCacheAttribute

parametry 134passwordFormat 156protection 155Range 54 66RangeAttribute 58redirectMode 173RegularExpressionAttribute 58Required 54 66RequiredAttribute 58RequireHttps 135requireSSL 155slidingExpiration 155StringLength 66StringLengthAttribute 58TestClass 29TestMethod 29ticketCompatibilityMode 155timeout 155TimestampAttribute 58UpdateTargetId 95

Url 95ValidateInput 185

atrybuty modeluwyra enia regularne 84

Attribute 347authentication ticket 151auto post back 217autocomplete textbox 115automatyczne uzupe nienie pola tekstowego 115autoryzacja 149 157

adresoacutew URL 157konfiguracja 157

grupy u ytkownikoacutew 158mechanizm filtrowania 158otwarta 460plikoacutew 157zdalna

powi zanie z portalem Facebook 461Azure 496

Bbazy danych 40 237

aktualizacja 41lista rekordoacutew 301Northwind 240

detale produktu 352dodawanie po cze 350pobieranie produktoacutew 351

po czenie ze roacuted em danych 241relacyjne 237schemat CRUD 301transakcje 319tworzenie 321

nowego rekordu 48schematu na bazie modelu encji 357

usuwanie danych 290regu y integralno ci 293

usuwanie powi zanych wierszyrekordy potomne 291

warstwa dost pu 42bezpiecze stwo

aplikacji internetowych 147ataki 147mechanizmy 149

biblioteka NETprogramowanie asynchroniczne 464

biblioteka skryptoacutewMapajs 32

bilet uwierzytelniaj cy 151b dy

dzia ania aplikacji 171strona b du 176tworzenie u ytkownika 202wprowadzenie z ego rekordu 268

Kup książkę Poleć książkę

Skorowidz 529

body 383buforowanie

danych ze roacutede zewn trznych 133bundling 475Business Intelligence 368

Ccallback 35CAS 151 338CDN 113Central Authentication Service 151centralna us uga uwierzytelnienia 151certyfikat 337CLR

procesy systemowe 466Code Access Security 338Confirm 96connString 341controllers 16Coordinated Universal Time 155Create Read Update Delete 301cross-site scripting 181CRUD 54 301Crystal Reports 368

Ddane

agregacja 378bezpo redni dost p do roacuted a 346eksport 413

do dokumentu tekstowego 419do PDF 420skoroszyt MS Excel 421tabele dynamiczne 418

integralno 288 319pomini cie sprawdzania 292regu y 291

modyfikacja 249platforma modelowania 347prezentacja

graficzna 406w postaci macierzowej 390

przekazywaniez formularza do roacuted a 46z kontrolera do widoku 437 439

serializacja i transfer struktur 117szyfrowanie 337typu

ActionResult 25walidacja 53weryfikacja 53wi zy integralno ci 306

wy wietlanie 315zabezpieczenie 338

Data Binding 389Data Definition Language 345Database Management System 237DBMS 237

wi zy integralno ci 238DDL 345denial of service 147detail 315Development Server 504DIE 53DisplayFormatAttribute 58document object model 92DOM 92domena aplikacji 339 466

instancja obiektoacutew 341tworzenie 339wspoacute dzielenie obiektu 341

dostawcy us ug 178dost p anonimowy 150DotNetOpenAuth 149DPAPI 187DRY 53dyrektywa

model 46

Eelement

customErrors 173success 115

elevation of privilege 147encapsulation 107encja 347

atrybuty 54bazodanowa 54KategoriaProduktu 358odwzorowanie w bazie danych 360Order_Details 362Orders 361Products 361Produkt 358

Entity 347Entity Framework 43 347

POCO 360potwierdzenie explicite 356technologie 349wersje 347

Entity Relationship Model 347Entity SQL 349ERM 347Event-based Asynchronous Pattern 465event-driven programming 17

Kup książkę Poleć książkę

530 ASPNET MVC

FFile Transfer Protocol 495filtry 127

akcji 127 139autoryzacyjne 127 144dynamiczne 395kolejno wykonywania 137

priorytety 138Log

metody 141LogAttribute

definicja klasy 140podstawowe atrybuty 128statyczne 395w asne 139wyj tkoacutew 128 144

niestandardowe 145wyniku 128 144

for 434foreach 51Forms Authentication Provider 149formularz

MasterDetail 315z podformularzem 315

funkcjadelay 217ListaPracownikoacutew 57Mid 390RolesIsUserInRole 217Today 390wyznaczaj ca tras 109zmienPrzynaleznoscDoGrupy 217 218

GGauge 383 403GDI 368graficzny interfejs u ytkownika 17 30Graphics Device Interface 368GridView 48grupy u ytkownikoacutew

autoryzacja 158GUI 17

Hhard-coding 167haszowanie 150helper methods 25html helper 455

Iidentyfikator

klienta 315rekordoacutew 315

IIS 121 149 495instalacja

ASPNET 445 498serwera w Windows 7 496serwera w Windows 8 496

mened er Windows 499uruchamianie aplikacji 503

serwer do rozwoju aplikacji 504information disclosure 147instancje aplikacji 465instancjonowanie modelu 39IntelliSense 247interfejs u ytkownika

przycisk umo liwiaj cy dodanie pracownika294

przycisk usuni cia wybranego rekordu 289Internet Information Services 121internetowe us ugi informacyjne 495in ynieria spo eczna 148Isolation Level 332izolacja 339 466

JJavaScript Object Notation 117jQM 457jQuery

autocomplete 116pliki roacuted owe 113

jQuery Mobile 457jQuery UI 367

wykorzystanie przyciskoacutew 284JSON 117

obiekt typu adres 118

KKey Performance Indicators 403klasa

AccountController 198ActionExecutingContext 143AdminController 212Ajax 94AjaxOptions 94

atrybuty 95AspNetHidden 442AssemblyName 170Assert 29

Kup książkę Poleć książkę

Skorowidz 531

AuthConfig 461BundleConfig 475Configuration 170ConfigurationManager 170ConfigurationSection 187 188ConnectionStringBuilder 345DpapiProtectedConfigurationProvider 187FiltryRaportuMacierzowego 397Form1 484FormsAuthentication 152Global 430HandleErrorInfo 133HtmlHelper 437HttpClient 483 486HttpResponseMessage 486kontekstu 362LogOnModel 198MarshallByRefObject 341Membership 152 198 211MvcApplication 430NorthwindContext 362ObjectContext 348ObjectQueryltTgt 348Order_Details 362Orders 361Osoba 228ParametryWatku 470Pracownik 484Products 361Produkt 230Raport 392RequestBrowser 460ResultExecutedContext 144ResultExecutingContext 144Roles 211RsaProtectedConfigurationProvider 187SQLConnCAS

definicja 340stowarzyszona z modelem 69SystemNetHttpFormattingJsonMediaTypeF

ormatter 491SystemTextRegularExpressions 74SystemWebSecurityRoles 159Task 465 472testuj ca 29Thread 465 469TransactionScope 327UrlRoutingModule 121ViewData 434 436 439WebApiConfig 478WebConfigurationManager 170Wpisy 427 436

klucze 237MAC 155obce 238podstawowe 238

kluczowe wska niki efektywno ci 403dynamiczna zmiana warto ci 404

Knockout 227wykorzystanie szablonoacutew JavaScript 230wywo anie skryptu 229

kodowanie danychprzekazywanych przez u ytkownikoacutew 186

komponentFormDanePracownika 489obiektu

PartialView 99typu ListBox 99

ReportViewer 368 375eksport danych 413nawigacja mi dzy stronami raportu 377

komponenty u ytkownika 30komunikaty o b dach 171

kod statusowy 174 175koncepcja programowania zdarzeniowego 16konfiguracja

po czenia z baz danych 241uprawnie puli aplikacji 454walidacji danych 66

konkurencyjno aplikacji 332kontekst wi zania 389kontrola wprowadzanych danych 263

metoda onColumnChanged 269wstrzymanie walidacji wiersza 267zako czenie edycji rekordu 267

wymuszenie 267kontroler 16 25

AccountController 195Admin 223AdminController 212aplikacja Kardy 63asynchroniczny 466

a zadania 472dane wyj ciowe 25domeny 150ErrorController 174Glosowania 103Home 182 224 228 231

Bezpiecze stwo 336filtr wyj tku 131

HomeController 184EksportDanych 415Northwind 245

interfejs Web API 477KsiegaGosciController 424

Kup książkę Poleć książkę

532 ASPNET MVC

kontrolerLista 93Mapa 33

autouzupe nianie 117modyfikacja 45

niedost pne metody publiczne 136obs uga POST 431panelu administracyjnego 212

zarz dzanie grupami u ytkownikoacutew 220Pracownicy 57 64PracownicyController

implementacja 481Produkty 351projektowanie 27przekazywanie danych do widoku

zmiany 439uwierzytelnienia 195

klasa 198model 196widoki 203

uzupe nienie o widok 31u ycie modelu odsy anego przez widok 440ValuesController 478weryfikacja funkcjonalno ci 28wi zanie adresu URL z akcj 430widoki 58

konwersja obrazu 278kreator

Add New Item 242Add View 59 302Application 162blokowania szczegoacute oacutew b doacutew 172dodanie u ytkownikoacutew 164grup u ytkownikoacutew 165Provider 162Publish Web 501Security 162tworzenia pracownika 59ustawie aplikacji 167widokoacutew 60wyboacuter dostawcoacutew us ug 178

kwerendy parametryczne 274 401

Llayout witryny 30LINQ

to Entities 349lista rekordoacutew 301

prezentacja 304logika

aplikacji 30bazodanowa 30biznesowa 44

a cuch QueryString 26

Mmaster 315mechanizm

automatycznych w a ciwo ci 57autoryzacji 157eksportu danych 413filtroacutew 127grupowania plikoacutew 475IntelliSense 119QuerynotString 117szyfruj cy 187transakcji 319 321

przelewy bankowe 326wyznaczania trasy przejzdu 34

meotdaInsert 299ProtectSection 191WersjonowanieDataRow

definicja widoku 265message authentication code 155metoda

on 262HtmlValidationSummary 204About 124AcceptChanges 255 263ActionLinkActionLink 61 63 353AddUserToRole 159akcji 25

parametry opcjonalne 27aktualizacja statystyk ankiety 105AktualizujZdjeciePracownika 288Application_AuthenticateRequest 108Application_BeginRequest 107 108Application_End 108Application_EndRequest 107Application_Error 108 172Application_Start 108 123 139 430asynchroniczna kontrolera 472AttachTo 356Authenticate 152AutoUzupelnienie 117

zapytanie LINQ 118BeginEdit 267BeginForm 47 94BeginTransaction 326 332CancelEdit 263ChangeObjectState 356

Kup książkę Poleć książkę

Skorowidz 533

ChangePassword 200hiper cze 208widok 206

ChangePasswordSuccesswidok 206

CreateNazwaEncji 354CreateRole 159CreateUser 153czyBazaDanychIstnieje 326daneDostawcyForm 262DBeginnotEdit 263Delete 270DeleteObject 357DeleteRole 159DeleteUser 153DeszyfrujPlikKonfiguracyjny 191DodajDostawce 255DodajElementDoListy 94 97 101DodajGrupe 223DodajKomentarz 185DodajPracownika 299 491DopiszDoPlikuLog 430Edit 356EdytujDaneDostawcy 261EdytujDanePracownika 493Eksportuj 418EmptyResult 26EndEdit 263EndForm 47ErrorCodeToString 201Fill 246FillByCityName 275FormatDateTime 390FormsAuthenticationSetCookie 199GenerujDane 468Get(int id) 478GetAllRoles 159GetAsync 486GetChildRecords 291GetSection 170GetSectionGroup 170GetUser 153GetUsersInRole 160globalna

aplikacji ASPNET 108Grupy 223HasVersion 263HtmlListBox 97HtmlRenderPartial 101HtmlValidationSummary 61HtmlHelperLabel 437ImiePierwszegoPracownika 246 247Include 475Index 47 79 97 101

kontrolera Mapa 34testowanie 28

IsAjaxRequest 101IsMatch 76IsNotNull 29IsUserInRole 159Label 35ListaDostawcow 252 255ListaPracownikow 248

hiper cze skojarzone 249LogOff 198LogOn 198Macierzowy 397mapowalna 26MetodaAsynchronicznaWatki 472ModelStateAddModelError 199MvcApplicationRegisterRoutes 430obs uga zapyta POST 431odczyt aktualnych bilansoacutew kont 323OdczytajStanyKont 326OnActionExecuted 143OnActionExecuting 127 143onColumnChanged 269OnResultExecuted 144OnResultExecuting 144onRowChanged 266onRowChanging 268OpenConfiguration 170otwarcie po czenia z baz danych 341OtworzPlikDanych 107Page_Load 399PartialViewResult 26PobierzDane 394

modyfikacja 401PobierzPlikLogu 141 143PobierzZdjecie 278PokazTrasy 51PokazWyniki 107pomocnicza 25 455

HtmlEncode 51wykorzystanie 456

PostAsJsonAsync 486PostAsXmlAsync 486PostAsync 486PostResolveRequestCache 121PracownicyWedlugMiast

przechowywanie warto ci filtru 285PutAsJsonAsync 493PutAsXmlAsync 493PutAsync 493ReadAsAsync 486ReadXml 107ReadXmlSchema 107RedirectFromLoginPage 152

Kup książkę Poleć książkę

534 ASPNET MVC

metodaRedirectResult 26RedirectToAction 26RedirectToLoginPage 152RedirectToRoute 26RedirectToRouteResult 26RefreshReport 384Register 199 478RegisterAuth 461 462RegisterBundles 475RegisterGlobalFilters 171RegisterRoutes 94 123RejectChanges 256 263rejestrowanie zdarze aplikacji 430RemoveUserFromRole 160Render 384 413 418RenderPartial 99ResponseWrite 223ResultExecuteResult 143RoleExists 159RolesIsUserInRole 216RolesRemoveUsersFromRole 223route 35RowsAdd 255RozpocznijEdycje 269

hiper cze uruchamiaj ce 267SaveChanges 354ScaffoldingMasterDetail 317Session_End 108Session_Start 108SetAuthCookie 152SetParameters 401 405SignOut 152SprawdzDopasowania 79SprawdzPoprawnoscDatyZatrudnienia 67SqlPermissionAdd 343SqlTransactionCommit 326SqlTransactionRollback 326StronaNieIstnieje 175submit 115SzyfrowaniePlikuKonfiguracyjnego 190szyfruj ca i deszyfruj ca 189SzyfrujPlikKonfiguracyjny 191TextBox 35ThreadSleep 469 472TransactionScopeComplete 329Transfer 36UpdateUser 153UstawParametryRaportu 399UsunGrupe 223UsunTrase 50 51UtworzPracownika 64Uzytkownicy 216ValidateUser 152 153

ValidationMessage 437ValidationMessageFor 61ValidationSummary 437ViewResult 26WebApiConfigRegister 478WersjonowanieDataRow 265

sparametryzowanie 266WpisyZapiszDoPlikuXml 430wykonywanie przelewoacutew 323WyswietlLog 141 142 143wyswietlMape 34 35WyswietlTrase 50

modyfikacja 135 166wyznaczTrase 35ZaktualizujWyniki 107Zapami tajNazw U ytkownika 432ZmienStanKont 328

Microsoft SQL Server 319sposoby uwierzytelnienia 344

MIME type 390minification 476minimalizacja 476model 16 39

APM 464ChangePasswordModel 196EAP 465integracja z elementami aplikacji 39LogOnModel 196obs uga plikoacutew XML 427przesy anie z kontrolera do widoku 432 435RegisterModel 196TAP 465

model binding 48model danych encji 348

dodawanie encji 353edycja encji 355kreator 348 349

czenie encji 359metody akcji 354opcje 361projektowanie relacji 43tworzenie 349

schematu bazy danych 357usuwanie encji 357wyboacuter tabel 350

model first 52model zwi zkoacutew encji 347models 16Model-View-Controller 15Model-View-ViewModel 227Model-Widok-Kontroler 15modu

UrlAuthorizationModule 157

Kup książkę Poleć książkę

Skorowidz 535

MVC 15a Web Forms 16 365 367 423

kod 442serwer internetowych us ug

informacyjnych 495wydajno 443wykorzystanie w projektach 444

ataki XSS 185autoryzacja 158 162bezpiecze stwo aplikacji 152buforowanie 134domy lne wzorce aplikacji 21kreator aplikacji 20mechanizm filtrowania 127Model Binder 355nazwa kontrolera 27obs uga interakcji klient-serwer 121parametry opcjonalne 27pobieranie parametru z adresu URL 26projektowanie aplikacji 18 52przetwarzanie dania aplikacji klienckiej 18sprawdzanie poprawno ci danych 68struktura modelu 39techniki walidacji danych 53utworzenie widoku 30uzupe nianie o komponenty graficzne 367walidacja 438wersja 4 449wyboacuter mechanizmu przetwarzaj cego widoki 21wzorce URL 122zbioacuter modeli szablonu aplikacji 196roacuted o danych 40

MVC4 449grupowanie i optymalizacja skryptoacutew 475kaskadowe arkuszye stylu 475przetwarzanie asynchroniczne 464przystosowanie do urz dze mobillnych 457testowanie aplikacji 457uwierzytelnianie 460

integracja z portalem Facebook 462wsparcie dla urz dze mobilnych 450zdalna autoryzacja 461

MVVM 227

Nnarz dzie

aspnet_regiis 187przetwarzanie tekstu 73

Northwindinstalacja 240kwerenda wybieraj ca 240pobieranie informacji o dostawcach 251

NuGET 483nullable-types 27

OOAuth 461obiekt

AppDomain 339 341Chart 406Command 239Connection 239 241

w a ciwo i 243ConnectionString 343

sposoby uwierzytelniania 344szyfrowanie informacji 335

DataAdapter 239DataGridView 491DataReader 239 273DataRow 255

kontrola wprowadzonych danych 263usuwanie rekordoacutew 270wersje 263wersja proponowana 265wersjonowanie 263w a ciwo ci 255

DataSet 239 244 345edycja rekordoacutew 257kreator konfiguracji TableAdapter 274modyfikacja danych 249tworzenie nowych rekordoacutew 250usuwanie rekordoacutew 271wstawianie rekordoacutew 251wymuszenie wi zoacutew integralno ci 292

DataTable 107DirectionsService 35dostawca 153FormCollection 47jqXHR 218List 389logiki biznesowej 348materializacja 348Matrix 390Membership 152MvcRouteHandler 121 122o okre lonym typie danych 244o silnej typizacji 244o s abej typizacji 247ObjectStateManager 348PartialView 98ReportViewer 368ReportViewerLocalReport 418Request 26 101 432Response 26Route 122ShippersRow 255SqlConnCAS 341SqlConnection 326

Kup książkę Poleć książkę

536 ASPNET MVC

obiektTableAdapter 239 244 273 274 345

edycja danych 279 286wstawianie danych 294

TransactionScope 329parametryzacja 331

typuadres 118AppDomain 466ConcurrentDictionary 479NorthwindDataSet 247ObjectSetltTgt 348Route 121Thread 466

UrlRoutingModule 121ViewBag 36

przekazywanie danych do widoku WebForms 376

ViewData 36 79 432Object Relational Mapping 347Object Services 348obs uga b doacutew

konfiguracja 132w czenie 129

odrzucenie informacji o transakcji 148od wie anie witryny

a fragment widoku 97aktualizacja zawarto ci 113cz ciowe 96

OnSuccess 96operator

await 474konkatenacji 382Top 411Top N 411

ORM 347

Pparametr

CountryName 401data 115filtr 117mapDivId 35maxIloscRekordow 117Order 137raportu 395scopeTimeOut 330

warto ci 330TransactionScopeOption

warto ci 329type 115

parametryzacja kwerend 274partial view 30

piaskownica 341Plain Old CLR Object 360platforma NET

us ugi uwierzytelniania 153plik

ascx 22aspx 22bmp 390cookie 151cookies 154 155cshtml 22 434css 475edmx 360jpg 390js 475konfiguracyjny

zabezpieczenie 187master 22png 390rdl 368rdlc 368tekstowy

wy wietlenie w przegl darce 143vbhtml 22

POCO 360pola klucza 237polecenie

HtmlEncode 187ScriptsRender 476StylesRender 476GET 18POST 18

po czenieze roacuted em danych 241

pomocnik HTML 455Portable Document Format 413po rednik 341poziom izolacji 332

Chaos 333konfiguracja 332ReadCommitted 333ReadUncommitted 333Serializable 333Snapshot 333Unspecified 333

poziom zaufania 339ograniczenie 340

proceduraajax 115AjaxBeginForm 96niemapowalna 26PartialView 26serialize 115

Kup książkę Poleć książkę

Skorowidz 537

proces 465programowanie

oparte na zdarzeniach 17zdarzeniowe 17

projekt aplikacji MVCankieta 102asynchroniczne przetwarzanie da HTTP 92Bezpiecze stwo 181 336

nawi zanie komunikacji ze roacuted emdanych 342

szyfrowanie pliku konfiguracyjnego 191dodawanie i wy wietlanie komentarzy 183domy lny 20EksportDanych 413Filtry 131formularz oceny 107Kadry

walidacja adresu e-mail 84Kardy 55KsiegaGosci_MVC3 424lista prezentuj ca dodawane elementy 97MojaNawigacja 18

blokowanie samodzielnego tworzeniakont 224

buforowanie danych 135implementacja warstwy dost pu 42instalacja na serwerze IIS 500komunikat powitalny 168komunikaty 110komunikaty o b dach 173mechanizm podpowiedzi 115model weryfikuj cy po wiadczenia

u ytkownikoacutew 196modele kontrolera uwierzytelnienia 196od wie enie widoku mapy 109struktura 21szablon 19szablon witryny 225trasowanie da HTTP 123uzupe nienie o baz danych 40uzupe nienie o walidacj danych 69widok b du 175zablokowanie nieautoryzowanego

dost pu 128zarz dzanie u ytkownikami 163zarz dzanie grupami u ytkownikoacutew 212zarz dzanie procesem logowania 198

MsAjax 92NorthwindMVC 241

lista rekordoacutew 301szablon witryny 250

POCO 361priorytety regu filtrowania 137

Raport 368szablon

mechanizmy uwierzytelnienia 156zarz dzanie grupami u ytkownikoacutew 159

Transakcje 319aktualizacja danych 328formularz aktualizacji 328szablon stron 320

uzupe nianie widokiem GridView 49WyrazeniaRegularne 76Zapytania_EF 349

projekt aplikacji MVC4AsynchronicznyKontroler 466

prezentacja danych 468AutoryzacjaOAuth 461implementacja serwisu sieciowego 479konfiguracja grupowania 475MobileMvc 450

testowanie 457pobranie zdj cia 452przygotowanie listy pracownikoacutew 452SerwisSieciowy 477

projekt aplikacji Windows Formsedycja danych 487KlientWebAPI 483tworzenie nowych pracownikoacutew 486

dania typuDELETE 493POST 486PUT 491

projektowaniekontrolera 27widoku 31

protokoacuteFTP 495Kerberos 150NTLM 150SMTP 495SSL 337

proxy 341przechowywanie

informacji o trasach 44wynikoacutew g osowania 107

przeci enie aplikacji 147przekazywanie

danych 44mi dzy widokiem a kontrolerem 36

parametroacutew do metod akcji kontrolera 26przestrze nazw

SystemThreading 465przyjazne linki 122publikowanie aplikacji 495 500

na serwerze IIS 497

Kup książkę Poleć książkę

538 ASPNET MVC

pule aplikacji 465 497konfiguracja 498Windows 7 499Windows 8 500

Rraporty

dane w postaci macierzowej 390data 386definicja

dynamiczna 418filtrowanie danych 394

na poziomie roacuted a 401 418filtry 395formaty prezentacji danych 379grupowanie danych 381hiper cza 387

nawigacyjne 376kolumny obliczeniowe 378konfiguracja

filtrowania dynamicznego 396typu 392roacuted a danych 368

kreator formu 382macierzowe 391numery stron 386obrazy 390parametry 383 394

konfiguracja 399paski narz dziowe 379pola

bazy danych 386formularza 398raportu 390

po czenie z aplikacj 368prezentowanie uk adu graficznego 383projektowanie 371

i prezentowanie 368przystosowanie strony do obs ugi raportoacutew

387renderowanie 368tryby definicji 368tworzenie

definicji lokalnej 368formu 378przy u yciu kreatora 372

uk ad 383wstawianie nag oacutewka i stopki 385wykresy 406wy wietlenie 375

Razor 21 30przetwarzanie definicji widoku 208

RDL 418rekordy

edycja 307lista 301tworzenie 311usuwanie 305

Relationship 347Report Definition Language 418Report Wizard 371repudiation 148request 442response 442responsywno 464rollback transaction 319routing 22 430routowanie 121

SSandBox 341scaffolding 301Secure Socket Layer 337sekcja

membership 178roleManager 179set 441

serwerSMTP

konfiguracja 171us ug informacyjnych 149

weryfikacja to samo ci u ytkownika 149Simple Mail Transfer Protocol 495s owo kluczowe

helper 455await 474using 47 329

spaghetti code 18spoofing 147SQL Server Reporting Services 367SSRS 367stan pola

typu CheckBox 269pobieranie 264

STRIDE 148strona startowa

MojaNawigacja 226strona wzorcowa 30

aplikacji Kadry 55referencja do bibliotek skryptoacutew 70

systemowy serwer us ug informacyjnych 121szyfrowanie po czenia 335

ze roacuted em danych 336

Kup książkę Poleć książkę

Skorowidz 539

Ttabela danych

Categories 418Customers 305deklaracje kaskadowych arkuszy stylu 275edycja

danych 279danych w wierszu 257rekordoacutew 307 310

Employees 240 288filtrowanie listy 275integralno danych 288Konta 321 326kwerenda wybieraj ca 240Orders 291 315OrdersDetails 307pobieranie fotografii 276pobranie danych z wykorzystaniem JScript 280prezentacja

danych 277 325informacji 252listy danych 248pierwszego rekordu 246rekordoacutew 317

przekazanie do widoku 248Shippers 251tworzenie rekordoacutew 311umieszczenie w bazie danych 321uruchomienie edycji danych 258usuwanie

danych 288rekordoacutew 271 305 306

widok b du 268wstawianie

danych 294rekordoacutew 251

wy wietlenie listykonfiguracja hiper cza 315

zako czenie edycji rekordu 267tablica asocjacyjna 479tablica bajtoacutew

konwersja do bitmapy 277tampering 147task pane 371Task-based Asynchronous Pattern 465TDD 15

test jednostkowy funkcjonalno ci kontrolera28

Test-Driven Development 15testowanie

aplikacji 29wzorcoacutew wyra e regularnych 76 78

Toolbox 274

transakcje 319automatyczne zarz dzanie 327otaczaj ce 329poziom izolacji 332tworzenie i r czna kontrola 319

trasowanie 121aplikacja 430blokowanie dost pu 124domy lne regu y 123Ksi gaGosci_MVC3 430w asne regu y 124

trasowanie adresoacutew URL 121T-SQL 319

czynno ci bazodanowe 345tworzenie

bazy danych 40interfejsu u ytkownika

jQM 459szablony 231wzorzec MVVM 227

u ytkownika 200kody b doacutew 201

widoku Index 231wzorcoacutew wyra e regularnych 76

typed DataSet 244typizacja

silna 46s aba 46

typy puste 27

Uujawnienie krytycznych informacji 147ukryte pola 441Uniform Resource Locator 18URL 18uruchomienie aplikacji 503us uga

AspNetSqlProvider 178ustawienia aplikacji 167

odczytanie z pliku konfiguracyjnego 169UTC 155uwierzytelnienie 149

centralny serwis 151certyfikaty 150formularze logowania 151

atrybuty elementu forms 154konfiguracja 153mechanizmy zintegrowane z ASPNET 149na bazie protoko u NTLM 150przekazywanie informacji 151proste 150skroacutecone 150us ugi systemu Windows 150

Kup książkę Poleć książkę

540 ASPNET MVC

Vvariable placeholders 122view engine 21views 16viewstate 442Visual Studio

kreator projektu 19Visual Studio Development Server 496VS 2012

instalacja 240kreator Add New Item 242

VSDS 496

Wwalidacja

adresue-mail 83URL 83WWW 84

danych 53a technologia Entity Framework 68konfiguracja 66modelu Pracownik 66odwo anenie do jQuery 61po stronie klienta 67wyra enia regularne 73

skrypty i style walidatoroacutew 438w asno ci klasy encji 435

w tek 465Web API 477

edycja danych 491klient 483konfiguracja interfejsu 478obs uga da typu POST 486pobranie danych z serwera 485serwis sieciowy 479usuwanie danych 493

web serwer 495Web Site Administration Tool 161

konfigurowanie uprawnie 165zarz dzanie

dostawcami us ug 178u ytkownikami 163

WebForms 17bezpiecze stwo aplikacji 152integracja komponentoacutew z MVC 367kontrolka Repeater 434obs uga wyj tkoacutew 172przetwarzanie dania aplikacji klienckiej 18separacja modelu 427weryfikacja poprawno ci projektu 434

weryfikacjakodu pocztowego 81to samo ci 151

widok 16 25 30aplikacji

MVC4 453przystosowanie do urz dze mobilnych

459Transakcje 326

cz ciowy 30dodawanie 31edycji klienta 307elementy 31formularz

dodawania wpisu 425logowania 203

kontroleraaplikacja Kadry 58panelu administracyjnego 222

kontrolera AdminController 213kontrolera Dopasowania 77kontrolera ErrorControler 174kontrolera Glosowania 103kontrolera Home 131 169 182 307

metodaWyswietlLog 142Raport 375Transakcje 320

kontrolera HomeController 246AsynchronicznyKontroler 468EksportDanych 417

kontrolera Lista 93kontrolera Mapa 33 34

formularz 70Trasa 50

kreatorakonta u ytkownika 205zmiany has a 206

listyklientoacutew 302pracownikoacutew 61wyznaczonych tras 48zamoacutewie 316

mapyod wie enie 108parametryzacja 34

mechanizm przetwarzania 30modyfikowanie formularza 437obs uga wyj tkoacutew 130Pracownicycshtml 453projektowanie 31transfer danych do kontrolera 36typu CRUD 52

Kup książkę Poleć książkę

Skorowidz 541

typu GridViewimplementacja 48

typy plikoacutew 30utworzenie 30uzupe nianie tre ci 33walidacja 435wi zanie z modelem 437wstawianie rekordoacutew 312wynikoacutew ankiety 105wy wietlanie wpisoacutew 432

wielodziedziczenie 360Windows Authentication Provider 149Windows Data Protection API 187Windows Forms

implementacja klienta 483Windows Live ID 149w a ciwo

ConnectionString 243IsMobileDevice 460ModelStateIsValid 47

wstawianie rekordoacutew 299wstrzykni cie kodu 181 185wykresy 406

konfiguracjaserii danych 407typu 407

pobranie danych roacuted owych 408wy czenie aplikacji 171wyra enia lambda 46wyra enia regularne 73

atrybuty modelu 84liczba wyst pie sk adnikoacutew 76wzorzec

adres URL 83imi e skie 81kod pocztowy 80tworzenie 76

znaki i cyfry 74znaki specjalne 74znaki w wyznaczonych miejscach a cucha 75

wzorzecodnajdywanie

znakoacutew i cyfr 74znakoacutew specjalnych 74znakoacutew w wyznaczonych miejscach

a cucha 75okre lanie

liczby wyst pie znakoacutew 76

XXSS 181

Zzabezpieczenia

aplikacji bazodanowych 335ataki XSS 187informacje o b dach 171kodu po redniego 338konfiguracja 161konfiguracja aplikacji

kreatory 162obs uga wyj tkoacutew 171pliku konfiguracyjnego 167 187przed atakami 148ustawienia aplikacji 167witryny 181zarz dzanie dostawcami us ug 178z o liwy kod 181

zarz dzanieu ytkownikami i grupami 211

dost p do panelu administracyjnego 216lista grup 221podzia na grupy 220pobieranie listy 213tworzenie nowej grupy 222zmiana przynale no ci do grupy 215

z o ono ci aplikacji 16zdarzenie

DataGridViewCellDoubleClick 491rejestrowanie 430

z o liwy koddzia anie 181

znacznikinput 288

znaki specjalneodnajdywanie 74

zwi zanie z modelem 48zwi zek 347

danie 25asynchroniczna obs uga 92 466 470

skrypty 318zadania 473

GET 64POST 64przetwarzanie 127zablokowanie obs ugi 124

Kup książkę Poleć książkę

Notatki

Kup książkę Poleć książkę

4 ASPNET MVC

Kontroler 63Konfiguracja walidacji danych 66

Walidacja danych po stronie klienta 67Walidacja danych a technologia ADONET Entity Framework 68Podsumowanie 71

Rozdzia 5 Wyra enia regularne a kontrola poprawno ci danych 73Podstawowe informacje o wyra eniach regularnych 73Odnajdywanie znakoacutew specjalnych 74Odnajdywanie znakoacutew i cyfr 74Odnajdywanie znakoacutew w wyznaczonych miejscach a cucha 75Okre lanie liczby wyst pie podanych znakoacutew 76Tworzenie wzorcoacutew 76

Aplikacja 76Kod pocztowy 80Imi e skie 81Walidacja adresu URL 83

Atrybuty modelu wykorzystuj ce wyra enia regularne 84Podsumowanie 88

Rozdzia 6 Asynchroniczne aplikacje internetowe mdash Microsoft AJAX 91Wprowadzenie 91Aktualizacja zawarto ci wybranego elementu witryny 92Cz ciowe od wie anie witryny a fragment widoku 97Ankieta (modu do g osowania) 102Od wie enie widoku mapy serwisu Google 108

Rozdzia 7 Technologia AJAX a biblioteka jQuery 113Wprowadzenie 113Aktualizacja zawarto ci wybranego elementu witryny 113Automatyczne uzupe nienie pola tekstowego 115Mechanizm IntelliSense a sk adnia jQuery 119Podsumowanie 120

Rozdzia 8 Trasowanie adresoacutew URL 121Wprowadzenie 121Wzorce URL 122Domy lne regu y trasowania i wzorce URL 123W asne regu y trasowania 124Zablokowanie obs ugi wybranych da 124Podsumowanie 126

Rozdzia 9 Filtry 127Wprowadzenie 127Podstawowe atrybuty filtroacutew 128

[Authorize] 128[HandleError] 129[OutputCache] 133[RequireHttps] 135[NonAction] 135

Kolejno wykonywania filtroacutew 137

Kup książkę Poleć książkę

Spis tre ci 5

Implementacja w asnych filtroacutew 139Filtry akcji 139Filtry autoryzacyjne wyniku i wyj tkoacutew 144

Podsumowanie 146

Rozdzia 10 Bezpieczne aplikacje internetowe 147Potrzeba zabezpiecze 147Uwierzytelnienie i autoryzacja 149

Mechanizmy uwierzytelnienia zintegrowane z ASPNET 149Konfiguracja uwierzytelnienia 153Autoryzacja 157Grupy u ytkownikoacutew 158

Podsumowanie 160

Rozdzia 11 Konfiguracja zabezpiecze i panel Web Site Administration Tool 161Wprowadzenie 161U ytkownicy grupy i regu y dost pu 163Ustawienia aplikacji oraz odczyt zawarto ci pliku konfiguracyjnego 167Wy czenie aplikacji i konfiguracja serwera SMTP 171Komunikaty o b dach 171Zarz dzanie dostawcami us ug 178Podsumowanie 179

Rozdzia 12 Zabezpieczenie witryny przed z o liwym kodem 181Wprowadzenie 181Dzia anie z o liwego kodu 181Zabezpieczanie pliku konfiguracyjnego 187Podsumowanie 192

Rozdzia 13 Kontroler uwierzytelnienia w aplikacji ASPNET MVC 195Wprowadzenie 195Model 195Klasa kontrolera 198Widoki kontrolera 203Podsumowanie 209

Rozdzia 14 Dynamiczne zarz dzanie u ytkownikami i grupami 211Wprowadzenie 211Kontroler panelu administracyjnego 212Podzia u ytkownikoacutew na grupy 219Podsumowanie 224

Rozdzia 15 Biblioteka Knockout 227Knockout czyli interfejs u ytkownika z wykorzystaniem wzorca MVVM 227Knockout mdash wykorzystanie szablonoacutew JavaScript 230

Cz II Technologie bazodanowew aplikacjach internetowych 235

Rozdzia 16 Podstawy ADONET 237Podstawy relacyjnych baz danych 237Technologia ADONET 238

Kup książkę Poleć książkę

6 ASPNET MVC

Instalacja bazy Northwind 240Po czenie ze roacuted em danych 241Modyfikacja danych w obiekcie DataSet 249

Tworzenie nowych rekordoacutew 250Edycja rekordoacutew 257Wersjonowanie obiektu DataRow i kontrola wprowadzanych danych 263Usuwanie rekordoacutew 270

Rozdzia 17 Obiekt TableAdapter jako pomost mi dzy DataSeta roacuted em danych 273Parametryzacja kwerend 274Edycja danych przy u yciu obiektu TableAdapter 279Integralno danych i ich usuwanie 288Wstawianie danych z wykorzystaniem obiektu TableAdapter 294

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie internetowychaplikacji bazodanowych 301Lista rekordoacutew 301Usuwanie rekordoacutew 305Edycja rekordoacutew 307Tworzenie rekordoacutew 311Formularz z podformularzem (MasterDetail Form) 315

Rozdzia 19 Transakcje 319Tworzenie i r czna kontrola transakcji 319Automatyczne zarz dzanie transakcjami 327Konkurencyjno i poziom izolacji transakcji 332

Rozdzia 20 Bezpiecze stwo w aplikacjach bazodanowych 335Szyfrowanie po czenia 335Zabezpieczenie kodu po redniego przy pomocy Code Access Security (CAS) 338ConnectionString a sposoby uwierzytelnienia w serwerze MS SQL Server 344Uwagi ko cowe dotycz ce projektowania aplikacji bazodanowych 345

Rozdzia 21 Entity Framework 347Podstawy Entity Framework 348

Pierwsze zapytanie 348Detale produktu 352Dodawanie nowego produktu 353Edycja produktu 355Usuwanie produktu 357Tworzenie schematu bazy danych na bazie modelu encji 357Entity Framework i POCO 360

Cz III ASPNET MVC a ASPNET WebForms 365

Rozdzia 22 Integracja komponentoacutew WebForms z aplikacj ASPNET MVCna przyk adzie technologii SQL Server Reporting Services 367Pierwszy raport 368

Konfiguracja roacuted a danych 368Projektowanie raportu 371

Kup książkę Poleć książkę

Spis tre ci 7

Kolumny obliczeniowe raportu 378Stosowanie formatu prezentacji danych 379Grupowanie danych 381

Projektowanie graficznego uk adu raportu 383Etykiety rysunki i listy 384Prezentacja danych w postaci macierzowej 390

Parametry raportu i filtrowanie danych 394Filtr definiowany na poziomie raportu 395Filtrowanie raportu na etapie pobierania danych roacuted owych 401

Kluczowe wska niki efektywno ci 403Wykresy 406

Rozdzia 23 Eksport danych 413

Rozdzia 24 Ksi ga go ci w MVC Poroacutewnanie ASPNET Web Formsi ASPNET MVC 423Tworzenie projektu 423Widok mdash formularz dodawania wpisu 425Model mdash obs uga plikoacutew XML 427Aplikacja mdash rejestrowanie zdarze i trasowanie 430Kontroler mdash obs uga POST 431Widok mdash wy wietlanie wpisoacutew 432Widok mdash walidacja 435Kontroler mdash u ycie modelu odsy anego przez widok 440

Dodatki 447

Dodatek A ASPNET MVC 4 449Wsparcie dla urz dze mobilnych 449

Sformu owanie problemu 450Przystosowanie widokoacutew aplikacji do urz dze mobilnych 457

OAuth czyli otwarta autoryzacja 460Implementacja zdalnej autoryzacji w powi zaniu z portalem Facebook 461

Przetwarzanie asynchroniczne 464Wprowadzenie 464Potrzeba wykorzystania asynchronicznych kontroleroacutew 466Kontrolery asynchroniczne i klasa Thread 469Kontrolery asynchroniczne a zadania 472

Grupowanie i optymalizacja skryptoacutew oraz kaskadowych arkuszy styloacutew 475Web API 477

Wprowadzenie 477Implementacja serwisu sieciowego 479Implementacja klienta Web API 483

Podsumowanie 494

Dodatek B Publikacja aplikacji ASPNET za pomoc internetowychus ug informacyjnych (IIS) 495Wprowadzenie 495Instalacja i konfiguracja serwera internetowych us ug informacyjnych IIS 496

Instalacja serwera IIS w systemie Windows 7 496Instalacja serwera IIS w systemie Windows 8 496

Kup książkę Poleć książkę

8 ASPNET MVC

Publikowanie aplikacji na serwerze IIS 497Konfiguracja puli aplikacji 498Instalacja ASPNET 445 na serwerze IIS 498Publikacja aplikacji 500Uruchomienie aplikacji 503

IIS jako serwer do rozwoju aplikacji 504

Dodatek C ASPNET Identity w MVC 5 i Visual Studio 2013 505Wst p 505Szablony projektoacutew ASPNET w Visual Studio 2013 505Kontroler zarz dzaj cy u ytkownikami i rolami 508

Dynamiczne zarz dzanie u ytkownikami 509Statyczne zarz dzanie rolami 519Dynamiczne zarz dzanie rolami 519

Przyk adowe wykorzystanie roacutel 524Podsumowanie 526

Skorowidz 527

Kup książkę Poleć książkę

Rozdzia 18

Scaffolding czyliekspresowe tworzenieinternetowych aplikacjibazodanowych

Dawid Borycki

W dwoacutech poprzednich rozdzia ach samodzielnie utworzyli my komponenty prezentuj -ce dane rekordoacutew z bazy danych a tak e umo liwiaj ce ich edycj i usuwanie Wyko-rzystali my do tego celu bibliotek jQuery UI W tym rozdziale chcia bym zaprezen-towa tak zwany scaffolding Jest to procedura dost pna mi dzy innymi w aplikacjachASPNET MVC umo liwiaj ca automatyczne wygenerowanie widokoacutew (komponen-toacutew) aplikacji internetowej ktoacutere realizuj bazodanowy schemat CRUD (ang CreateRead Update Delete) Schemat CRUD obejmuje podstawowe elementy wszystkichaplikacji bazodanowych czyli tworzenie odczytywanie aktualizowanie i usuwanierekordoacutew z tabel danych

Lista rekordoacutewOpis techniki scaffolding w aplikacjach ASPNET MVC rozpoczn od wygenerowa-nia widoku listy rekordoacutew w aplikacji NorthwindMVC Automatycznie wygenerowa-ny widok skoryguj w celu dostosowania go do potrzeb aplikacji

1 G oacutewny widok aplikacji NorthwindMVC (plik Indexcshtml) uzupe nijo nast puj ce polecenie

ltpgt HtmlActionLink(Scaffolding ScaffoldingList)ltpgt

Kup książkę Poleć książkę

302 Cz II Technologie bazodanowe w aplikacjach internetowych

2 W Solution Explorer rozwi w ze Views a nast pnie kliknij prawymprzyciskiem myszy folder Home

3 Wybierz opcj Add a nast pnie Viewhellip z menu kontekstowego

4 W kreatorze Add View (rysunek 181)

Rysunek 181Widok kreatoraAdd View

a) Zmie nazw widoku na ScaffoldingList

b) Zaznacz pole wyboru Create a strongly-typed view

c) Z listy dost pnych modeli wybierz pozycj CustomersRow

d) Z listy rozwijanej Scaffold template wybierz List

e) Kliknij przycisk Add

5 Utworzony w ten sposoacuteb plik ScaffoldingListcshtml zmodyfikuj wed ugwzoru z listingu 181

Listing 181 Zmodyfikowany widok listy klientoacutew

model IEnumerableltNorthwindMVCModelsNorthwindDataSetCustomersRowgt

ViewBagTitle = ScaffoldingList

lth2gtScaffoldingListlth2gtlth2gtLista klientoacutewlth2gt

ltpgt HtmlActionLink(Create New Create) HtmlActionLink(Nowy rekord ScaffoldingCreate)ltpgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 303

lttablegt lttrgt ltthgt CustomerID ltthgt ltthgt CompanyName ltthgt ltthgt ContactName ltthgt ltthgt ContactTitle ltthgt ltthgt Address ltthgt ltthgt City ltthgt ltthgt Region ltthgt ltthgt PostalCode ltthgt ltthgt Country ltthgt ltthgt Phone ltthgt ltthgt Fax ltthgt ltthgt RowError ltthgt ltthgt HasErrors ltthgt ltthgtltthgt lttrgt

foreach (var item in Model) lttrgt lttdgt HtmlDisplayFor(modelItem =gt itemCustomerID) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCompanyName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactName) lttdgt lttdgt

Kup książkę Poleć książkę

304 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlDisplayFor(modelItem =gt itemContactTitle) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemAddress) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCity) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemRegion) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemPostalCode) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCountry) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemPhone) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemFax) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemRowError) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemHasErrors) lttdgt lttdgt HtmlActionLink(Edytuj ScaffoldingEdit new id = itemCustomerID ) | HtmlActionLink(Zamoacutewienia ScaffoldingMasterDetail new id = itemCustomerID ) | HtmlActionLink(Usu ScaffoldingDelete new id = itemCustomerID ) lttdgt lttrgt

lttablegt

6 W pliku HomeControllercs

a) Utwoacuterz pole klasyCustomersTableAdapter customersTableAdapter = new CustomersTableAdapter()

b) Dodaj polecenia z listingu 182

Listing 182 Prezentacja listy klientoacutew

private void PobierzDaneKlientow() northwindDataSetEnforceConstraints = false customersTableAdapterFill(northwindDataSetCustomers)

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 305

northwindDataSetEnforceConstraints = true

public ActionResult ScaffoldingList() PobierzDaneKlientow() return View(ScaffoldingList northwindDataSetCustomers)

7 Skompiluj i uruchom aplikacj

Po uruchomieniu aplikacji i klikni ciu hiper cza z etykiet Scaffolding zostanie wy-wietlona lista klientoacutew ktoacuterej posta powinna by analogiczna do przedstawionej na

rysunku 182 W kolejnym kroku zaimplementujemy mo liwo usuwania edycji oraztworzenia rekordoacutew w tabeli Customers

Rysunek 182 Lista klientoacutew

Usuwanie rekordoacutewW celu zaimplementowania mo liwo ci usuwania rekordoacutew z tabeli Customers wyko-naj nast puj ce czynno ci

1 W widoku projektowania obiektu NorthwindDataSet skonfiguruj relacjpomi dzy tabelami Orders i Customers wed ug wzoru z rysunku 183

2 Klas kontrolera Home uzupe nij o polecenia z listingu 183

Kup książkę Poleć książkę

306 Cz II Technologie bazodanowe w aplikacjach internetowych

Rysunek 183Konfiguracja wi zoacutewintegralno ci danych

Listing 183 Usuwanie rekordoacutew z tabeli Customers

private void AktualizujDaneKlientow() northwindDataSetEnforceConstraints = false

orderDetailsTableAdapterUpdate(northwindDataSetOrder_Details) ordersTableAdapterUpdate(northwindDataSetOrders) customersTableAdapterUpdate(northwindDataSetCustomers)

northwindDataSetEnforceConstraints = true

public ActionResult ScaffoldingDelete(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) if (cdr = null) Usuwanie rekordoacutew potomnych DataRow[] zamowienia = cdrGetChildRows(northwindDataSetRelations[FK_Orders_Customers])

foreach (DataRow dr in zamowienia) drDelete()

Usuwanie rekordu klienta cdrDelete()

Aktualizacja wszystkich powi zanych tabel AktualizujDaneKlientow()

return ScaffoldingList()

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 307

Podczas usuwania danego rekordu nale y zadba o rekordy z innych tabel ktoacutere sz nim zwi zane relacjami Wiersze tabeli Customers s skojarzone z rekordami z tabelOrders oraz OrdersDetails Z tego powodu aktualizuj zawarto ci tych tabel po usu-ni ciu wybranego rekordu klienta Osierocone rekordy z tabeli Orders s usuwane ra-zem z nim

Edycja rekordoacutewDo edycji rekordoacutew w tabeli Customers potrzebny b dzie odpowiedni widok ktoacuteryprzygotuj na bazie automatycznie wygenerowanego kodu roacuted owego

1 Zgodnie z przepisem z podrozdzia u bdquoLista rekordoacutewrdquo utwoacuterz widokkontrolera Home i skonfiguruj go wed ug wzoru z rysunku 184

Rysunek 184Konfiguracja widokuedycji klienta

2 Wygenerowany automatycznie plik widoku ScaffoldingEditcshtmlzmodyfikuj zgodnie z listingiem 184

Listing 184 Definicja widoku edycji klienta

model NorthwindMVCModelsNorthwindDataSetCustomersRow

ViewBagTitle = ScaffoldingEdit

lth2gtScaffoldingEditlth2gtlth2gtEdycja rekordulth2gt

ltscript src=UrlContent(~Scriptsjqueryvalidateminjs)type=textjavascriptgtltscriptgt

Kup książkę Poleć książkę

308 Cz II Technologie bazodanowe w aplikacjach internetowych

ltscript src=UrlContent(~Scriptsjqueryvalidateunobtrusiveminjs)type=textjavascriptgtltscriptgt

using (HtmlBeginForm(EdytujDaneKlienta Home new id = ModelCustomerID)) HtmlValidationSummary(true) ltfieldsetgt ltlegendgtDane klientaCustomersRowltlegendgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCustomerID) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCustomerID) HtmlValidationMessageFor(model =gt modelCustomerID) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCompanyName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCompanyName) HtmlValidationMessageFor(model =gt modelCompanyName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactName) HtmlValidationMessageFor(model =gt modelContactName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactTitle) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactTitle) HtmlValidationMessageFor(model =gt modelContactTitle) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelAddress) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelAddress) HtmlValidationMessageFor(model =gt modelAddress) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCity) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCity) HtmlValidationMessageFor(model =gt modelCity) ltdivgt

ltdiv class=editor-labelgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 309

HtmlLabelFor(model =gt modelRegion) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRegion) HtmlValidationMessageFor(model =gt modelRegion) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPostalCode) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPostalCode) HtmlValidationMessageFor(model =gt modelPostalCode) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCountry) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCountry) HtmlValidationMessageFor(model =gt modelCountry) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPhone) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPhone) HtmlValidationMessageFor(model =gt modelPhone) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelFax) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelFax) HtmlValidationMessageFor(model =gt modelFax) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRowError) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRowError) HtmlValidationMessageFor(model =gt modelRowError) ltdivgt

ltpgt ltinput type=submit value=SaveZapisz gt ltpgt ltfieldsetgt

ltdivgt HtmlActionLink(Back to List Index) HtmlActionLink(Powroacutet do listy rekordow ScaffoldingList)ltdivgt

Kup książkę Poleć książkę

310 Cz II Technologie bazodanowe w aplikacjach internetowych

3 W kontrolerze Home zdefiniuj metody z listingu 185

Listing 185 Edycja danych klienta

public ActionResult ScaffoldingEdit(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id)

if (cdr = null) return View(ScaffoldingEdit cdr) else return ScaffoldingList()

private void PrzepiszDaneKlienta(FormCollection daneKlienta refNorthwindDataSetCustomersRow rekordKlienta)

rekordKlientaCompanyName = daneKlienta[CompanyName]ToString() rekordKlientaContactName = daneKlienta[ContactName]ToString() rekordKlientaContactTitle = daneKlienta[ContactTitle]ToString() rekordKlientaAddress = daneKlienta[Address]ToString() rekordKlientaCity = daneKlienta[City]ToString()

public ActionResult EdytujDaneKlienta(FormCollection daneKlienta string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) if (cdr = null) PrzepiszDaneKlienta(daneKlienta ref cdr) AktualizujDaneKlientow() return ScaffoldingList()

Proces edycji rekordu w bazie danych za pomoc technologii ADONET opiera si nainformacjach zebranych w poprzednich rozdzia ach wi c nie b d go tu szczegoacute owoopisywa Celem tego przyk adu by o automatyczne wygenerowanie widoku umo li-wiaj cego edycj danych klienta przystosowanie go do w asnych potrzeb oraz inte-gracja z kontrolerem

Separacja modelu widoku i kontrolera umo liwia narz dziom Visual Studio 2012 auto-matyczne generowanie widoku na podstawie definicji modelu Jednak e jak pokaza-em w tym podrozdziale kreator tworzy widok ktoacutery umo liwia edycj wszystkich poacutel

rekordu (nawet identyfikatora) co sprawia e w wi kszo ci przypadkoacutew nale y sa-modzielnie edytowa plik widoku w celu przystosowania go do potrzeb projektowanejaplikacji Jednak jak pokazuje powy szy przyk ad nie jest to rzecz skomplikowan

Integracja widoku z kontrolerem polega na odpowiednim przekazywaniu informacjio edytowanym rekordzie oraz warto ci jego poacutel Do tego celu wykorzysta em identy-fikator klienta ktoacutery jednoznacznie identyfikuje rekordy w tabeli Customers

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 311

Przyk adowy wynik polece zaimplementowanych w tym podrozdziale przedstawiarysunek 185

Rysunek 185Edycja danych klienta

Tworzenie rekordoacutewW poprzednich podrozdzia ach zaimplementowa em trzy spo roacuted czterech podstawo-wych elementoacutew schematu CRUD czyli odczytywanie (R) aktualizacj (U) oraz usu-wanie (D) rekordoacutew Ostatnim elementem jest tworzenie (C) nowych rekordoacutew W celuzaimplementowania procedury uzupe niania tabeli Customers nowymi rekordami na-le y post pi nast puj co

1 W Solution Explorer rozwi w ze Views a nast pnie kliknij prawymprzyciskiem myszy folder Home

2 Wybierz opcj Add a nast pnie Viewhellip z menu kontekstowego

3 W kreatorze Add View

a) Zmie nazw widoku na ScaffoldingCreate

b) Zaznacz pole wyboru Create a strongly-typed view

c) Z listy dost pnych modeli wybierz pozycj CustomersRow

d) Z listy rozwijanej Scaffold template wybierz Create

e) Kliknij przycisk Add

4 Utworzony w ten sposoacuteb plik ScaffoldingCreatecshtml zmodyfikuj wed ugwzoru z listingu 186

Kup książkę Poleć książkę

312 Cz II Technologie bazodanowe w aplikacjach internetowych

Listing 186 Widok umo liwiaj cy wstawianie rekordoacutew do tabeli Customers

model NorthwindMVCModelsNorthwindDataSetCustomersRow

ViewBagTitle = ScaffoldingCreate

lth2gtScaffoldingCreatelth2gtlth2gtTworzenie rekordulth2gt

ltscript src=UrlContent(~Scriptsjqueryvalidateminjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~Scriptsjqueryvalidateunobtrusiveminjs)type=textjavascriptgtltscriptgt

using (HtmlBeginForm(DodajKlienta Home)) HtmlValidationSummary(true) ltfieldsetgt ltlegendgtDane klientaCustomersRowltlegendgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCustomerID) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCustomerID) HtmlValidationMessageFor(model =gt modelCustomerID) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCompanyName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCompanyName) HtmlValidationMessageFor(model =gt modelCompanyName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactName) HtmlValidationMessageFor(model =gt modelContactName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactTitle) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactTitle) HtmlValidationMessageFor(model =gt modelContactTitle) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelAddress) ltdivgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 313

ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelAddress) HtmlValidationMessageFor(model =gt modelAddress) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCity) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCity) HtmlValidationMessageFor(model =gt modelCity) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRegion) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRegion) HtmlValidationMessageFor(model =gt modelRegion) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPostalCode) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPostalCode) HtmlValidationMessageFor(model =gt modelPostalCode) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCountry) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCountry) HtmlValidationMessageFor(model =gt modelCountry) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPhone) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPhone) HtmlValidationMessageFor(model =gt modelPhone) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelFax) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelFax) HtmlValidationMessageFor(model =gt modelFax) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRowError) ltdivgt ltdiv class=editor-fieldgt

Kup książkę Poleć książkę

314 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlEditorFor(model =gt modelRowError) HtmlValidationMessageFor(model =gt modelRowError) ltdivgt

ltpgt ltinput type=submit value=CreateUtwoacuterz gt ltpgt ltfieldsetgt

ltdivgt HtmlActionLink(Back to List Index) HtmlActionLink(Powroacutet do listy ScaffoldingList)ltdivgt

5 Definicj kontrolera Home uzupe nij o polecenia z listingu 187

Listing 187 Wstawianie rekordoacutew do tabeli Customers

private char PobierzZnak(string lancuch int index) Random random = new Random() char znak

if (lancuchLength gt index) znak = lancuch[index] else znak = (char)randomNext(0 255)ToString()[0]

return znak

private void UtworzIdentyfikatorKlienta(ref NorthwindDataSetCustomersRowdaneKlienta)

string identyfikator = int indexZnaku = 0

identyfikator += PobierzZnak(daneKlientaCompanyName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactTitle indexZnaku) identyfikator += PobierzZnak(daneKlientaAddress indexZnaku) identyfikator += PobierzZnak(daneKlientaCity indexZnaku)

daneKlientaCustomerID = identyfikator

public ActionResult DodajKlienta(FormCollection daneKlienta string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersNewCustomersRow()

PrzepiszDaneKlienta(daneKlienta ref cdr)

UtworzIdentyfikatorKlienta(ref cdr)

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 315

customersTableAdapterInsert(cdrCustomerID cdrCompanyName cdrContactName cdrContactTitle cdrAddress cdrCity )

AktualizujDaneKlientow()

return ScaffoldingList()

Wstawienie rekordoacutew do tabeli Customers jest analogiczne do ich edycji Jedyn roacute -nic jest konieczno utworzenia identyfikatora klienta gdy nie jest on tworzonyautomatycznie jak to by o w przypadku tabeli Employees Identyfikatory rekordoacuteww tabeli Customers s pi cioelementowymi ci gami znakoacutew Tworz je na podstawiepierwszych liter poacutel CompanyName ContactName ContactTitle Address oraz City Je liw tych polach znajduj si puste ci gi to odpowiedni liter zast puj losowo wyge-nerowanym znakiem

W kolejnym podrozdziale poka w jaki sposoacuteb wy wietli informacje o rekordachpotomnych opieraj c si na relacji pomi dzy tabelami

Formularz z podformularzem(MasterDetail Form)

Jako podsumowanie tego rozdzia u utworz formularz z podformularzem tak zwanyformularz MasterDetail Jego dzia anie polega na tym e wy wietlanie danych od-bywa si na bazie co najmniej dwoacutech komponentoacutew (np blokoacutew czy tabel) oraz rela-cji mi dzy tabelami Pierwszy komponent prezentuje rekordy zawarte w tabeli g oacutew-nej (ang master) a drugi zawiera dane z tabeli podrz dnej (ang detail) Komponentzwi zany z tabel podrz dn ma zazwyczaj za zadanie prezentowa szczegoacute owe da-ne odpowiadaj ce rekordowi z tabeli nadrz dnej ktoacutery zosta wskazany przy pomocyzwi zanej z nim listy rekordoacutew Pola tych tabel musz by zatem uporz dkowane w takisposoacuteb aby pokazywa y informacj o tym samym rekordzie Uzyskuje si to przy po-mocy relacji mi dzy tabelami ktoacuterej zadaniem jest powi zanie informacji zawartychw bazie danych

W tym podrozdziale tabel nadrz dn b dzie tabela Customers a podrz dn OrdersPo klikni ciu na hiper cze z etykiet zamoacutewienia wy wietli si lista rekordoacutew tabeliOrders skojarzonych z danym klientem dania prezentacji zamoacutewie b d realizo-wane asynchronicznie

1 Plik widoku ScaffoldingListcshtml zmodyfikuj wed ug wzoru z listingu 188

Listing 188 Konfiguracja hiper cza umo liwiaj cego wy wietlenie listy zamoacutewie danego klienta

hellipforeach (var item in Model) lttrgt lttdgt

Kup książkę Poleć książkę

316 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlDisplayFor(modelItem =gt itemCustomerID) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCompanyName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactTitle) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemAddress) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCity) lttdgt lttdgt HtmlActionLink(Edytuj ScaffoldingEdit new id = itemCustomerID ) | AjaxActionLink(Zamoacutewienia ScaffoldingMasterDetail new id = itemCustomerID new AjaxOptions UpdateTargetId = zamowienia OnSuccess = documentgetElementById(zamowienia)scrollIntoView() ) | HtmlActionLink(Usu ScaffoldingDelete new id = itemCustomerID ) lttdgt lttrgtlttablegt

ltdiv id=zamowieniagtltdivgt

2 Utwoacuterz widok cz ciowy o nazwie ZamowieniaPartialViewcshtml i wstaww nim polecenia z listingu 189

Listing 189 Definicja widoku prezentuj cego list zamoacutewie

model IEnumerableltNorthwindMVCModelsNorthwindDataSetOrdersRowgt

if (Model == null) lth2gtBrak zamoacutewie lth2gtelse lth2gtLista zamoacutewie lth2gt

lttablegt lttrgt ltthgt OrderDate ltthgt ltthgt RequiredDate ltthgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 317

ltthgt ShippedDate ltthgt ltthgt ShipName ltthgt ltthgt ShipAddress ltthgt ltthgt ShipCity ltthgt ltthgtltthgt lttrgt

foreach (var item in Model) lttrgt lttdgt itemOrderDateToShortDateString() lttdgt lttdgt itemRequiredDateToShortDateString() lttdgt lttdgt itemShippedDateToShortDateString() lttdgt lttdgt itemShipName lttdgt lttdgt itemShipAddress lttdgt lttdgt itemShipCity lttdgt lttrgt lttablegt

3 Kontroler Home uzupe nij o metod ScaffoldingMasterDetail ktoacuterej definicjprzedstawi em na listingu 1810

Listing 1810 Pobranie i prezentacja rekordoacutew potomnych wybranego klienta

public ActionResult ScaffoldingMasterDetail(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) NorthwindDataSetOrdersRow[] zamowieniaPracownika = null

if (cdr = null) zamowieniaPracownika = (NorthwindDataSetOrdersRow[])cdrGetChildRows(FK_Orders_Customers)

Kup książkę Poleć książkę

318 Cz II Technologie bazodanowe w aplikacjach internetowych

if (RequestIsAjaxRequest()) return View(ZamowieniaPartialView zamowieniaPracownika) else return ScaffoldingList()

4 Sekcj ltheadgt pliku _Layoutcshtml uzupe nij o polecenia z listingu 1811

Listing 1811 Import skryptoacutew obs uguj cych dania asynchroniczne

ltscript src=UrlContent(~Scriptsjqueryunobtrusive-ajaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftAjaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftMvcAjaxjs)type=textjavascriptgtltscriptgt

5 Po skompilowaniu i uruchomieniu aplikacji powiniene uzyska efektanalogiczny do przedstawionego na rysunku 186

Rysunek 186 Przyk ad formularza typu MasterDetail

Kup książkę Poleć książkę

Skorowidz

AACL 149action methods 25ActiveX Data Object 238ADO 238ADONET 238

obiekty 238podstawy 237synchronizacja buforu ze roacuted em danych 273

adresy URLautoryzacja 157parametry 122trasowanie 121wzorce 122 123

agile programming 15AJAX 91

aktualizacja bloku witryny 113dodanie referencji do bibliotek JavaScript 94

akcjaCreate 354Delete 357Details 353dodaj ca nowy produkt 355Edit 356

aktualizacjazawarto ci elementu witryny 92

algorytmRSA 187

ambient transaction 329ankieta 102AntiXss 187aplikacje

bazodanowe 235bezpiecze stwo 335mechanizm transakcji 319scaffolding 301

synchronizacja ze roacuted em danych 273uwagi do projektowania 345

mo liwo edytowania wpisoacutew 441rejestrowanie zdarze i trasowanie 430

Application Domain 339architektura obiektowa 347ASPNET

konfiguracja aplikacji 161mechanizmy uwierzytelnienia 149metody globalne 107w czanie i wy czanie aplikacji 171

ASPNET AJAX 91ASPNET MVC 15

komponenty 16ASPX 21 30asynchroniczne przetwarzanie da http

jQuery 113Asynchronous JavaScript and XML 48Asynchronous Programming Model 464ataki

rodzaje 147SQL Injection 148 344wy udzenie informacji 148z o liwy kod 181

atrybut 347AcceptVerbs(HttpPost) 47AcceptVerbs(HttpVerbsPost) 65AssociationAttribute 58Authorize 200AuthorizeAttribute 128autoryzacyjny 145ConcurrencyCheckAttribute 58Confirm 95cookieless 154CustomValidationAttribute 58 66data-bind 230DataType 54 57

Kup książkę Poleć książkę

528 ASPNET MVC

atrybutDataTypeAttribute 58defaultRedirect 173defaultUrl 154DisplayAttribute 58DisplayColumnAttribute 58DisplayName 436EditableAttribute 58enableCrossAppRedirects 155EnumDataTypeAttribute 58FilterUIHintAttribute 58HandleError 138 175HandleErrorAttribute 129HttpMethod 95InsertionMode 95KeyAttribute 58klasy do konfiguracji metadanych 57 58LoadingElementDuration 110LoadingElementId 95 110Log

klasa implementuj ca 142loginUrl 154MetadataType 69MetadataTypeAttribute 58mode 153 173modelu 55name 155NonAction 26 135OnBegin 95OnComplete 95OnFailure 95OnSuccess 95 110OutputCache 133OutputCacheAttribute

parametry 134passwordFormat 156protection 155Range 54 66RangeAttribute 58redirectMode 173RegularExpressionAttribute 58Required 54 66RequiredAttribute 58RequireHttps 135requireSSL 155slidingExpiration 155StringLength 66StringLengthAttribute 58TestClass 29TestMethod 29ticketCompatibilityMode 155timeout 155TimestampAttribute 58UpdateTargetId 95

Url 95ValidateInput 185

atrybuty modeluwyra enia regularne 84

Attribute 347authentication ticket 151auto post back 217autocomplete textbox 115automatyczne uzupe nienie pola tekstowego 115autoryzacja 149 157

adresoacutew URL 157konfiguracja 157

grupy u ytkownikoacutew 158mechanizm filtrowania 158otwarta 460plikoacutew 157zdalna

powi zanie z portalem Facebook 461Azure 496

Bbazy danych 40 237

aktualizacja 41lista rekordoacutew 301Northwind 240

detale produktu 352dodawanie po cze 350pobieranie produktoacutew 351

po czenie ze roacuted em danych 241relacyjne 237schemat CRUD 301transakcje 319tworzenie 321

nowego rekordu 48schematu na bazie modelu encji 357

usuwanie danych 290regu y integralno ci 293

usuwanie powi zanych wierszyrekordy potomne 291

warstwa dost pu 42bezpiecze stwo

aplikacji internetowych 147ataki 147mechanizmy 149

biblioteka NETprogramowanie asynchroniczne 464

biblioteka skryptoacutewMapajs 32

bilet uwierzytelniaj cy 151b dy

dzia ania aplikacji 171strona b du 176tworzenie u ytkownika 202wprowadzenie z ego rekordu 268

Kup książkę Poleć książkę

Skorowidz 529

body 383buforowanie

danych ze roacutede zewn trznych 133bundling 475Business Intelligence 368

Ccallback 35CAS 151 338CDN 113Central Authentication Service 151centralna us uga uwierzytelnienia 151certyfikat 337CLR

procesy systemowe 466Code Access Security 338Confirm 96connString 341controllers 16Coordinated Universal Time 155Create Read Update Delete 301cross-site scripting 181CRUD 54 301Crystal Reports 368

Ddane

agregacja 378bezpo redni dost p do roacuted a 346eksport 413

do dokumentu tekstowego 419do PDF 420skoroszyt MS Excel 421tabele dynamiczne 418

integralno 288 319pomini cie sprawdzania 292regu y 291

modyfikacja 249platforma modelowania 347prezentacja

graficzna 406w postaci macierzowej 390

przekazywaniez formularza do roacuted a 46z kontrolera do widoku 437 439

serializacja i transfer struktur 117szyfrowanie 337typu

ActionResult 25walidacja 53weryfikacja 53wi zy integralno ci 306

wy wietlanie 315zabezpieczenie 338

Data Binding 389Data Definition Language 345Database Management System 237DBMS 237

wi zy integralno ci 238DDL 345denial of service 147detail 315Development Server 504DIE 53DisplayFormatAttribute 58document object model 92DOM 92domena aplikacji 339 466

instancja obiektoacutew 341tworzenie 339wspoacute dzielenie obiektu 341

dostawcy us ug 178dost p anonimowy 150DotNetOpenAuth 149DPAPI 187DRY 53dyrektywa

model 46

Eelement

customErrors 173success 115

elevation of privilege 147encapsulation 107encja 347

atrybuty 54bazodanowa 54KategoriaProduktu 358odwzorowanie w bazie danych 360Order_Details 362Orders 361Products 361Produkt 358

Entity 347Entity Framework 43 347

POCO 360potwierdzenie explicite 356technologie 349wersje 347

Entity Relationship Model 347Entity SQL 349ERM 347Event-based Asynchronous Pattern 465event-driven programming 17

Kup książkę Poleć książkę

530 ASPNET MVC

FFile Transfer Protocol 495filtry 127

akcji 127 139autoryzacyjne 127 144dynamiczne 395kolejno wykonywania 137

priorytety 138Log

metody 141LogAttribute

definicja klasy 140podstawowe atrybuty 128statyczne 395w asne 139wyj tkoacutew 128 144

niestandardowe 145wyniku 128 144

for 434foreach 51Forms Authentication Provider 149formularz

MasterDetail 315z podformularzem 315

funkcjadelay 217ListaPracownikoacutew 57Mid 390RolesIsUserInRole 217Today 390wyznaczaj ca tras 109zmienPrzynaleznoscDoGrupy 217 218

GGauge 383 403GDI 368graficzny interfejs u ytkownika 17 30Graphics Device Interface 368GridView 48grupy u ytkownikoacutew

autoryzacja 158GUI 17

Hhard-coding 167haszowanie 150helper methods 25html helper 455

Iidentyfikator

klienta 315rekordoacutew 315

IIS 121 149 495instalacja

ASPNET 445 498serwera w Windows 7 496serwera w Windows 8 496

mened er Windows 499uruchamianie aplikacji 503

serwer do rozwoju aplikacji 504information disclosure 147instancje aplikacji 465instancjonowanie modelu 39IntelliSense 247interfejs u ytkownika

przycisk umo liwiaj cy dodanie pracownika294

przycisk usuni cia wybranego rekordu 289Internet Information Services 121internetowe us ugi informacyjne 495in ynieria spo eczna 148Isolation Level 332izolacja 339 466

JJavaScript Object Notation 117jQM 457jQuery

autocomplete 116pliki roacuted owe 113

jQuery Mobile 457jQuery UI 367

wykorzystanie przyciskoacutew 284JSON 117

obiekt typu adres 118

KKey Performance Indicators 403klasa

AccountController 198ActionExecutingContext 143AdminController 212Ajax 94AjaxOptions 94

atrybuty 95AspNetHidden 442AssemblyName 170Assert 29

Kup książkę Poleć książkę

Skorowidz 531

AuthConfig 461BundleConfig 475Configuration 170ConfigurationManager 170ConfigurationSection 187 188ConnectionStringBuilder 345DpapiProtectedConfigurationProvider 187FiltryRaportuMacierzowego 397Form1 484FormsAuthentication 152Global 430HandleErrorInfo 133HtmlHelper 437HttpClient 483 486HttpResponseMessage 486kontekstu 362LogOnModel 198MarshallByRefObject 341Membership 152 198 211MvcApplication 430NorthwindContext 362ObjectContext 348ObjectQueryltTgt 348Order_Details 362Orders 361Osoba 228ParametryWatku 470Pracownik 484Products 361Produkt 230Raport 392RequestBrowser 460ResultExecutedContext 144ResultExecutingContext 144Roles 211RsaProtectedConfigurationProvider 187SQLConnCAS

definicja 340stowarzyszona z modelem 69SystemNetHttpFormattingJsonMediaTypeF

ormatter 491SystemTextRegularExpressions 74SystemWebSecurityRoles 159Task 465 472testuj ca 29Thread 465 469TransactionScope 327UrlRoutingModule 121ViewData 434 436 439WebApiConfig 478WebConfigurationManager 170Wpisy 427 436

klucze 237MAC 155obce 238podstawowe 238

kluczowe wska niki efektywno ci 403dynamiczna zmiana warto ci 404

Knockout 227wykorzystanie szablonoacutew JavaScript 230wywo anie skryptu 229

kodowanie danychprzekazywanych przez u ytkownikoacutew 186

komponentFormDanePracownika 489obiektu

PartialView 99typu ListBox 99

ReportViewer 368 375eksport danych 413nawigacja mi dzy stronami raportu 377

komponenty u ytkownika 30komunikaty o b dach 171

kod statusowy 174 175koncepcja programowania zdarzeniowego 16konfiguracja

po czenia z baz danych 241uprawnie puli aplikacji 454walidacji danych 66

konkurencyjno aplikacji 332kontekst wi zania 389kontrola wprowadzanych danych 263

metoda onColumnChanged 269wstrzymanie walidacji wiersza 267zako czenie edycji rekordu 267

wymuszenie 267kontroler 16 25

AccountController 195Admin 223AdminController 212aplikacja Kardy 63asynchroniczny 466

a zadania 472dane wyj ciowe 25domeny 150ErrorController 174Glosowania 103Home 182 224 228 231

Bezpiecze stwo 336filtr wyj tku 131

HomeController 184EksportDanych 415Northwind 245

interfejs Web API 477KsiegaGosciController 424

Kup książkę Poleć książkę

532 ASPNET MVC

kontrolerLista 93Mapa 33

autouzupe nianie 117modyfikacja 45

niedost pne metody publiczne 136obs uga POST 431panelu administracyjnego 212

zarz dzanie grupami u ytkownikoacutew 220Pracownicy 57 64PracownicyController

implementacja 481Produkty 351projektowanie 27przekazywanie danych do widoku

zmiany 439uwierzytelnienia 195

klasa 198model 196widoki 203

uzupe nienie o widok 31u ycie modelu odsy anego przez widok 440ValuesController 478weryfikacja funkcjonalno ci 28wi zanie adresu URL z akcj 430widoki 58

konwersja obrazu 278kreator

Add New Item 242Add View 59 302Application 162blokowania szczegoacute oacutew b doacutew 172dodanie u ytkownikoacutew 164grup u ytkownikoacutew 165Provider 162Publish Web 501Security 162tworzenia pracownika 59ustawie aplikacji 167widokoacutew 60wyboacuter dostawcoacutew us ug 178

kwerendy parametryczne 274 401

Llayout witryny 30LINQ

to Entities 349lista rekordoacutew 301

prezentacja 304logika

aplikacji 30bazodanowa 30biznesowa 44

a cuch QueryString 26

Mmaster 315mechanizm

automatycznych w a ciwo ci 57autoryzacji 157eksportu danych 413filtroacutew 127grupowania plikoacutew 475IntelliSense 119QuerynotString 117szyfruj cy 187transakcji 319 321

przelewy bankowe 326wyznaczania trasy przejzdu 34

meotdaInsert 299ProtectSection 191WersjonowanieDataRow

definicja widoku 265message authentication code 155metoda

on 262HtmlValidationSummary 204About 124AcceptChanges 255 263ActionLinkActionLink 61 63 353AddUserToRole 159akcji 25

parametry opcjonalne 27aktualizacja statystyk ankiety 105AktualizujZdjeciePracownika 288Application_AuthenticateRequest 108Application_BeginRequest 107 108Application_End 108Application_EndRequest 107Application_Error 108 172Application_Start 108 123 139 430asynchroniczna kontrolera 472AttachTo 356Authenticate 152AutoUzupelnienie 117

zapytanie LINQ 118BeginEdit 267BeginForm 47 94BeginTransaction 326 332CancelEdit 263ChangeObjectState 356

Kup książkę Poleć książkę

Skorowidz 533

ChangePassword 200hiper cze 208widok 206

ChangePasswordSuccesswidok 206

CreateNazwaEncji 354CreateRole 159CreateUser 153czyBazaDanychIstnieje 326daneDostawcyForm 262DBeginnotEdit 263Delete 270DeleteObject 357DeleteRole 159DeleteUser 153DeszyfrujPlikKonfiguracyjny 191DodajDostawce 255DodajElementDoListy 94 97 101DodajGrupe 223DodajKomentarz 185DodajPracownika 299 491DopiszDoPlikuLog 430Edit 356EdytujDaneDostawcy 261EdytujDanePracownika 493Eksportuj 418EmptyResult 26EndEdit 263EndForm 47ErrorCodeToString 201Fill 246FillByCityName 275FormatDateTime 390FormsAuthenticationSetCookie 199GenerujDane 468Get(int id) 478GetAllRoles 159GetAsync 486GetChildRecords 291GetSection 170GetSectionGroup 170GetUser 153GetUsersInRole 160globalna

aplikacji ASPNET 108Grupy 223HasVersion 263HtmlListBox 97HtmlRenderPartial 101HtmlValidationSummary 61HtmlHelperLabel 437ImiePierwszegoPracownika 246 247Include 475Index 47 79 97 101

kontrolera Mapa 34testowanie 28

IsAjaxRequest 101IsMatch 76IsNotNull 29IsUserInRole 159Label 35ListaDostawcow 252 255ListaPracownikow 248

hiper cze skojarzone 249LogOff 198LogOn 198Macierzowy 397mapowalna 26MetodaAsynchronicznaWatki 472ModelStateAddModelError 199MvcApplicationRegisterRoutes 430obs uga zapyta POST 431odczyt aktualnych bilansoacutew kont 323OdczytajStanyKont 326OnActionExecuted 143OnActionExecuting 127 143onColumnChanged 269OnResultExecuted 144OnResultExecuting 144onRowChanged 266onRowChanging 268OpenConfiguration 170otwarcie po czenia z baz danych 341OtworzPlikDanych 107Page_Load 399PartialViewResult 26PobierzDane 394

modyfikacja 401PobierzPlikLogu 141 143PobierzZdjecie 278PokazTrasy 51PokazWyniki 107pomocnicza 25 455

HtmlEncode 51wykorzystanie 456

PostAsJsonAsync 486PostAsXmlAsync 486PostAsync 486PostResolveRequestCache 121PracownicyWedlugMiast

przechowywanie warto ci filtru 285PutAsJsonAsync 493PutAsXmlAsync 493PutAsync 493ReadAsAsync 486ReadXml 107ReadXmlSchema 107RedirectFromLoginPage 152

Kup książkę Poleć książkę

534 ASPNET MVC

metodaRedirectResult 26RedirectToAction 26RedirectToLoginPage 152RedirectToRoute 26RedirectToRouteResult 26RefreshReport 384Register 199 478RegisterAuth 461 462RegisterBundles 475RegisterGlobalFilters 171RegisterRoutes 94 123RejectChanges 256 263rejestrowanie zdarze aplikacji 430RemoveUserFromRole 160Render 384 413 418RenderPartial 99ResponseWrite 223ResultExecuteResult 143RoleExists 159RolesIsUserInRole 216RolesRemoveUsersFromRole 223route 35RowsAdd 255RozpocznijEdycje 269

hiper cze uruchamiaj ce 267SaveChanges 354ScaffoldingMasterDetail 317Session_End 108Session_Start 108SetAuthCookie 152SetParameters 401 405SignOut 152SprawdzDopasowania 79SprawdzPoprawnoscDatyZatrudnienia 67SqlPermissionAdd 343SqlTransactionCommit 326SqlTransactionRollback 326StronaNieIstnieje 175submit 115SzyfrowaniePlikuKonfiguracyjnego 190szyfruj ca i deszyfruj ca 189SzyfrujPlikKonfiguracyjny 191TextBox 35ThreadSleep 469 472TransactionScopeComplete 329Transfer 36UpdateUser 153UstawParametryRaportu 399UsunGrupe 223UsunTrase 50 51UtworzPracownika 64Uzytkownicy 216ValidateUser 152 153

ValidationMessage 437ValidationMessageFor 61ValidationSummary 437ViewResult 26WebApiConfigRegister 478WersjonowanieDataRow 265

sparametryzowanie 266WpisyZapiszDoPlikuXml 430wykonywanie przelewoacutew 323WyswietlLog 141 142 143wyswietlMape 34 35WyswietlTrase 50

modyfikacja 135 166wyznaczTrase 35ZaktualizujWyniki 107Zapami tajNazw U ytkownika 432ZmienStanKont 328

Microsoft SQL Server 319sposoby uwierzytelnienia 344

MIME type 390minification 476minimalizacja 476model 16 39

APM 464ChangePasswordModel 196EAP 465integracja z elementami aplikacji 39LogOnModel 196obs uga plikoacutew XML 427przesy anie z kontrolera do widoku 432 435RegisterModel 196TAP 465

model binding 48model danych encji 348

dodawanie encji 353edycja encji 355kreator 348 349

czenie encji 359metody akcji 354opcje 361projektowanie relacji 43tworzenie 349

schematu bazy danych 357usuwanie encji 357wyboacuter tabel 350

model first 52model zwi zkoacutew encji 347models 16Model-View-Controller 15Model-View-ViewModel 227Model-Widok-Kontroler 15modu

UrlAuthorizationModule 157

Kup książkę Poleć książkę

Skorowidz 535

MVC 15a Web Forms 16 365 367 423

kod 442serwer internetowych us ug

informacyjnych 495wydajno 443wykorzystanie w projektach 444

ataki XSS 185autoryzacja 158 162bezpiecze stwo aplikacji 152buforowanie 134domy lne wzorce aplikacji 21kreator aplikacji 20mechanizm filtrowania 127Model Binder 355nazwa kontrolera 27obs uga interakcji klient-serwer 121parametry opcjonalne 27pobieranie parametru z adresu URL 26projektowanie aplikacji 18 52przetwarzanie dania aplikacji klienckiej 18sprawdzanie poprawno ci danych 68struktura modelu 39techniki walidacji danych 53utworzenie widoku 30uzupe nianie o komponenty graficzne 367walidacja 438wersja 4 449wyboacuter mechanizmu przetwarzaj cego widoki 21wzorce URL 122zbioacuter modeli szablonu aplikacji 196roacuted o danych 40

MVC4 449grupowanie i optymalizacja skryptoacutew 475kaskadowe arkuszye stylu 475przetwarzanie asynchroniczne 464przystosowanie do urz dze mobillnych 457testowanie aplikacji 457uwierzytelnianie 460

integracja z portalem Facebook 462wsparcie dla urz dze mobilnych 450zdalna autoryzacja 461

MVVM 227

Nnarz dzie

aspnet_regiis 187przetwarzanie tekstu 73

Northwindinstalacja 240kwerenda wybieraj ca 240pobieranie informacji o dostawcach 251

NuGET 483nullable-types 27

OOAuth 461obiekt

AppDomain 339 341Chart 406Command 239Connection 239 241

w a ciwo i 243ConnectionString 343

sposoby uwierzytelniania 344szyfrowanie informacji 335

DataAdapter 239DataGridView 491DataReader 239 273DataRow 255

kontrola wprowadzonych danych 263usuwanie rekordoacutew 270wersje 263wersja proponowana 265wersjonowanie 263w a ciwo ci 255

DataSet 239 244 345edycja rekordoacutew 257kreator konfiguracji TableAdapter 274modyfikacja danych 249tworzenie nowych rekordoacutew 250usuwanie rekordoacutew 271wstawianie rekordoacutew 251wymuszenie wi zoacutew integralno ci 292

DataTable 107DirectionsService 35dostawca 153FormCollection 47jqXHR 218List 389logiki biznesowej 348materializacja 348Matrix 390Membership 152MvcRouteHandler 121 122o okre lonym typie danych 244o silnej typizacji 244o s abej typizacji 247ObjectStateManager 348PartialView 98ReportViewer 368ReportViewerLocalReport 418Request 26 101 432Response 26Route 122ShippersRow 255SqlConnCAS 341SqlConnection 326

Kup książkę Poleć książkę

536 ASPNET MVC

obiektTableAdapter 239 244 273 274 345

edycja danych 279 286wstawianie danych 294

TransactionScope 329parametryzacja 331

typuadres 118AppDomain 466ConcurrentDictionary 479NorthwindDataSet 247ObjectSetltTgt 348Route 121Thread 466

UrlRoutingModule 121ViewBag 36

przekazywanie danych do widoku WebForms 376

ViewData 36 79 432Object Relational Mapping 347Object Services 348obs uga b doacutew

konfiguracja 132w czenie 129

odrzucenie informacji o transakcji 148od wie anie witryny

a fragment widoku 97aktualizacja zawarto ci 113cz ciowe 96

OnSuccess 96operator

await 474konkatenacji 382Top 411Top N 411

ORM 347

Pparametr

CountryName 401data 115filtr 117mapDivId 35maxIloscRekordow 117Order 137raportu 395scopeTimeOut 330

warto ci 330TransactionScopeOption

warto ci 329type 115

parametryzacja kwerend 274partial view 30

piaskownica 341Plain Old CLR Object 360platforma NET

us ugi uwierzytelniania 153plik

ascx 22aspx 22bmp 390cookie 151cookies 154 155cshtml 22 434css 475edmx 360jpg 390js 475konfiguracyjny

zabezpieczenie 187master 22png 390rdl 368rdlc 368tekstowy

wy wietlenie w przegl darce 143vbhtml 22

POCO 360pola klucza 237polecenie

HtmlEncode 187ScriptsRender 476StylesRender 476GET 18POST 18

po czenieze roacuted em danych 241

pomocnik HTML 455Portable Document Format 413po rednik 341poziom izolacji 332

Chaos 333konfiguracja 332ReadCommitted 333ReadUncommitted 333Serializable 333Snapshot 333Unspecified 333

poziom zaufania 339ograniczenie 340

proceduraajax 115AjaxBeginForm 96niemapowalna 26PartialView 26serialize 115

Kup książkę Poleć książkę

Skorowidz 537

proces 465programowanie

oparte na zdarzeniach 17zdarzeniowe 17

projekt aplikacji MVCankieta 102asynchroniczne przetwarzanie da HTTP 92Bezpiecze stwo 181 336

nawi zanie komunikacji ze roacuted emdanych 342

szyfrowanie pliku konfiguracyjnego 191dodawanie i wy wietlanie komentarzy 183domy lny 20EksportDanych 413Filtry 131formularz oceny 107Kadry

walidacja adresu e-mail 84Kardy 55KsiegaGosci_MVC3 424lista prezentuj ca dodawane elementy 97MojaNawigacja 18

blokowanie samodzielnego tworzeniakont 224

buforowanie danych 135implementacja warstwy dost pu 42instalacja na serwerze IIS 500komunikat powitalny 168komunikaty 110komunikaty o b dach 173mechanizm podpowiedzi 115model weryfikuj cy po wiadczenia

u ytkownikoacutew 196modele kontrolera uwierzytelnienia 196od wie enie widoku mapy 109struktura 21szablon 19szablon witryny 225trasowanie da HTTP 123uzupe nienie o baz danych 40uzupe nienie o walidacj danych 69widok b du 175zablokowanie nieautoryzowanego

dost pu 128zarz dzanie u ytkownikami 163zarz dzanie grupami u ytkownikoacutew 212zarz dzanie procesem logowania 198

MsAjax 92NorthwindMVC 241

lista rekordoacutew 301szablon witryny 250

POCO 361priorytety regu filtrowania 137

Raport 368szablon

mechanizmy uwierzytelnienia 156zarz dzanie grupami u ytkownikoacutew 159

Transakcje 319aktualizacja danych 328formularz aktualizacji 328szablon stron 320

uzupe nianie widokiem GridView 49WyrazeniaRegularne 76Zapytania_EF 349

projekt aplikacji MVC4AsynchronicznyKontroler 466

prezentacja danych 468AutoryzacjaOAuth 461implementacja serwisu sieciowego 479konfiguracja grupowania 475MobileMvc 450

testowanie 457pobranie zdj cia 452przygotowanie listy pracownikoacutew 452SerwisSieciowy 477

projekt aplikacji Windows Formsedycja danych 487KlientWebAPI 483tworzenie nowych pracownikoacutew 486

dania typuDELETE 493POST 486PUT 491

projektowaniekontrolera 27widoku 31

protokoacuteFTP 495Kerberos 150NTLM 150SMTP 495SSL 337

proxy 341przechowywanie

informacji o trasach 44wynikoacutew g osowania 107

przeci enie aplikacji 147przekazywanie

danych 44mi dzy widokiem a kontrolerem 36

parametroacutew do metod akcji kontrolera 26przestrze nazw

SystemThreading 465przyjazne linki 122publikowanie aplikacji 495 500

na serwerze IIS 497

Kup książkę Poleć książkę

538 ASPNET MVC

pule aplikacji 465 497konfiguracja 498Windows 7 499Windows 8 500

Rraporty

dane w postaci macierzowej 390data 386definicja

dynamiczna 418filtrowanie danych 394

na poziomie roacuted a 401 418filtry 395formaty prezentacji danych 379grupowanie danych 381hiper cza 387

nawigacyjne 376kolumny obliczeniowe 378konfiguracja

filtrowania dynamicznego 396typu 392roacuted a danych 368

kreator formu 382macierzowe 391numery stron 386obrazy 390parametry 383 394

konfiguracja 399paski narz dziowe 379pola

bazy danych 386formularza 398raportu 390

po czenie z aplikacj 368prezentowanie uk adu graficznego 383projektowanie 371

i prezentowanie 368przystosowanie strony do obs ugi raportoacutew

387renderowanie 368tryby definicji 368tworzenie

definicji lokalnej 368formu 378przy u yciu kreatora 372

uk ad 383wstawianie nag oacutewka i stopki 385wykresy 406wy wietlenie 375

Razor 21 30przetwarzanie definicji widoku 208

RDL 418rekordy

edycja 307lista 301tworzenie 311usuwanie 305

Relationship 347Report Definition Language 418Report Wizard 371repudiation 148request 442response 442responsywno 464rollback transaction 319routing 22 430routowanie 121

SSandBox 341scaffolding 301Secure Socket Layer 337sekcja

membership 178roleManager 179set 441

serwerSMTP

konfiguracja 171us ug informacyjnych 149

weryfikacja to samo ci u ytkownika 149Simple Mail Transfer Protocol 495s owo kluczowe

helper 455await 474using 47 329

spaghetti code 18spoofing 147SQL Server Reporting Services 367SSRS 367stan pola

typu CheckBox 269pobieranie 264

STRIDE 148strona startowa

MojaNawigacja 226strona wzorcowa 30

aplikacji Kadry 55referencja do bibliotek skryptoacutew 70

systemowy serwer us ug informacyjnych 121szyfrowanie po czenia 335

ze roacuted em danych 336

Kup książkę Poleć książkę

Skorowidz 539

Ttabela danych

Categories 418Customers 305deklaracje kaskadowych arkuszy stylu 275edycja

danych 279danych w wierszu 257rekordoacutew 307 310

Employees 240 288filtrowanie listy 275integralno danych 288Konta 321 326kwerenda wybieraj ca 240Orders 291 315OrdersDetails 307pobieranie fotografii 276pobranie danych z wykorzystaniem JScript 280prezentacja

danych 277 325informacji 252listy danych 248pierwszego rekordu 246rekordoacutew 317

przekazanie do widoku 248Shippers 251tworzenie rekordoacutew 311umieszczenie w bazie danych 321uruchomienie edycji danych 258usuwanie

danych 288rekordoacutew 271 305 306

widok b du 268wstawianie

danych 294rekordoacutew 251

wy wietlenie listykonfiguracja hiper cza 315

zako czenie edycji rekordu 267tablica asocjacyjna 479tablica bajtoacutew

konwersja do bitmapy 277tampering 147task pane 371Task-based Asynchronous Pattern 465TDD 15

test jednostkowy funkcjonalno ci kontrolera28

Test-Driven Development 15testowanie

aplikacji 29wzorcoacutew wyra e regularnych 76 78

Toolbox 274

transakcje 319automatyczne zarz dzanie 327otaczaj ce 329poziom izolacji 332tworzenie i r czna kontrola 319

trasowanie 121aplikacja 430blokowanie dost pu 124domy lne regu y 123Ksi gaGosci_MVC3 430w asne regu y 124

trasowanie adresoacutew URL 121T-SQL 319

czynno ci bazodanowe 345tworzenie

bazy danych 40interfejsu u ytkownika

jQM 459szablony 231wzorzec MVVM 227

u ytkownika 200kody b doacutew 201

widoku Index 231wzorcoacutew wyra e regularnych 76

typed DataSet 244typizacja

silna 46s aba 46

typy puste 27

Uujawnienie krytycznych informacji 147ukryte pola 441Uniform Resource Locator 18URL 18uruchomienie aplikacji 503us uga

AspNetSqlProvider 178ustawienia aplikacji 167

odczytanie z pliku konfiguracyjnego 169UTC 155uwierzytelnienie 149

centralny serwis 151certyfikaty 150formularze logowania 151

atrybuty elementu forms 154konfiguracja 153mechanizmy zintegrowane z ASPNET 149na bazie protoko u NTLM 150przekazywanie informacji 151proste 150skroacutecone 150us ugi systemu Windows 150

Kup książkę Poleć książkę

540 ASPNET MVC

Vvariable placeholders 122view engine 21views 16viewstate 442Visual Studio

kreator projektu 19Visual Studio Development Server 496VS 2012

instalacja 240kreator Add New Item 242

VSDS 496

Wwalidacja

adresue-mail 83URL 83WWW 84

danych 53a technologia Entity Framework 68konfiguracja 66modelu Pracownik 66odwo anenie do jQuery 61po stronie klienta 67wyra enia regularne 73

skrypty i style walidatoroacutew 438w asno ci klasy encji 435

w tek 465Web API 477

edycja danych 491klient 483konfiguracja interfejsu 478obs uga da typu POST 486pobranie danych z serwera 485serwis sieciowy 479usuwanie danych 493

web serwer 495Web Site Administration Tool 161

konfigurowanie uprawnie 165zarz dzanie

dostawcami us ug 178u ytkownikami 163

WebForms 17bezpiecze stwo aplikacji 152integracja komponentoacutew z MVC 367kontrolka Repeater 434obs uga wyj tkoacutew 172przetwarzanie dania aplikacji klienckiej 18separacja modelu 427weryfikacja poprawno ci projektu 434

weryfikacjakodu pocztowego 81to samo ci 151

widok 16 25 30aplikacji

MVC4 453przystosowanie do urz dze mobilnych

459Transakcje 326

cz ciowy 30dodawanie 31edycji klienta 307elementy 31formularz

dodawania wpisu 425logowania 203

kontroleraaplikacja Kadry 58panelu administracyjnego 222

kontrolera AdminController 213kontrolera Dopasowania 77kontrolera ErrorControler 174kontrolera Glosowania 103kontrolera Home 131 169 182 307

metodaWyswietlLog 142Raport 375Transakcje 320

kontrolera HomeController 246AsynchronicznyKontroler 468EksportDanych 417

kontrolera Lista 93kontrolera Mapa 33 34

formularz 70Trasa 50

kreatorakonta u ytkownika 205zmiany has a 206

listyklientoacutew 302pracownikoacutew 61wyznaczonych tras 48zamoacutewie 316

mapyod wie enie 108parametryzacja 34

mechanizm przetwarzania 30modyfikowanie formularza 437obs uga wyj tkoacutew 130Pracownicycshtml 453projektowanie 31transfer danych do kontrolera 36typu CRUD 52

Kup książkę Poleć książkę

Skorowidz 541

typu GridViewimplementacja 48

typy plikoacutew 30utworzenie 30uzupe nianie tre ci 33walidacja 435wi zanie z modelem 437wstawianie rekordoacutew 312wynikoacutew ankiety 105wy wietlanie wpisoacutew 432

wielodziedziczenie 360Windows Authentication Provider 149Windows Data Protection API 187Windows Forms

implementacja klienta 483Windows Live ID 149w a ciwo

ConnectionString 243IsMobileDevice 460ModelStateIsValid 47

wstawianie rekordoacutew 299wstrzykni cie kodu 181 185wykresy 406

konfiguracjaserii danych 407typu 407

pobranie danych roacuted owych 408wy czenie aplikacji 171wyra enia lambda 46wyra enia regularne 73

atrybuty modelu 84liczba wyst pie sk adnikoacutew 76wzorzec

adres URL 83imi e skie 81kod pocztowy 80tworzenie 76

znaki i cyfry 74znaki specjalne 74znaki w wyznaczonych miejscach a cucha 75

wzorzecodnajdywanie

znakoacutew i cyfr 74znakoacutew specjalnych 74znakoacutew w wyznaczonych miejscach

a cucha 75okre lanie

liczby wyst pie znakoacutew 76

XXSS 181

Zzabezpieczenia

aplikacji bazodanowych 335ataki XSS 187informacje o b dach 171kodu po redniego 338konfiguracja 161konfiguracja aplikacji

kreatory 162obs uga wyj tkoacutew 171pliku konfiguracyjnego 167 187przed atakami 148ustawienia aplikacji 167witryny 181zarz dzanie dostawcami us ug 178z o liwy kod 181

zarz dzanieu ytkownikami i grupami 211

dost p do panelu administracyjnego 216lista grup 221podzia na grupy 220pobieranie listy 213tworzenie nowej grupy 222zmiana przynale no ci do grupy 215

z o ono ci aplikacji 16zdarzenie

DataGridViewCellDoubleClick 491rejestrowanie 430

z o liwy koddzia anie 181

znacznikinput 288

znaki specjalneodnajdywanie 74

zwi zanie z modelem 48zwi zek 347

danie 25asynchroniczna obs uga 92 466 470

skrypty 318zadania 473

GET 64POST 64przetwarzanie 127zablokowanie obs ugi 124

Kup książkę Poleć książkę

Notatki

Kup książkę Poleć książkę

Spis tre ci 5

Implementacja w asnych filtroacutew 139Filtry akcji 139Filtry autoryzacyjne wyniku i wyj tkoacutew 144

Podsumowanie 146

Rozdzia 10 Bezpieczne aplikacje internetowe 147Potrzeba zabezpiecze 147Uwierzytelnienie i autoryzacja 149

Mechanizmy uwierzytelnienia zintegrowane z ASPNET 149Konfiguracja uwierzytelnienia 153Autoryzacja 157Grupy u ytkownikoacutew 158

Podsumowanie 160

Rozdzia 11 Konfiguracja zabezpiecze i panel Web Site Administration Tool 161Wprowadzenie 161U ytkownicy grupy i regu y dost pu 163Ustawienia aplikacji oraz odczyt zawarto ci pliku konfiguracyjnego 167Wy czenie aplikacji i konfiguracja serwera SMTP 171Komunikaty o b dach 171Zarz dzanie dostawcami us ug 178Podsumowanie 179

Rozdzia 12 Zabezpieczenie witryny przed z o liwym kodem 181Wprowadzenie 181Dzia anie z o liwego kodu 181Zabezpieczanie pliku konfiguracyjnego 187Podsumowanie 192

Rozdzia 13 Kontroler uwierzytelnienia w aplikacji ASPNET MVC 195Wprowadzenie 195Model 195Klasa kontrolera 198Widoki kontrolera 203Podsumowanie 209

Rozdzia 14 Dynamiczne zarz dzanie u ytkownikami i grupami 211Wprowadzenie 211Kontroler panelu administracyjnego 212Podzia u ytkownikoacutew na grupy 219Podsumowanie 224

Rozdzia 15 Biblioteka Knockout 227Knockout czyli interfejs u ytkownika z wykorzystaniem wzorca MVVM 227Knockout mdash wykorzystanie szablonoacutew JavaScript 230

Cz II Technologie bazodanowew aplikacjach internetowych 235

Rozdzia 16 Podstawy ADONET 237Podstawy relacyjnych baz danych 237Technologia ADONET 238

Kup książkę Poleć książkę

6 ASPNET MVC

Instalacja bazy Northwind 240Po czenie ze roacuted em danych 241Modyfikacja danych w obiekcie DataSet 249

Tworzenie nowych rekordoacutew 250Edycja rekordoacutew 257Wersjonowanie obiektu DataRow i kontrola wprowadzanych danych 263Usuwanie rekordoacutew 270

Rozdzia 17 Obiekt TableAdapter jako pomost mi dzy DataSeta roacuted em danych 273Parametryzacja kwerend 274Edycja danych przy u yciu obiektu TableAdapter 279Integralno danych i ich usuwanie 288Wstawianie danych z wykorzystaniem obiektu TableAdapter 294

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie internetowychaplikacji bazodanowych 301Lista rekordoacutew 301Usuwanie rekordoacutew 305Edycja rekordoacutew 307Tworzenie rekordoacutew 311Formularz z podformularzem (MasterDetail Form) 315

Rozdzia 19 Transakcje 319Tworzenie i r czna kontrola transakcji 319Automatyczne zarz dzanie transakcjami 327Konkurencyjno i poziom izolacji transakcji 332

Rozdzia 20 Bezpiecze stwo w aplikacjach bazodanowych 335Szyfrowanie po czenia 335Zabezpieczenie kodu po redniego przy pomocy Code Access Security (CAS) 338ConnectionString a sposoby uwierzytelnienia w serwerze MS SQL Server 344Uwagi ko cowe dotycz ce projektowania aplikacji bazodanowych 345

Rozdzia 21 Entity Framework 347Podstawy Entity Framework 348

Pierwsze zapytanie 348Detale produktu 352Dodawanie nowego produktu 353Edycja produktu 355Usuwanie produktu 357Tworzenie schematu bazy danych na bazie modelu encji 357Entity Framework i POCO 360

Cz III ASPNET MVC a ASPNET WebForms 365

Rozdzia 22 Integracja komponentoacutew WebForms z aplikacj ASPNET MVCna przyk adzie technologii SQL Server Reporting Services 367Pierwszy raport 368

Konfiguracja roacuted a danych 368Projektowanie raportu 371

Kup książkę Poleć książkę

Spis tre ci 7

Kolumny obliczeniowe raportu 378Stosowanie formatu prezentacji danych 379Grupowanie danych 381

Projektowanie graficznego uk adu raportu 383Etykiety rysunki i listy 384Prezentacja danych w postaci macierzowej 390

Parametry raportu i filtrowanie danych 394Filtr definiowany na poziomie raportu 395Filtrowanie raportu na etapie pobierania danych roacuted owych 401

Kluczowe wska niki efektywno ci 403Wykresy 406

Rozdzia 23 Eksport danych 413

Rozdzia 24 Ksi ga go ci w MVC Poroacutewnanie ASPNET Web Formsi ASPNET MVC 423Tworzenie projektu 423Widok mdash formularz dodawania wpisu 425Model mdash obs uga plikoacutew XML 427Aplikacja mdash rejestrowanie zdarze i trasowanie 430Kontroler mdash obs uga POST 431Widok mdash wy wietlanie wpisoacutew 432Widok mdash walidacja 435Kontroler mdash u ycie modelu odsy anego przez widok 440

Dodatki 447

Dodatek A ASPNET MVC 4 449Wsparcie dla urz dze mobilnych 449

Sformu owanie problemu 450Przystosowanie widokoacutew aplikacji do urz dze mobilnych 457

OAuth czyli otwarta autoryzacja 460Implementacja zdalnej autoryzacji w powi zaniu z portalem Facebook 461

Przetwarzanie asynchroniczne 464Wprowadzenie 464Potrzeba wykorzystania asynchronicznych kontroleroacutew 466Kontrolery asynchroniczne i klasa Thread 469Kontrolery asynchroniczne a zadania 472

Grupowanie i optymalizacja skryptoacutew oraz kaskadowych arkuszy styloacutew 475Web API 477

Wprowadzenie 477Implementacja serwisu sieciowego 479Implementacja klienta Web API 483

Podsumowanie 494

Dodatek B Publikacja aplikacji ASPNET za pomoc internetowychus ug informacyjnych (IIS) 495Wprowadzenie 495Instalacja i konfiguracja serwera internetowych us ug informacyjnych IIS 496

Instalacja serwera IIS w systemie Windows 7 496Instalacja serwera IIS w systemie Windows 8 496

Kup książkę Poleć książkę

8 ASPNET MVC

Publikowanie aplikacji na serwerze IIS 497Konfiguracja puli aplikacji 498Instalacja ASPNET 445 na serwerze IIS 498Publikacja aplikacji 500Uruchomienie aplikacji 503

IIS jako serwer do rozwoju aplikacji 504

Dodatek C ASPNET Identity w MVC 5 i Visual Studio 2013 505Wst p 505Szablony projektoacutew ASPNET w Visual Studio 2013 505Kontroler zarz dzaj cy u ytkownikami i rolami 508

Dynamiczne zarz dzanie u ytkownikami 509Statyczne zarz dzanie rolami 519Dynamiczne zarz dzanie rolami 519

Przyk adowe wykorzystanie roacutel 524Podsumowanie 526

Skorowidz 527

Kup książkę Poleć książkę

Rozdzia 18

Scaffolding czyliekspresowe tworzenieinternetowych aplikacjibazodanowych

Dawid Borycki

W dwoacutech poprzednich rozdzia ach samodzielnie utworzyli my komponenty prezentuj -ce dane rekordoacutew z bazy danych a tak e umo liwiaj ce ich edycj i usuwanie Wyko-rzystali my do tego celu bibliotek jQuery UI W tym rozdziale chcia bym zaprezen-towa tak zwany scaffolding Jest to procedura dost pna mi dzy innymi w aplikacjachASPNET MVC umo liwiaj ca automatyczne wygenerowanie widokoacutew (komponen-toacutew) aplikacji internetowej ktoacutere realizuj bazodanowy schemat CRUD (ang CreateRead Update Delete) Schemat CRUD obejmuje podstawowe elementy wszystkichaplikacji bazodanowych czyli tworzenie odczytywanie aktualizowanie i usuwanierekordoacutew z tabel danych

Lista rekordoacutewOpis techniki scaffolding w aplikacjach ASPNET MVC rozpoczn od wygenerowa-nia widoku listy rekordoacutew w aplikacji NorthwindMVC Automatycznie wygenerowa-ny widok skoryguj w celu dostosowania go do potrzeb aplikacji

1 G oacutewny widok aplikacji NorthwindMVC (plik Indexcshtml) uzupe nijo nast puj ce polecenie

ltpgt HtmlActionLink(Scaffolding ScaffoldingList)ltpgt

Kup książkę Poleć książkę

302 Cz II Technologie bazodanowe w aplikacjach internetowych

2 W Solution Explorer rozwi w ze Views a nast pnie kliknij prawymprzyciskiem myszy folder Home

3 Wybierz opcj Add a nast pnie Viewhellip z menu kontekstowego

4 W kreatorze Add View (rysunek 181)

Rysunek 181Widok kreatoraAdd View

a) Zmie nazw widoku na ScaffoldingList

b) Zaznacz pole wyboru Create a strongly-typed view

c) Z listy dost pnych modeli wybierz pozycj CustomersRow

d) Z listy rozwijanej Scaffold template wybierz List

e) Kliknij przycisk Add

5 Utworzony w ten sposoacuteb plik ScaffoldingListcshtml zmodyfikuj wed ugwzoru z listingu 181

Listing 181 Zmodyfikowany widok listy klientoacutew

model IEnumerableltNorthwindMVCModelsNorthwindDataSetCustomersRowgt

ViewBagTitle = ScaffoldingList

lth2gtScaffoldingListlth2gtlth2gtLista klientoacutewlth2gt

ltpgt HtmlActionLink(Create New Create) HtmlActionLink(Nowy rekord ScaffoldingCreate)ltpgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 303

lttablegt lttrgt ltthgt CustomerID ltthgt ltthgt CompanyName ltthgt ltthgt ContactName ltthgt ltthgt ContactTitle ltthgt ltthgt Address ltthgt ltthgt City ltthgt ltthgt Region ltthgt ltthgt PostalCode ltthgt ltthgt Country ltthgt ltthgt Phone ltthgt ltthgt Fax ltthgt ltthgt RowError ltthgt ltthgt HasErrors ltthgt ltthgtltthgt lttrgt

foreach (var item in Model) lttrgt lttdgt HtmlDisplayFor(modelItem =gt itemCustomerID) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCompanyName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactName) lttdgt lttdgt

Kup książkę Poleć książkę

304 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlDisplayFor(modelItem =gt itemContactTitle) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemAddress) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCity) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemRegion) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemPostalCode) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCountry) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemPhone) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemFax) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemRowError) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemHasErrors) lttdgt lttdgt HtmlActionLink(Edytuj ScaffoldingEdit new id = itemCustomerID ) | HtmlActionLink(Zamoacutewienia ScaffoldingMasterDetail new id = itemCustomerID ) | HtmlActionLink(Usu ScaffoldingDelete new id = itemCustomerID ) lttdgt lttrgt

lttablegt

6 W pliku HomeControllercs

a) Utwoacuterz pole klasyCustomersTableAdapter customersTableAdapter = new CustomersTableAdapter()

b) Dodaj polecenia z listingu 182

Listing 182 Prezentacja listy klientoacutew

private void PobierzDaneKlientow() northwindDataSetEnforceConstraints = false customersTableAdapterFill(northwindDataSetCustomers)

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 305

northwindDataSetEnforceConstraints = true

public ActionResult ScaffoldingList() PobierzDaneKlientow() return View(ScaffoldingList northwindDataSetCustomers)

7 Skompiluj i uruchom aplikacj

Po uruchomieniu aplikacji i klikni ciu hiper cza z etykiet Scaffolding zostanie wy-wietlona lista klientoacutew ktoacuterej posta powinna by analogiczna do przedstawionej na

rysunku 182 W kolejnym kroku zaimplementujemy mo liwo usuwania edycji oraztworzenia rekordoacutew w tabeli Customers

Rysunek 182 Lista klientoacutew

Usuwanie rekordoacutewW celu zaimplementowania mo liwo ci usuwania rekordoacutew z tabeli Customers wyko-naj nast puj ce czynno ci

1 W widoku projektowania obiektu NorthwindDataSet skonfiguruj relacjpomi dzy tabelami Orders i Customers wed ug wzoru z rysunku 183

2 Klas kontrolera Home uzupe nij o polecenia z listingu 183

Kup książkę Poleć książkę

306 Cz II Technologie bazodanowe w aplikacjach internetowych

Rysunek 183Konfiguracja wi zoacutewintegralno ci danych

Listing 183 Usuwanie rekordoacutew z tabeli Customers

private void AktualizujDaneKlientow() northwindDataSetEnforceConstraints = false

orderDetailsTableAdapterUpdate(northwindDataSetOrder_Details) ordersTableAdapterUpdate(northwindDataSetOrders) customersTableAdapterUpdate(northwindDataSetCustomers)

northwindDataSetEnforceConstraints = true

public ActionResult ScaffoldingDelete(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) if (cdr = null) Usuwanie rekordoacutew potomnych DataRow[] zamowienia = cdrGetChildRows(northwindDataSetRelations[FK_Orders_Customers])

foreach (DataRow dr in zamowienia) drDelete()

Usuwanie rekordu klienta cdrDelete()

Aktualizacja wszystkich powi zanych tabel AktualizujDaneKlientow()

return ScaffoldingList()

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 307

Podczas usuwania danego rekordu nale y zadba o rekordy z innych tabel ktoacutere sz nim zwi zane relacjami Wiersze tabeli Customers s skojarzone z rekordami z tabelOrders oraz OrdersDetails Z tego powodu aktualizuj zawarto ci tych tabel po usu-ni ciu wybranego rekordu klienta Osierocone rekordy z tabeli Orders s usuwane ra-zem z nim

Edycja rekordoacutewDo edycji rekordoacutew w tabeli Customers potrzebny b dzie odpowiedni widok ktoacuteryprzygotuj na bazie automatycznie wygenerowanego kodu roacuted owego

1 Zgodnie z przepisem z podrozdzia u bdquoLista rekordoacutewrdquo utwoacuterz widokkontrolera Home i skonfiguruj go wed ug wzoru z rysunku 184

Rysunek 184Konfiguracja widokuedycji klienta

2 Wygenerowany automatycznie plik widoku ScaffoldingEditcshtmlzmodyfikuj zgodnie z listingiem 184

Listing 184 Definicja widoku edycji klienta

model NorthwindMVCModelsNorthwindDataSetCustomersRow

ViewBagTitle = ScaffoldingEdit

lth2gtScaffoldingEditlth2gtlth2gtEdycja rekordulth2gt

ltscript src=UrlContent(~Scriptsjqueryvalidateminjs)type=textjavascriptgtltscriptgt

Kup książkę Poleć książkę

308 Cz II Technologie bazodanowe w aplikacjach internetowych

ltscript src=UrlContent(~Scriptsjqueryvalidateunobtrusiveminjs)type=textjavascriptgtltscriptgt

using (HtmlBeginForm(EdytujDaneKlienta Home new id = ModelCustomerID)) HtmlValidationSummary(true) ltfieldsetgt ltlegendgtDane klientaCustomersRowltlegendgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCustomerID) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCustomerID) HtmlValidationMessageFor(model =gt modelCustomerID) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCompanyName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCompanyName) HtmlValidationMessageFor(model =gt modelCompanyName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactName) HtmlValidationMessageFor(model =gt modelContactName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactTitle) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactTitle) HtmlValidationMessageFor(model =gt modelContactTitle) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelAddress) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelAddress) HtmlValidationMessageFor(model =gt modelAddress) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCity) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCity) HtmlValidationMessageFor(model =gt modelCity) ltdivgt

ltdiv class=editor-labelgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 309

HtmlLabelFor(model =gt modelRegion) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRegion) HtmlValidationMessageFor(model =gt modelRegion) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPostalCode) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPostalCode) HtmlValidationMessageFor(model =gt modelPostalCode) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCountry) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCountry) HtmlValidationMessageFor(model =gt modelCountry) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPhone) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPhone) HtmlValidationMessageFor(model =gt modelPhone) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelFax) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelFax) HtmlValidationMessageFor(model =gt modelFax) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRowError) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRowError) HtmlValidationMessageFor(model =gt modelRowError) ltdivgt

ltpgt ltinput type=submit value=SaveZapisz gt ltpgt ltfieldsetgt

ltdivgt HtmlActionLink(Back to List Index) HtmlActionLink(Powroacutet do listy rekordow ScaffoldingList)ltdivgt

Kup książkę Poleć książkę

310 Cz II Technologie bazodanowe w aplikacjach internetowych

3 W kontrolerze Home zdefiniuj metody z listingu 185

Listing 185 Edycja danych klienta

public ActionResult ScaffoldingEdit(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id)

if (cdr = null) return View(ScaffoldingEdit cdr) else return ScaffoldingList()

private void PrzepiszDaneKlienta(FormCollection daneKlienta refNorthwindDataSetCustomersRow rekordKlienta)

rekordKlientaCompanyName = daneKlienta[CompanyName]ToString() rekordKlientaContactName = daneKlienta[ContactName]ToString() rekordKlientaContactTitle = daneKlienta[ContactTitle]ToString() rekordKlientaAddress = daneKlienta[Address]ToString() rekordKlientaCity = daneKlienta[City]ToString()

public ActionResult EdytujDaneKlienta(FormCollection daneKlienta string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) if (cdr = null) PrzepiszDaneKlienta(daneKlienta ref cdr) AktualizujDaneKlientow() return ScaffoldingList()

Proces edycji rekordu w bazie danych za pomoc technologii ADONET opiera si nainformacjach zebranych w poprzednich rozdzia ach wi c nie b d go tu szczegoacute owoopisywa Celem tego przyk adu by o automatyczne wygenerowanie widoku umo li-wiaj cego edycj danych klienta przystosowanie go do w asnych potrzeb oraz inte-gracja z kontrolerem

Separacja modelu widoku i kontrolera umo liwia narz dziom Visual Studio 2012 auto-matyczne generowanie widoku na podstawie definicji modelu Jednak e jak pokaza-em w tym podrozdziale kreator tworzy widok ktoacutery umo liwia edycj wszystkich poacutel

rekordu (nawet identyfikatora) co sprawia e w wi kszo ci przypadkoacutew nale y sa-modzielnie edytowa plik widoku w celu przystosowania go do potrzeb projektowanejaplikacji Jednak jak pokazuje powy szy przyk ad nie jest to rzecz skomplikowan

Integracja widoku z kontrolerem polega na odpowiednim przekazywaniu informacjio edytowanym rekordzie oraz warto ci jego poacutel Do tego celu wykorzysta em identy-fikator klienta ktoacutery jednoznacznie identyfikuje rekordy w tabeli Customers

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 311

Przyk adowy wynik polece zaimplementowanych w tym podrozdziale przedstawiarysunek 185

Rysunek 185Edycja danych klienta

Tworzenie rekordoacutewW poprzednich podrozdzia ach zaimplementowa em trzy spo roacuted czterech podstawo-wych elementoacutew schematu CRUD czyli odczytywanie (R) aktualizacj (U) oraz usu-wanie (D) rekordoacutew Ostatnim elementem jest tworzenie (C) nowych rekordoacutew W celuzaimplementowania procedury uzupe niania tabeli Customers nowymi rekordami na-le y post pi nast puj co

1 W Solution Explorer rozwi w ze Views a nast pnie kliknij prawymprzyciskiem myszy folder Home

2 Wybierz opcj Add a nast pnie Viewhellip z menu kontekstowego

3 W kreatorze Add View

a) Zmie nazw widoku na ScaffoldingCreate

b) Zaznacz pole wyboru Create a strongly-typed view

c) Z listy dost pnych modeli wybierz pozycj CustomersRow

d) Z listy rozwijanej Scaffold template wybierz Create

e) Kliknij przycisk Add

4 Utworzony w ten sposoacuteb plik ScaffoldingCreatecshtml zmodyfikuj wed ugwzoru z listingu 186

Kup książkę Poleć książkę

312 Cz II Technologie bazodanowe w aplikacjach internetowych

Listing 186 Widok umo liwiaj cy wstawianie rekordoacutew do tabeli Customers

model NorthwindMVCModelsNorthwindDataSetCustomersRow

ViewBagTitle = ScaffoldingCreate

lth2gtScaffoldingCreatelth2gtlth2gtTworzenie rekordulth2gt

ltscript src=UrlContent(~Scriptsjqueryvalidateminjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~Scriptsjqueryvalidateunobtrusiveminjs)type=textjavascriptgtltscriptgt

using (HtmlBeginForm(DodajKlienta Home)) HtmlValidationSummary(true) ltfieldsetgt ltlegendgtDane klientaCustomersRowltlegendgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCustomerID) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCustomerID) HtmlValidationMessageFor(model =gt modelCustomerID) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCompanyName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCompanyName) HtmlValidationMessageFor(model =gt modelCompanyName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactName) HtmlValidationMessageFor(model =gt modelContactName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactTitle) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactTitle) HtmlValidationMessageFor(model =gt modelContactTitle) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelAddress) ltdivgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 313

ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelAddress) HtmlValidationMessageFor(model =gt modelAddress) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCity) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCity) HtmlValidationMessageFor(model =gt modelCity) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRegion) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRegion) HtmlValidationMessageFor(model =gt modelRegion) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPostalCode) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPostalCode) HtmlValidationMessageFor(model =gt modelPostalCode) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCountry) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCountry) HtmlValidationMessageFor(model =gt modelCountry) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPhone) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPhone) HtmlValidationMessageFor(model =gt modelPhone) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelFax) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelFax) HtmlValidationMessageFor(model =gt modelFax) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRowError) ltdivgt ltdiv class=editor-fieldgt

Kup książkę Poleć książkę

314 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlEditorFor(model =gt modelRowError) HtmlValidationMessageFor(model =gt modelRowError) ltdivgt

ltpgt ltinput type=submit value=CreateUtwoacuterz gt ltpgt ltfieldsetgt

ltdivgt HtmlActionLink(Back to List Index) HtmlActionLink(Powroacutet do listy ScaffoldingList)ltdivgt

5 Definicj kontrolera Home uzupe nij o polecenia z listingu 187

Listing 187 Wstawianie rekordoacutew do tabeli Customers

private char PobierzZnak(string lancuch int index) Random random = new Random() char znak

if (lancuchLength gt index) znak = lancuch[index] else znak = (char)randomNext(0 255)ToString()[0]

return znak

private void UtworzIdentyfikatorKlienta(ref NorthwindDataSetCustomersRowdaneKlienta)

string identyfikator = int indexZnaku = 0

identyfikator += PobierzZnak(daneKlientaCompanyName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactTitle indexZnaku) identyfikator += PobierzZnak(daneKlientaAddress indexZnaku) identyfikator += PobierzZnak(daneKlientaCity indexZnaku)

daneKlientaCustomerID = identyfikator

public ActionResult DodajKlienta(FormCollection daneKlienta string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersNewCustomersRow()

PrzepiszDaneKlienta(daneKlienta ref cdr)

UtworzIdentyfikatorKlienta(ref cdr)

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 315

customersTableAdapterInsert(cdrCustomerID cdrCompanyName cdrContactName cdrContactTitle cdrAddress cdrCity )

AktualizujDaneKlientow()

return ScaffoldingList()

Wstawienie rekordoacutew do tabeli Customers jest analogiczne do ich edycji Jedyn roacute -nic jest konieczno utworzenia identyfikatora klienta gdy nie jest on tworzonyautomatycznie jak to by o w przypadku tabeli Employees Identyfikatory rekordoacuteww tabeli Customers s pi cioelementowymi ci gami znakoacutew Tworz je na podstawiepierwszych liter poacutel CompanyName ContactName ContactTitle Address oraz City Je liw tych polach znajduj si puste ci gi to odpowiedni liter zast puj losowo wyge-nerowanym znakiem

W kolejnym podrozdziale poka w jaki sposoacuteb wy wietli informacje o rekordachpotomnych opieraj c si na relacji pomi dzy tabelami

Formularz z podformularzem(MasterDetail Form)

Jako podsumowanie tego rozdzia u utworz formularz z podformularzem tak zwanyformularz MasterDetail Jego dzia anie polega na tym e wy wietlanie danych od-bywa si na bazie co najmniej dwoacutech komponentoacutew (np blokoacutew czy tabel) oraz rela-cji mi dzy tabelami Pierwszy komponent prezentuje rekordy zawarte w tabeli g oacutew-nej (ang master) a drugi zawiera dane z tabeli podrz dnej (ang detail) Komponentzwi zany z tabel podrz dn ma zazwyczaj za zadanie prezentowa szczegoacute owe da-ne odpowiadaj ce rekordowi z tabeli nadrz dnej ktoacutery zosta wskazany przy pomocyzwi zanej z nim listy rekordoacutew Pola tych tabel musz by zatem uporz dkowane w takisposoacuteb aby pokazywa y informacj o tym samym rekordzie Uzyskuje si to przy po-mocy relacji mi dzy tabelami ktoacuterej zadaniem jest powi zanie informacji zawartychw bazie danych

W tym podrozdziale tabel nadrz dn b dzie tabela Customers a podrz dn OrdersPo klikni ciu na hiper cze z etykiet zamoacutewienia wy wietli si lista rekordoacutew tabeliOrders skojarzonych z danym klientem dania prezentacji zamoacutewie b d realizo-wane asynchronicznie

1 Plik widoku ScaffoldingListcshtml zmodyfikuj wed ug wzoru z listingu 188

Listing 188 Konfiguracja hiper cza umo liwiaj cego wy wietlenie listy zamoacutewie danego klienta

hellipforeach (var item in Model) lttrgt lttdgt

Kup książkę Poleć książkę

316 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlDisplayFor(modelItem =gt itemCustomerID) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCompanyName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactTitle) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemAddress) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCity) lttdgt lttdgt HtmlActionLink(Edytuj ScaffoldingEdit new id = itemCustomerID ) | AjaxActionLink(Zamoacutewienia ScaffoldingMasterDetail new id = itemCustomerID new AjaxOptions UpdateTargetId = zamowienia OnSuccess = documentgetElementById(zamowienia)scrollIntoView() ) | HtmlActionLink(Usu ScaffoldingDelete new id = itemCustomerID ) lttdgt lttrgtlttablegt

ltdiv id=zamowieniagtltdivgt

2 Utwoacuterz widok cz ciowy o nazwie ZamowieniaPartialViewcshtml i wstaww nim polecenia z listingu 189

Listing 189 Definicja widoku prezentuj cego list zamoacutewie

model IEnumerableltNorthwindMVCModelsNorthwindDataSetOrdersRowgt

if (Model == null) lth2gtBrak zamoacutewie lth2gtelse lth2gtLista zamoacutewie lth2gt

lttablegt lttrgt ltthgt OrderDate ltthgt ltthgt RequiredDate ltthgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 317

ltthgt ShippedDate ltthgt ltthgt ShipName ltthgt ltthgt ShipAddress ltthgt ltthgt ShipCity ltthgt ltthgtltthgt lttrgt

foreach (var item in Model) lttrgt lttdgt itemOrderDateToShortDateString() lttdgt lttdgt itemRequiredDateToShortDateString() lttdgt lttdgt itemShippedDateToShortDateString() lttdgt lttdgt itemShipName lttdgt lttdgt itemShipAddress lttdgt lttdgt itemShipCity lttdgt lttrgt lttablegt

3 Kontroler Home uzupe nij o metod ScaffoldingMasterDetail ktoacuterej definicjprzedstawi em na listingu 1810

Listing 1810 Pobranie i prezentacja rekordoacutew potomnych wybranego klienta

public ActionResult ScaffoldingMasterDetail(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) NorthwindDataSetOrdersRow[] zamowieniaPracownika = null

if (cdr = null) zamowieniaPracownika = (NorthwindDataSetOrdersRow[])cdrGetChildRows(FK_Orders_Customers)

Kup książkę Poleć książkę

318 Cz II Technologie bazodanowe w aplikacjach internetowych

if (RequestIsAjaxRequest()) return View(ZamowieniaPartialView zamowieniaPracownika) else return ScaffoldingList()

4 Sekcj ltheadgt pliku _Layoutcshtml uzupe nij o polecenia z listingu 1811

Listing 1811 Import skryptoacutew obs uguj cych dania asynchroniczne

ltscript src=UrlContent(~Scriptsjqueryunobtrusive-ajaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftAjaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftMvcAjaxjs)type=textjavascriptgtltscriptgt

5 Po skompilowaniu i uruchomieniu aplikacji powiniene uzyska efektanalogiczny do przedstawionego na rysunku 186

Rysunek 186 Przyk ad formularza typu MasterDetail

Kup książkę Poleć książkę

Skorowidz

AACL 149action methods 25ActiveX Data Object 238ADO 238ADONET 238

obiekty 238podstawy 237synchronizacja buforu ze roacuted em danych 273

adresy URLautoryzacja 157parametry 122trasowanie 121wzorce 122 123

agile programming 15AJAX 91

aktualizacja bloku witryny 113dodanie referencji do bibliotek JavaScript 94

akcjaCreate 354Delete 357Details 353dodaj ca nowy produkt 355Edit 356

aktualizacjazawarto ci elementu witryny 92

algorytmRSA 187

ambient transaction 329ankieta 102AntiXss 187aplikacje

bazodanowe 235bezpiecze stwo 335mechanizm transakcji 319scaffolding 301

synchronizacja ze roacuted em danych 273uwagi do projektowania 345

mo liwo edytowania wpisoacutew 441rejestrowanie zdarze i trasowanie 430

Application Domain 339architektura obiektowa 347ASPNET

konfiguracja aplikacji 161mechanizmy uwierzytelnienia 149metody globalne 107w czanie i wy czanie aplikacji 171

ASPNET AJAX 91ASPNET MVC 15

komponenty 16ASPX 21 30asynchroniczne przetwarzanie da http

jQuery 113Asynchronous JavaScript and XML 48Asynchronous Programming Model 464ataki

rodzaje 147SQL Injection 148 344wy udzenie informacji 148z o liwy kod 181

atrybut 347AcceptVerbs(HttpPost) 47AcceptVerbs(HttpVerbsPost) 65AssociationAttribute 58Authorize 200AuthorizeAttribute 128autoryzacyjny 145ConcurrencyCheckAttribute 58Confirm 95cookieless 154CustomValidationAttribute 58 66data-bind 230DataType 54 57

Kup książkę Poleć książkę

528 ASPNET MVC

atrybutDataTypeAttribute 58defaultRedirect 173defaultUrl 154DisplayAttribute 58DisplayColumnAttribute 58DisplayName 436EditableAttribute 58enableCrossAppRedirects 155EnumDataTypeAttribute 58FilterUIHintAttribute 58HandleError 138 175HandleErrorAttribute 129HttpMethod 95InsertionMode 95KeyAttribute 58klasy do konfiguracji metadanych 57 58LoadingElementDuration 110LoadingElementId 95 110Log

klasa implementuj ca 142loginUrl 154MetadataType 69MetadataTypeAttribute 58mode 153 173modelu 55name 155NonAction 26 135OnBegin 95OnComplete 95OnFailure 95OnSuccess 95 110OutputCache 133OutputCacheAttribute

parametry 134passwordFormat 156protection 155Range 54 66RangeAttribute 58redirectMode 173RegularExpressionAttribute 58Required 54 66RequiredAttribute 58RequireHttps 135requireSSL 155slidingExpiration 155StringLength 66StringLengthAttribute 58TestClass 29TestMethod 29ticketCompatibilityMode 155timeout 155TimestampAttribute 58UpdateTargetId 95

Url 95ValidateInput 185

atrybuty modeluwyra enia regularne 84

Attribute 347authentication ticket 151auto post back 217autocomplete textbox 115automatyczne uzupe nienie pola tekstowego 115autoryzacja 149 157

adresoacutew URL 157konfiguracja 157

grupy u ytkownikoacutew 158mechanizm filtrowania 158otwarta 460plikoacutew 157zdalna

powi zanie z portalem Facebook 461Azure 496

Bbazy danych 40 237

aktualizacja 41lista rekordoacutew 301Northwind 240

detale produktu 352dodawanie po cze 350pobieranie produktoacutew 351

po czenie ze roacuted em danych 241relacyjne 237schemat CRUD 301transakcje 319tworzenie 321

nowego rekordu 48schematu na bazie modelu encji 357

usuwanie danych 290regu y integralno ci 293

usuwanie powi zanych wierszyrekordy potomne 291

warstwa dost pu 42bezpiecze stwo

aplikacji internetowych 147ataki 147mechanizmy 149

biblioteka NETprogramowanie asynchroniczne 464

biblioteka skryptoacutewMapajs 32

bilet uwierzytelniaj cy 151b dy

dzia ania aplikacji 171strona b du 176tworzenie u ytkownika 202wprowadzenie z ego rekordu 268

Kup książkę Poleć książkę

Skorowidz 529

body 383buforowanie

danych ze roacutede zewn trznych 133bundling 475Business Intelligence 368

Ccallback 35CAS 151 338CDN 113Central Authentication Service 151centralna us uga uwierzytelnienia 151certyfikat 337CLR

procesy systemowe 466Code Access Security 338Confirm 96connString 341controllers 16Coordinated Universal Time 155Create Read Update Delete 301cross-site scripting 181CRUD 54 301Crystal Reports 368

Ddane

agregacja 378bezpo redni dost p do roacuted a 346eksport 413

do dokumentu tekstowego 419do PDF 420skoroszyt MS Excel 421tabele dynamiczne 418

integralno 288 319pomini cie sprawdzania 292regu y 291

modyfikacja 249platforma modelowania 347prezentacja

graficzna 406w postaci macierzowej 390

przekazywaniez formularza do roacuted a 46z kontrolera do widoku 437 439

serializacja i transfer struktur 117szyfrowanie 337typu

ActionResult 25walidacja 53weryfikacja 53wi zy integralno ci 306

wy wietlanie 315zabezpieczenie 338

Data Binding 389Data Definition Language 345Database Management System 237DBMS 237

wi zy integralno ci 238DDL 345denial of service 147detail 315Development Server 504DIE 53DisplayFormatAttribute 58document object model 92DOM 92domena aplikacji 339 466

instancja obiektoacutew 341tworzenie 339wspoacute dzielenie obiektu 341

dostawcy us ug 178dost p anonimowy 150DotNetOpenAuth 149DPAPI 187DRY 53dyrektywa

model 46

Eelement

customErrors 173success 115

elevation of privilege 147encapsulation 107encja 347

atrybuty 54bazodanowa 54KategoriaProduktu 358odwzorowanie w bazie danych 360Order_Details 362Orders 361Products 361Produkt 358

Entity 347Entity Framework 43 347

POCO 360potwierdzenie explicite 356technologie 349wersje 347

Entity Relationship Model 347Entity SQL 349ERM 347Event-based Asynchronous Pattern 465event-driven programming 17

Kup książkę Poleć książkę

530 ASPNET MVC

FFile Transfer Protocol 495filtry 127

akcji 127 139autoryzacyjne 127 144dynamiczne 395kolejno wykonywania 137

priorytety 138Log

metody 141LogAttribute

definicja klasy 140podstawowe atrybuty 128statyczne 395w asne 139wyj tkoacutew 128 144

niestandardowe 145wyniku 128 144

for 434foreach 51Forms Authentication Provider 149formularz

MasterDetail 315z podformularzem 315

funkcjadelay 217ListaPracownikoacutew 57Mid 390RolesIsUserInRole 217Today 390wyznaczaj ca tras 109zmienPrzynaleznoscDoGrupy 217 218

GGauge 383 403GDI 368graficzny interfejs u ytkownika 17 30Graphics Device Interface 368GridView 48grupy u ytkownikoacutew

autoryzacja 158GUI 17

Hhard-coding 167haszowanie 150helper methods 25html helper 455

Iidentyfikator

klienta 315rekordoacutew 315

IIS 121 149 495instalacja

ASPNET 445 498serwera w Windows 7 496serwera w Windows 8 496

mened er Windows 499uruchamianie aplikacji 503

serwer do rozwoju aplikacji 504information disclosure 147instancje aplikacji 465instancjonowanie modelu 39IntelliSense 247interfejs u ytkownika

przycisk umo liwiaj cy dodanie pracownika294

przycisk usuni cia wybranego rekordu 289Internet Information Services 121internetowe us ugi informacyjne 495in ynieria spo eczna 148Isolation Level 332izolacja 339 466

JJavaScript Object Notation 117jQM 457jQuery

autocomplete 116pliki roacuted owe 113

jQuery Mobile 457jQuery UI 367

wykorzystanie przyciskoacutew 284JSON 117

obiekt typu adres 118

KKey Performance Indicators 403klasa

AccountController 198ActionExecutingContext 143AdminController 212Ajax 94AjaxOptions 94

atrybuty 95AspNetHidden 442AssemblyName 170Assert 29

Kup książkę Poleć książkę

Skorowidz 531

AuthConfig 461BundleConfig 475Configuration 170ConfigurationManager 170ConfigurationSection 187 188ConnectionStringBuilder 345DpapiProtectedConfigurationProvider 187FiltryRaportuMacierzowego 397Form1 484FormsAuthentication 152Global 430HandleErrorInfo 133HtmlHelper 437HttpClient 483 486HttpResponseMessage 486kontekstu 362LogOnModel 198MarshallByRefObject 341Membership 152 198 211MvcApplication 430NorthwindContext 362ObjectContext 348ObjectQueryltTgt 348Order_Details 362Orders 361Osoba 228ParametryWatku 470Pracownik 484Products 361Produkt 230Raport 392RequestBrowser 460ResultExecutedContext 144ResultExecutingContext 144Roles 211RsaProtectedConfigurationProvider 187SQLConnCAS

definicja 340stowarzyszona z modelem 69SystemNetHttpFormattingJsonMediaTypeF

ormatter 491SystemTextRegularExpressions 74SystemWebSecurityRoles 159Task 465 472testuj ca 29Thread 465 469TransactionScope 327UrlRoutingModule 121ViewData 434 436 439WebApiConfig 478WebConfigurationManager 170Wpisy 427 436

klucze 237MAC 155obce 238podstawowe 238

kluczowe wska niki efektywno ci 403dynamiczna zmiana warto ci 404

Knockout 227wykorzystanie szablonoacutew JavaScript 230wywo anie skryptu 229

kodowanie danychprzekazywanych przez u ytkownikoacutew 186

komponentFormDanePracownika 489obiektu

PartialView 99typu ListBox 99

ReportViewer 368 375eksport danych 413nawigacja mi dzy stronami raportu 377

komponenty u ytkownika 30komunikaty o b dach 171

kod statusowy 174 175koncepcja programowania zdarzeniowego 16konfiguracja

po czenia z baz danych 241uprawnie puli aplikacji 454walidacji danych 66

konkurencyjno aplikacji 332kontekst wi zania 389kontrola wprowadzanych danych 263

metoda onColumnChanged 269wstrzymanie walidacji wiersza 267zako czenie edycji rekordu 267

wymuszenie 267kontroler 16 25

AccountController 195Admin 223AdminController 212aplikacja Kardy 63asynchroniczny 466

a zadania 472dane wyj ciowe 25domeny 150ErrorController 174Glosowania 103Home 182 224 228 231

Bezpiecze stwo 336filtr wyj tku 131

HomeController 184EksportDanych 415Northwind 245

interfejs Web API 477KsiegaGosciController 424

Kup książkę Poleć książkę

532 ASPNET MVC

kontrolerLista 93Mapa 33

autouzupe nianie 117modyfikacja 45

niedost pne metody publiczne 136obs uga POST 431panelu administracyjnego 212

zarz dzanie grupami u ytkownikoacutew 220Pracownicy 57 64PracownicyController

implementacja 481Produkty 351projektowanie 27przekazywanie danych do widoku

zmiany 439uwierzytelnienia 195

klasa 198model 196widoki 203

uzupe nienie o widok 31u ycie modelu odsy anego przez widok 440ValuesController 478weryfikacja funkcjonalno ci 28wi zanie adresu URL z akcj 430widoki 58

konwersja obrazu 278kreator

Add New Item 242Add View 59 302Application 162blokowania szczegoacute oacutew b doacutew 172dodanie u ytkownikoacutew 164grup u ytkownikoacutew 165Provider 162Publish Web 501Security 162tworzenia pracownika 59ustawie aplikacji 167widokoacutew 60wyboacuter dostawcoacutew us ug 178

kwerendy parametryczne 274 401

Llayout witryny 30LINQ

to Entities 349lista rekordoacutew 301

prezentacja 304logika

aplikacji 30bazodanowa 30biznesowa 44

a cuch QueryString 26

Mmaster 315mechanizm

automatycznych w a ciwo ci 57autoryzacji 157eksportu danych 413filtroacutew 127grupowania plikoacutew 475IntelliSense 119QuerynotString 117szyfruj cy 187transakcji 319 321

przelewy bankowe 326wyznaczania trasy przejzdu 34

meotdaInsert 299ProtectSection 191WersjonowanieDataRow

definicja widoku 265message authentication code 155metoda

on 262HtmlValidationSummary 204About 124AcceptChanges 255 263ActionLinkActionLink 61 63 353AddUserToRole 159akcji 25

parametry opcjonalne 27aktualizacja statystyk ankiety 105AktualizujZdjeciePracownika 288Application_AuthenticateRequest 108Application_BeginRequest 107 108Application_End 108Application_EndRequest 107Application_Error 108 172Application_Start 108 123 139 430asynchroniczna kontrolera 472AttachTo 356Authenticate 152AutoUzupelnienie 117

zapytanie LINQ 118BeginEdit 267BeginForm 47 94BeginTransaction 326 332CancelEdit 263ChangeObjectState 356

Kup książkę Poleć książkę

Skorowidz 533

ChangePassword 200hiper cze 208widok 206

ChangePasswordSuccesswidok 206

CreateNazwaEncji 354CreateRole 159CreateUser 153czyBazaDanychIstnieje 326daneDostawcyForm 262DBeginnotEdit 263Delete 270DeleteObject 357DeleteRole 159DeleteUser 153DeszyfrujPlikKonfiguracyjny 191DodajDostawce 255DodajElementDoListy 94 97 101DodajGrupe 223DodajKomentarz 185DodajPracownika 299 491DopiszDoPlikuLog 430Edit 356EdytujDaneDostawcy 261EdytujDanePracownika 493Eksportuj 418EmptyResult 26EndEdit 263EndForm 47ErrorCodeToString 201Fill 246FillByCityName 275FormatDateTime 390FormsAuthenticationSetCookie 199GenerujDane 468Get(int id) 478GetAllRoles 159GetAsync 486GetChildRecords 291GetSection 170GetSectionGroup 170GetUser 153GetUsersInRole 160globalna

aplikacji ASPNET 108Grupy 223HasVersion 263HtmlListBox 97HtmlRenderPartial 101HtmlValidationSummary 61HtmlHelperLabel 437ImiePierwszegoPracownika 246 247Include 475Index 47 79 97 101

kontrolera Mapa 34testowanie 28

IsAjaxRequest 101IsMatch 76IsNotNull 29IsUserInRole 159Label 35ListaDostawcow 252 255ListaPracownikow 248

hiper cze skojarzone 249LogOff 198LogOn 198Macierzowy 397mapowalna 26MetodaAsynchronicznaWatki 472ModelStateAddModelError 199MvcApplicationRegisterRoutes 430obs uga zapyta POST 431odczyt aktualnych bilansoacutew kont 323OdczytajStanyKont 326OnActionExecuted 143OnActionExecuting 127 143onColumnChanged 269OnResultExecuted 144OnResultExecuting 144onRowChanged 266onRowChanging 268OpenConfiguration 170otwarcie po czenia z baz danych 341OtworzPlikDanych 107Page_Load 399PartialViewResult 26PobierzDane 394

modyfikacja 401PobierzPlikLogu 141 143PobierzZdjecie 278PokazTrasy 51PokazWyniki 107pomocnicza 25 455

HtmlEncode 51wykorzystanie 456

PostAsJsonAsync 486PostAsXmlAsync 486PostAsync 486PostResolveRequestCache 121PracownicyWedlugMiast

przechowywanie warto ci filtru 285PutAsJsonAsync 493PutAsXmlAsync 493PutAsync 493ReadAsAsync 486ReadXml 107ReadXmlSchema 107RedirectFromLoginPage 152

Kup książkę Poleć książkę

534 ASPNET MVC

metodaRedirectResult 26RedirectToAction 26RedirectToLoginPage 152RedirectToRoute 26RedirectToRouteResult 26RefreshReport 384Register 199 478RegisterAuth 461 462RegisterBundles 475RegisterGlobalFilters 171RegisterRoutes 94 123RejectChanges 256 263rejestrowanie zdarze aplikacji 430RemoveUserFromRole 160Render 384 413 418RenderPartial 99ResponseWrite 223ResultExecuteResult 143RoleExists 159RolesIsUserInRole 216RolesRemoveUsersFromRole 223route 35RowsAdd 255RozpocznijEdycje 269

hiper cze uruchamiaj ce 267SaveChanges 354ScaffoldingMasterDetail 317Session_End 108Session_Start 108SetAuthCookie 152SetParameters 401 405SignOut 152SprawdzDopasowania 79SprawdzPoprawnoscDatyZatrudnienia 67SqlPermissionAdd 343SqlTransactionCommit 326SqlTransactionRollback 326StronaNieIstnieje 175submit 115SzyfrowaniePlikuKonfiguracyjnego 190szyfruj ca i deszyfruj ca 189SzyfrujPlikKonfiguracyjny 191TextBox 35ThreadSleep 469 472TransactionScopeComplete 329Transfer 36UpdateUser 153UstawParametryRaportu 399UsunGrupe 223UsunTrase 50 51UtworzPracownika 64Uzytkownicy 216ValidateUser 152 153

ValidationMessage 437ValidationMessageFor 61ValidationSummary 437ViewResult 26WebApiConfigRegister 478WersjonowanieDataRow 265

sparametryzowanie 266WpisyZapiszDoPlikuXml 430wykonywanie przelewoacutew 323WyswietlLog 141 142 143wyswietlMape 34 35WyswietlTrase 50

modyfikacja 135 166wyznaczTrase 35ZaktualizujWyniki 107Zapami tajNazw U ytkownika 432ZmienStanKont 328

Microsoft SQL Server 319sposoby uwierzytelnienia 344

MIME type 390minification 476minimalizacja 476model 16 39

APM 464ChangePasswordModel 196EAP 465integracja z elementami aplikacji 39LogOnModel 196obs uga plikoacutew XML 427przesy anie z kontrolera do widoku 432 435RegisterModel 196TAP 465

model binding 48model danych encji 348

dodawanie encji 353edycja encji 355kreator 348 349

czenie encji 359metody akcji 354opcje 361projektowanie relacji 43tworzenie 349

schematu bazy danych 357usuwanie encji 357wyboacuter tabel 350

model first 52model zwi zkoacutew encji 347models 16Model-View-Controller 15Model-View-ViewModel 227Model-Widok-Kontroler 15modu

UrlAuthorizationModule 157

Kup książkę Poleć książkę

Skorowidz 535

MVC 15a Web Forms 16 365 367 423

kod 442serwer internetowych us ug

informacyjnych 495wydajno 443wykorzystanie w projektach 444

ataki XSS 185autoryzacja 158 162bezpiecze stwo aplikacji 152buforowanie 134domy lne wzorce aplikacji 21kreator aplikacji 20mechanizm filtrowania 127Model Binder 355nazwa kontrolera 27obs uga interakcji klient-serwer 121parametry opcjonalne 27pobieranie parametru z adresu URL 26projektowanie aplikacji 18 52przetwarzanie dania aplikacji klienckiej 18sprawdzanie poprawno ci danych 68struktura modelu 39techniki walidacji danych 53utworzenie widoku 30uzupe nianie o komponenty graficzne 367walidacja 438wersja 4 449wyboacuter mechanizmu przetwarzaj cego widoki 21wzorce URL 122zbioacuter modeli szablonu aplikacji 196roacuted o danych 40

MVC4 449grupowanie i optymalizacja skryptoacutew 475kaskadowe arkuszye stylu 475przetwarzanie asynchroniczne 464przystosowanie do urz dze mobillnych 457testowanie aplikacji 457uwierzytelnianie 460

integracja z portalem Facebook 462wsparcie dla urz dze mobilnych 450zdalna autoryzacja 461

MVVM 227

Nnarz dzie

aspnet_regiis 187przetwarzanie tekstu 73

Northwindinstalacja 240kwerenda wybieraj ca 240pobieranie informacji o dostawcach 251

NuGET 483nullable-types 27

OOAuth 461obiekt

AppDomain 339 341Chart 406Command 239Connection 239 241

w a ciwo i 243ConnectionString 343

sposoby uwierzytelniania 344szyfrowanie informacji 335

DataAdapter 239DataGridView 491DataReader 239 273DataRow 255

kontrola wprowadzonych danych 263usuwanie rekordoacutew 270wersje 263wersja proponowana 265wersjonowanie 263w a ciwo ci 255

DataSet 239 244 345edycja rekordoacutew 257kreator konfiguracji TableAdapter 274modyfikacja danych 249tworzenie nowych rekordoacutew 250usuwanie rekordoacutew 271wstawianie rekordoacutew 251wymuszenie wi zoacutew integralno ci 292

DataTable 107DirectionsService 35dostawca 153FormCollection 47jqXHR 218List 389logiki biznesowej 348materializacja 348Matrix 390Membership 152MvcRouteHandler 121 122o okre lonym typie danych 244o silnej typizacji 244o s abej typizacji 247ObjectStateManager 348PartialView 98ReportViewer 368ReportViewerLocalReport 418Request 26 101 432Response 26Route 122ShippersRow 255SqlConnCAS 341SqlConnection 326

Kup książkę Poleć książkę

536 ASPNET MVC

obiektTableAdapter 239 244 273 274 345

edycja danych 279 286wstawianie danych 294

TransactionScope 329parametryzacja 331

typuadres 118AppDomain 466ConcurrentDictionary 479NorthwindDataSet 247ObjectSetltTgt 348Route 121Thread 466

UrlRoutingModule 121ViewBag 36

przekazywanie danych do widoku WebForms 376

ViewData 36 79 432Object Relational Mapping 347Object Services 348obs uga b doacutew

konfiguracja 132w czenie 129

odrzucenie informacji o transakcji 148od wie anie witryny

a fragment widoku 97aktualizacja zawarto ci 113cz ciowe 96

OnSuccess 96operator

await 474konkatenacji 382Top 411Top N 411

ORM 347

Pparametr

CountryName 401data 115filtr 117mapDivId 35maxIloscRekordow 117Order 137raportu 395scopeTimeOut 330

warto ci 330TransactionScopeOption

warto ci 329type 115

parametryzacja kwerend 274partial view 30

piaskownica 341Plain Old CLR Object 360platforma NET

us ugi uwierzytelniania 153plik

ascx 22aspx 22bmp 390cookie 151cookies 154 155cshtml 22 434css 475edmx 360jpg 390js 475konfiguracyjny

zabezpieczenie 187master 22png 390rdl 368rdlc 368tekstowy

wy wietlenie w przegl darce 143vbhtml 22

POCO 360pola klucza 237polecenie

HtmlEncode 187ScriptsRender 476StylesRender 476GET 18POST 18

po czenieze roacuted em danych 241

pomocnik HTML 455Portable Document Format 413po rednik 341poziom izolacji 332

Chaos 333konfiguracja 332ReadCommitted 333ReadUncommitted 333Serializable 333Snapshot 333Unspecified 333

poziom zaufania 339ograniczenie 340

proceduraajax 115AjaxBeginForm 96niemapowalna 26PartialView 26serialize 115

Kup książkę Poleć książkę

Skorowidz 537

proces 465programowanie

oparte na zdarzeniach 17zdarzeniowe 17

projekt aplikacji MVCankieta 102asynchroniczne przetwarzanie da HTTP 92Bezpiecze stwo 181 336

nawi zanie komunikacji ze roacuted emdanych 342

szyfrowanie pliku konfiguracyjnego 191dodawanie i wy wietlanie komentarzy 183domy lny 20EksportDanych 413Filtry 131formularz oceny 107Kadry

walidacja adresu e-mail 84Kardy 55KsiegaGosci_MVC3 424lista prezentuj ca dodawane elementy 97MojaNawigacja 18

blokowanie samodzielnego tworzeniakont 224

buforowanie danych 135implementacja warstwy dost pu 42instalacja na serwerze IIS 500komunikat powitalny 168komunikaty 110komunikaty o b dach 173mechanizm podpowiedzi 115model weryfikuj cy po wiadczenia

u ytkownikoacutew 196modele kontrolera uwierzytelnienia 196od wie enie widoku mapy 109struktura 21szablon 19szablon witryny 225trasowanie da HTTP 123uzupe nienie o baz danych 40uzupe nienie o walidacj danych 69widok b du 175zablokowanie nieautoryzowanego

dost pu 128zarz dzanie u ytkownikami 163zarz dzanie grupami u ytkownikoacutew 212zarz dzanie procesem logowania 198

MsAjax 92NorthwindMVC 241

lista rekordoacutew 301szablon witryny 250

POCO 361priorytety regu filtrowania 137

Raport 368szablon

mechanizmy uwierzytelnienia 156zarz dzanie grupami u ytkownikoacutew 159

Transakcje 319aktualizacja danych 328formularz aktualizacji 328szablon stron 320

uzupe nianie widokiem GridView 49WyrazeniaRegularne 76Zapytania_EF 349

projekt aplikacji MVC4AsynchronicznyKontroler 466

prezentacja danych 468AutoryzacjaOAuth 461implementacja serwisu sieciowego 479konfiguracja grupowania 475MobileMvc 450

testowanie 457pobranie zdj cia 452przygotowanie listy pracownikoacutew 452SerwisSieciowy 477

projekt aplikacji Windows Formsedycja danych 487KlientWebAPI 483tworzenie nowych pracownikoacutew 486

dania typuDELETE 493POST 486PUT 491

projektowaniekontrolera 27widoku 31

protokoacuteFTP 495Kerberos 150NTLM 150SMTP 495SSL 337

proxy 341przechowywanie

informacji o trasach 44wynikoacutew g osowania 107

przeci enie aplikacji 147przekazywanie

danych 44mi dzy widokiem a kontrolerem 36

parametroacutew do metod akcji kontrolera 26przestrze nazw

SystemThreading 465przyjazne linki 122publikowanie aplikacji 495 500

na serwerze IIS 497

Kup książkę Poleć książkę

538 ASPNET MVC

pule aplikacji 465 497konfiguracja 498Windows 7 499Windows 8 500

Rraporty

dane w postaci macierzowej 390data 386definicja

dynamiczna 418filtrowanie danych 394

na poziomie roacuted a 401 418filtry 395formaty prezentacji danych 379grupowanie danych 381hiper cza 387

nawigacyjne 376kolumny obliczeniowe 378konfiguracja

filtrowania dynamicznego 396typu 392roacuted a danych 368

kreator formu 382macierzowe 391numery stron 386obrazy 390parametry 383 394

konfiguracja 399paski narz dziowe 379pola

bazy danych 386formularza 398raportu 390

po czenie z aplikacj 368prezentowanie uk adu graficznego 383projektowanie 371

i prezentowanie 368przystosowanie strony do obs ugi raportoacutew

387renderowanie 368tryby definicji 368tworzenie

definicji lokalnej 368formu 378przy u yciu kreatora 372

uk ad 383wstawianie nag oacutewka i stopki 385wykresy 406wy wietlenie 375

Razor 21 30przetwarzanie definicji widoku 208

RDL 418rekordy

edycja 307lista 301tworzenie 311usuwanie 305

Relationship 347Report Definition Language 418Report Wizard 371repudiation 148request 442response 442responsywno 464rollback transaction 319routing 22 430routowanie 121

SSandBox 341scaffolding 301Secure Socket Layer 337sekcja

membership 178roleManager 179set 441

serwerSMTP

konfiguracja 171us ug informacyjnych 149

weryfikacja to samo ci u ytkownika 149Simple Mail Transfer Protocol 495s owo kluczowe

helper 455await 474using 47 329

spaghetti code 18spoofing 147SQL Server Reporting Services 367SSRS 367stan pola

typu CheckBox 269pobieranie 264

STRIDE 148strona startowa

MojaNawigacja 226strona wzorcowa 30

aplikacji Kadry 55referencja do bibliotek skryptoacutew 70

systemowy serwer us ug informacyjnych 121szyfrowanie po czenia 335

ze roacuted em danych 336

Kup książkę Poleć książkę

Skorowidz 539

Ttabela danych

Categories 418Customers 305deklaracje kaskadowych arkuszy stylu 275edycja

danych 279danych w wierszu 257rekordoacutew 307 310

Employees 240 288filtrowanie listy 275integralno danych 288Konta 321 326kwerenda wybieraj ca 240Orders 291 315OrdersDetails 307pobieranie fotografii 276pobranie danych z wykorzystaniem JScript 280prezentacja

danych 277 325informacji 252listy danych 248pierwszego rekordu 246rekordoacutew 317

przekazanie do widoku 248Shippers 251tworzenie rekordoacutew 311umieszczenie w bazie danych 321uruchomienie edycji danych 258usuwanie

danych 288rekordoacutew 271 305 306

widok b du 268wstawianie

danych 294rekordoacutew 251

wy wietlenie listykonfiguracja hiper cza 315

zako czenie edycji rekordu 267tablica asocjacyjna 479tablica bajtoacutew

konwersja do bitmapy 277tampering 147task pane 371Task-based Asynchronous Pattern 465TDD 15

test jednostkowy funkcjonalno ci kontrolera28

Test-Driven Development 15testowanie

aplikacji 29wzorcoacutew wyra e regularnych 76 78

Toolbox 274

transakcje 319automatyczne zarz dzanie 327otaczaj ce 329poziom izolacji 332tworzenie i r czna kontrola 319

trasowanie 121aplikacja 430blokowanie dost pu 124domy lne regu y 123Ksi gaGosci_MVC3 430w asne regu y 124

trasowanie adresoacutew URL 121T-SQL 319

czynno ci bazodanowe 345tworzenie

bazy danych 40interfejsu u ytkownika

jQM 459szablony 231wzorzec MVVM 227

u ytkownika 200kody b doacutew 201

widoku Index 231wzorcoacutew wyra e regularnych 76

typed DataSet 244typizacja

silna 46s aba 46

typy puste 27

Uujawnienie krytycznych informacji 147ukryte pola 441Uniform Resource Locator 18URL 18uruchomienie aplikacji 503us uga

AspNetSqlProvider 178ustawienia aplikacji 167

odczytanie z pliku konfiguracyjnego 169UTC 155uwierzytelnienie 149

centralny serwis 151certyfikaty 150formularze logowania 151

atrybuty elementu forms 154konfiguracja 153mechanizmy zintegrowane z ASPNET 149na bazie protoko u NTLM 150przekazywanie informacji 151proste 150skroacutecone 150us ugi systemu Windows 150

Kup książkę Poleć książkę

540 ASPNET MVC

Vvariable placeholders 122view engine 21views 16viewstate 442Visual Studio

kreator projektu 19Visual Studio Development Server 496VS 2012

instalacja 240kreator Add New Item 242

VSDS 496

Wwalidacja

adresue-mail 83URL 83WWW 84

danych 53a technologia Entity Framework 68konfiguracja 66modelu Pracownik 66odwo anenie do jQuery 61po stronie klienta 67wyra enia regularne 73

skrypty i style walidatoroacutew 438w asno ci klasy encji 435

w tek 465Web API 477

edycja danych 491klient 483konfiguracja interfejsu 478obs uga da typu POST 486pobranie danych z serwera 485serwis sieciowy 479usuwanie danych 493

web serwer 495Web Site Administration Tool 161

konfigurowanie uprawnie 165zarz dzanie

dostawcami us ug 178u ytkownikami 163

WebForms 17bezpiecze stwo aplikacji 152integracja komponentoacutew z MVC 367kontrolka Repeater 434obs uga wyj tkoacutew 172przetwarzanie dania aplikacji klienckiej 18separacja modelu 427weryfikacja poprawno ci projektu 434

weryfikacjakodu pocztowego 81to samo ci 151

widok 16 25 30aplikacji

MVC4 453przystosowanie do urz dze mobilnych

459Transakcje 326

cz ciowy 30dodawanie 31edycji klienta 307elementy 31formularz

dodawania wpisu 425logowania 203

kontroleraaplikacja Kadry 58panelu administracyjnego 222

kontrolera AdminController 213kontrolera Dopasowania 77kontrolera ErrorControler 174kontrolera Glosowania 103kontrolera Home 131 169 182 307

metodaWyswietlLog 142Raport 375Transakcje 320

kontrolera HomeController 246AsynchronicznyKontroler 468EksportDanych 417

kontrolera Lista 93kontrolera Mapa 33 34

formularz 70Trasa 50

kreatorakonta u ytkownika 205zmiany has a 206

listyklientoacutew 302pracownikoacutew 61wyznaczonych tras 48zamoacutewie 316

mapyod wie enie 108parametryzacja 34

mechanizm przetwarzania 30modyfikowanie formularza 437obs uga wyj tkoacutew 130Pracownicycshtml 453projektowanie 31transfer danych do kontrolera 36typu CRUD 52

Kup książkę Poleć książkę

Skorowidz 541

typu GridViewimplementacja 48

typy plikoacutew 30utworzenie 30uzupe nianie tre ci 33walidacja 435wi zanie z modelem 437wstawianie rekordoacutew 312wynikoacutew ankiety 105wy wietlanie wpisoacutew 432

wielodziedziczenie 360Windows Authentication Provider 149Windows Data Protection API 187Windows Forms

implementacja klienta 483Windows Live ID 149w a ciwo

ConnectionString 243IsMobileDevice 460ModelStateIsValid 47

wstawianie rekordoacutew 299wstrzykni cie kodu 181 185wykresy 406

konfiguracjaserii danych 407typu 407

pobranie danych roacuted owych 408wy czenie aplikacji 171wyra enia lambda 46wyra enia regularne 73

atrybuty modelu 84liczba wyst pie sk adnikoacutew 76wzorzec

adres URL 83imi e skie 81kod pocztowy 80tworzenie 76

znaki i cyfry 74znaki specjalne 74znaki w wyznaczonych miejscach a cucha 75

wzorzecodnajdywanie

znakoacutew i cyfr 74znakoacutew specjalnych 74znakoacutew w wyznaczonych miejscach

a cucha 75okre lanie

liczby wyst pie znakoacutew 76

XXSS 181

Zzabezpieczenia

aplikacji bazodanowych 335ataki XSS 187informacje o b dach 171kodu po redniego 338konfiguracja 161konfiguracja aplikacji

kreatory 162obs uga wyj tkoacutew 171pliku konfiguracyjnego 167 187przed atakami 148ustawienia aplikacji 167witryny 181zarz dzanie dostawcami us ug 178z o liwy kod 181

zarz dzanieu ytkownikami i grupami 211

dost p do panelu administracyjnego 216lista grup 221podzia na grupy 220pobieranie listy 213tworzenie nowej grupy 222zmiana przynale no ci do grupy 215

z o ono ci aplikacji 16zdarzenie

DataGridViewCellDoubleClick 491rejestrowanie 430

z o liwy koddzia anie 181

znacznikinput 288

znaki specjalneodnajdywanie 74

zwi zanie z modelem 48zwi zek 347

danie 25asynchroniczna obs uga 92 466 470

skrypty 318zadania 473

GET 64POST 64przetwarzanie 127zablokowanie obs ugi 124

Kup książkę Poleć książkę

Notatki

Kup książkę Poleć książkę

6 ASPNET MVC

Instalacja bazy Northwind 240Po czenie ze roacuted em danych 241Modyfikacja danych w obiekcie DataSet 249

Tworzenie nowych rekordoacutew 250Edycja rekordoacutew 257Wersjonowanie obiektu DataRow i kontrola wprowadzanych danych 263Usuwanie rekordoacutew 270

Rozdzia 17 Obiekt TableAdapter jako pomost mi dzy DataSeta roacuted em danych 273Parametryzacja kwerend 274Edycja danych przy u yciu obiektu TableAdapter 279Integralno danych i ich usuwanie 288Wstawianie danych z wykorzystaniem obiektu TableAdapter 294

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie internetowychaplikacji bazodanowych 301Lista rekordoacutew 301Usuwanie rekordoacutew 305Edycja rekordoacutew 307Tworzenie rekordoacutew 311Formularz z podformularzem (MasterDetail Form) 315

Rozdzia 19 Transakcje 319Tworzenie i r czna kontrola transakcji 319Automatyczne zarz dzanie transakcjami 327Konkurencyjno i poziom izolacji transakcji 332

Rozdzia 20 Bezpiecze stwo w aplikacjach bazodanowych 335Szyfrowanie po czenia 335Zabezpieczenie kodu po redniego przy pomocy Code Access Security (CAS) 338ConnectionString a sposoby uwierzytelnienia w serwerze MS SQL Server 344Uwagi ko cowe dotycz ce projektowania aplikacji bazodanowych 345

Rozdzia 21 Entity Framework 347Podstawy Entity Framework 348

Pierwsze zapytanie 348Detale produktu 352Dodawanie nowego produktu 353Edycja produktu 355Usuwanie produktu 357Tworzenie schematu bazy danych na bazie modelu encji 357Entity Framework i POCO 360

Cz III ASPNET MVC a ASPNET WebForms 365

Rozdzia 22 Integracja komponentoacutew WebForms z aplikacj ASPNET MVCna przyk adzie technologii SQL Server Reporting Services 367Pierwszy raport 368

Konfiguracja roacuted a danych 368Projektowanie raportu 371

Kup książkę Poleć książkę

Spis tre ci 7

Kolumny obliczeniowe raportu 378Stosowanie formatu prezentacji danych 379Grupowanie danych 381

Projektowanie graficznego uk adu raportu 383Etykiety rysunki i listy 384Prezentacja danych w postaci macierzowej 390

Parametry raportu i filtrowanie danych 394Filtr definiowany na poziomie raportu 395Filtrowanie raportu na etapie pobierania danych roacuted owych 401

Kluczowe wska niki efektywno ci 403Wykresy 406

Rozdzia 23 Eksport danych 413

Rozdzia 24 Ksi ga go ci w MVC Poroacutewnanie ASPNET Web Formsi ASPNET MVC 423Tworzenie projektu 423Widok mdash formularz dodawania wpisu 425Model mdash obs uga plikoacutew XML 427Aplikacja mdash rejestrowanie zdarze i trasowanie 430Kontroler mdash obs uga POST 431Widok mdash wy wietlanie wpisoacutew 432Widok mdash walidacja 435Kontroler mdash u ycie modelu odsy anego przez widok 440

Dodatki 447

Dodatek A ASPNET MVC 4 449Wsparcie dla urz dze mobilnych 449

Sformu owanie problemu 450Przystosowanie widokoacutew aplikacji do urz dze mobilnych 457

OAuth czyli otwarta autoryzacja 460Implementacja zdalnej autoryzacji w powi zaniu z portalem Facebook 461

Przetwarzanie asynchroniczne 464Wprowadzenie 464Potrzeba wykorzystania asynchronicznych kontroleroacutew 466Kontrolery asynchroniczne i klasa Thread 469Kontrolery asynchroniczne a zadania 472

Grupowanie i optymalizacja skryptoacutew oraz kaskadowych arkuszy styloacutew 475Web API 477

Wprowadzenie 477Implementacja serwisu sieciowego 479Implementacja klienta Web API 483

Podsumowanie 494

Dodatek B Publikacja aplikacji ASPNET za pomoc internetowychus ug informacyjnych (IIS) 495Wprowadzenie 495Instalacja i konfiguracja serwera internetowych us ug informacyjnych IIS 496

Instalacja serwera IIS w systemie Windows 7 496Instalacja serwera IIS w systemie Windows 8 496

Kup książkę Poleć książkę

8 ASPNET MVC

Publikowanie aplikacji na serwerze IIS 497Konfiguracja puli aplikacji 498Instalacja ASPNET 445 na serwerze IIS 498Publikacja aplikacji 500Uruchomienie aplikacji 503

IIS jako serwer do rozwoju aplikacji 504

Dodatek C ASPNET Identity w MVC 5 i Visual Studio 2013 505Wst p 505Szablony projektoacutew ASPNET w Visual Studio 2013 505Kontroler zarz dzaj cy u ytkownikami i rolami 508

Dynamiczne zarz dzanie u ytkownikami 509Statyczne zarz dzanie rolami 519Dynamiczne zarz dzanie rolami 519

Przyk adowe wykorzystanie roacutel 524Podsumowanie 526

Skorowidz 527

Kup książkę Poleć książkę

Rozdzia 18

Scaffolding czyliekspresowe tworzenieinternetowych aplikacjibazodanowych

Dawid Borycki

W dwoacutech poprzednich rozdzia ach samodzielnie utworzyli my komponenty prezentuj -ce dane rekordoacutew z bazy danych a tak e umo liwiaj ce ich edycj i usuwanie Wyko-rzystali my do tego celu bibliotek jQuery UI W tym rozdziale chcia bym zaprezen-towa tak zwany scaffolding Jest to procedura dost pna mi dzy innymi w aplikacjachASPNET MVC umo liwiaj ca automatyczne wygenerowanie widokoacutew (komponen-toacutew) aplikacji internetowej ktoacutere realizuj bazodanowy schemat CRUD (ang CreateRead Update Delete) Schemat CRUD obejmuje podstawowe elementy wszystkichaplikacji bazodanowych czyli tworzenie odczytywanie aktualizowanie i usuwanierekordoacutew z tabel danych

Lista rekordoacutewOpis techniki scaffolding w aplikacjach ASPNET MVC rozpoczn od wygenerowa-nia widoku listy rekordoacutew w aplikacji NorthwindMVC Automatycznie wygenerowa-ny widok skoryguj w celu dostosowania go do potrzeb aplikacji

1 G oacutewny widok aplikacji NorthwindMVC (plik Indexcshtml) uzupe nijo nast puj ce polecenie

ltpgt HtmlActionLink(Scaffolding ScaffoldingList)ltpgt

Kup książkę Poleć książkę

302 Cz II Technologie bazodanowe w aplikacjach internetowych

2 W Solution Explorer rozwi w ze Views a nast pnie kliknij prawymprzyciskiem myszy folder Home

3 Wybierz opcj Add a nast pnie Viewhellip z menu kontekstowego

4 W kreatorze Add View (rysunek 181)

Rysunek 181Widok kreatoraAdd View

a) Zmie nazw widoku na ScaffoldingList

b) Zaznacz pole wyboru Create a strongly-typed view

c) Z listy dost pnych modeli wybierz pozycj CustomersRow

d) Z listy rozwijanej Scaffold template wybierz List

e) Kliknij przycisk Add

5 Utworzony w ten sposoacuteb plik ScaffoldingListcshtml zmodyfikuj wed ugwzoru z listingu 181

Listing 181 Zmodyfikowany widok listy klientoacutew

model IEnumerableltNorthwindMVCModelsNorthwindDataSetCustomersRowgt

ViewBagTitle = ScaffoldingList

lth2gtScaffoldingListlth2gtlth2gtLista klientoacutewlth2gt

ltpgt HtmlActionLink(Create New Create) HtmlActionLink(Nowy rekord ScaffoldingCreate)ltpgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 303

lttablegt lttrgt ltthgt CustomerID ltthgt ltthgt CompanyName ltthgt ltthgt ContactName ltthgt ltthgt ContactTitle ltthgt ltthgt Address ltthgt ltthgt City ltthgt ltthgt Region ltthgt ltthgt PostalCode ltthgt ltthgt Country ltthgt ltthgt Phone ltthgt ltthgt Fax ltthgt ltthgt RowError ltthgt ltthgt HasErrors ltthgt ltthgtltthgt lttrgt

foreach (var item in Model) lttrgt lttdgt HtmlDisplayFor(modelItem =gt itemCustomerID) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCompanyName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactName) lttdgt lttdgt

Kup książkę Poleć książkę

304 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlDisplayFor(modelItem =gt itemContactTitle) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemAddress) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCity) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemRegion) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemPostalCode) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCountry) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemPhone) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemFax) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemRowError) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemHasErrors) lttdgt lttdgt HtmlActionLink(Edytuj ScaffoldingEdit new id = itemCustomerID ) | HtmlActionLink(Zamoacutewienia ScaffoldingMasterDetail new id = itemCustomerID ) | HtmlActionLink(Usu ScaffoldingDelete new id = itemCustomerID ) lttdgt lttrgt

lttablegt

6 W pliku HomeControllercs

a) Utwoacuterz pole klasyCustomersTableAdapter customersTableAdapter = new CustomersTableAdapter()

b) Dodaj polecenia z listingu 182

Listing 182 Prezentacja listy klientoacutew

private void PobierzDaneKlientow() northwindDataSetEnforceConstraints = false customersTableAdapterFill(northwindDataSetCustomers)

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 305

northwindDataSetEnforceConstraints = true

public ActionResult ScaffoldingList() PobierzDaneKlientow() return View(ScaffoldingList northwindDataSetCustomers)

7 Skompiluj i uruchom aplikacj

Po uruchomieniu aplikacji i klikni ciu hiper cza z etykiet Scaffolding zostanie wy-wietlona lista klientoacutew ktoacuterej posta powinna by analogiczna do przedstawionej na

rysunku 182 W kolejnym kroku zaimplementujemy mo liwo usuwania edycji oraztworzenia rekordoacutew w tabeli Customers

Rysunek 182 Lista klientoacutew

Usuwanie rekordoacutewW celu zaimplementowania mo liwo ci usuwania rekordoacutew z tabeli Customers wyko-naj nast puj ce czynno ci

1 W widoku projektowania obiektu NorthwindDataSet skonfiguruj relacjpomi dzy tabelami Orders i Customers wed ug wzoru z rysunku 183

2 Klas kontrolera Home uzupe nij o polecenia z listingu 183

Kup książkę Poleć książkę

306 Cz II Technologie bazodanowe w aplikacjach internetowych

Rysunek 183Konfiguracja wi zoacutewintegralno ci danych

Listing 183 Usuwanie rekordoacutew z tabeli Customers

private void AktualizujDaneKlientow() northwindDataSetEnforceConstraints = false

orderDetailsTableAdapterUpdate(northwindDataSetOrder_Details) ordersTableAdapterUpdate(northwindDataSetOrders) customersTableAdapterUpdate(northwindDataSetCustomers)

northwindDataSetEnforceConstraints = true

public ActionResult ScaffoldingDelete(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) if (cdr = null) Usuwanie rekordoacutew potomnych DataRow[] zamowienia = cdrGetChildRows(northwindDataSetRelations[FK_Orders_Customers])

foreach (DataRow dr in zamowienia) drDelete()

Usuwanie rekordu klienta cdrDelete()

Aktualizacja wszystkich powi zanych tabel AktualizujDaneKlientow()

return ScaffoldingList()

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 307

Podczas usuwania danego rekordu nale y zadba o rekordy z innych tabel ktoacutere sz nim zwi zane relacjami Wiersze tabeli Customers s skojarzone z rekordami z tabelOrders oraz OrdersDetails Z tego powodu aktualizuj zawarto ci tych tabel po usu-ni ciu wybranego rekordu klienta Osierocone rekordy z tabeli Orders s usuwane ra-zem z nim

Edycja rekordoacutewDo edycji rekordoacutew w tabeli Customers potrzebny b dzie odpowiedni widok ktoacuteryprzygotuj na bazie automatycznie wygenerowanego kodu roacuted owego

1 Zgodnie z przepisem z podrozdzia u bdquoLista rekordoacutewrdquo utwoacuterz widokkontrolera Home i skonfiguruj go wed ug wzoru z rysunku 184

Rysunek 184Konfiguracja widokuedycji klienta

2 Wygenerowany automatycznie plik widoku ScaffoldingEditcshtmlzmodyfikuj zgodnie z listingiem 184

Listing 184 Definicja widoku edycji klienta

model NorthwindMVCModelsNorthwindDataSetCustomersRow

ViewBagTitle = ScaffoldingEdit

lth2gtScaffoldingEditlth2gtlth2gtEdycja rekordulth2gt

ltscript src=UrlContent(~Scriptsjqueryvalidateminjs)type=textjavascriptgtltscriptgt

Kup książkę Poleć książkę

308 Cz II Technologie bazodanowe w aplikacjach internetowych

ltscript src=UrlContent(~Scriptsjqueryvalidateunobtrusiveminjs)type=textjavascriptgtltscriptgt

using (HtmlBeginForm(EdytujDaneKlienta Home new id = ModelCustomerID)) HtmlValidationSummary(true) ltfieldsetgt ltlegendgtDane klientaCustomersRowltlegendgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCustomerID) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCustomerID) HtmlValidationMessageFor(model =gt modelCustomerID) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCompanyName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCompanyName) HtmlValidationMessageFor(model =gt modelCompanyName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactName) HtmlValidationMessageFor(model =gt modelContactName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactTitle) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactTitle) HtmlValidationMessageFor(model =gt modelContactTitle) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelAddress) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelAddress) HtmlValidationMessageFor(model =gt modelAddress) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCity) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCity) HtmlValidationMessageFor(model =gt modelCity) ltdivgt

ltdiv class=editor-labelgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 309

HtmlLabelFor(model =gt modelRegion) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRegion) HtmlValidationMessageFor(model =gt modelRegion) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPostalCode) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPostalCode) HtmlValidationMessageFor(model =gt modelPostalCode) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCountry) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCountry) HtmlValidationMessageFor(model =gt modelCountry) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPhone) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPhone) HtmlValidationMessageFor(model =gt modelPhone) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelFax) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelFax) HtmlValidationMessageFor(model =gt modelFax) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRowError) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRowError) HtmlValidationMessageFor(model =gt modelRowError) ltdivgt

ltpgt ltinput type=submit value=SaveZapisz gt ltpgt ltfieldsetgt

ltdivgt HtmlActionLink(Back to List Index) HtmlActionLink(Powroacutet do listy rekordow ScaffoldingList)ltdivgt

Kup książkę Poleć książkę

310 Cz II Technologie bazodanowe w aplikacjach internetowych

3 W kontrolerze Home zdefiniuj metody z listingu 185

Listing 185 Edycja danych klienta

public ActionResult ScaffoldingEdit(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id)

if (cdr = null) return View(ScaffoldingEdit cdr) else return ScaffoldingList()

private void PrzepiszDaneKlienta(FormCollection daneKlienta refNorthwindDataSetCustomersRow rekordKlienta)

rekordKlientaCompanyName = daneKlienta[CompanyName]ToString() rekordKlientaContactName = daneKlienta[ContactName]ToString() rekordKlientaContactTitle = daneKlienta[ContactTitle]ToString() rekordKlientaAddress = daneKlienta[Address]ToString() rekordKlientaCity = daneKlienta[City]ToString()

public ActionResult EdytujDaneKlienta(FormCollection daneKlienta string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) if (cdr = null) PrzepiszDaneKlienta(daneKlienta ref cdr) AktualizujDaneKlientow() return ScaffoldingList()

Proces edycji rekordu w bazie danych za pomoc technologii ADONET opiera si nainformacjach zebranych w poprzednich rozdzia ach wi c nie b d go tu szczegoacute owoopisywa Celem tego przyk adu by o automatyczne wygenerowanie widoku umo li-wiaj cego edycj danych klienta przystosowanie go do w asnych potrzeb oraz inte-gracja z kontrolerem

Separacja modelu widoku i kontrolera umo liwia narz dziom Visual Studio 2012 auto-matyczne generowanie widoku na podstawie definicji modelu Jednak e jak pokaza-em w tym podrozdziale kreator tworzy widok ktoacutery umo liwia edycj wszystkich poacutel

rekordu (nawet identyfikatora) co sprawia e w wi kszo ci przypadkoacutew nale y sa-modzielnie edytowa plik widoku w celu przystosowania go do potrzeb projektowanejaplikacji Jednak jak pokazuje powy szy przyk ad nie jest to rzecz skomplikowan

Integracja widoku z kontrolerem polega na odpowiednim przekazywaniu informacjio edytowanym rekordzie oraz warto ci jego poacutel Do tego celu wykorzysta em identy-fikator klienta ktoacutery jednoznacznie identyfikuje rekordy w tabeli Customers

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 311

Przyk adowy wynik polece zaimplementowanych w tym podrozdziale przedstawiarysunek 185

Rysunek 185Edycja danych klienta

Tworzenie rekordoacutewW poprzednich podrozdzia ach zaimplementowa em trzy spo roacuted czterech podstawo-wych elementoacutew schematu CRUD czyli odczytywanie (R) aktualizacj (U) oraz usu-wanie (D) rekordoacutew Ostatnim elementem jest tworzenie (C) nowych rekordoacutew W celuzaimplementowania procedury uzupe niania tabeli Customers nowymi rekordami na-le y post pi nast puj co

1 W Solution Explorer rozwi w ze Views a nast pnie kliknij prawymprzyciskiem myszy folder Home

2 Wybierz opcj Add a nast pnie Viewhellip z menu kontekstowego

3 W kreatorze Add View

a) Zmie nazw widoku na ScaffoldingCreate

b) Zaznacz pole wyboru Create a strongly-typed view

c) Z listy dost pnych modeli wybierz pozycj CustomersRow

d) Z listy rozwijanej Scaffold template wybierz Create

e) Kliknij przycisk Add

4 Utworzony w ten sposoacuteb plik ScaffoldingCreatecshtml zmodyfikuj wed ugwzoru z listingu 186

Kup książkę Poleć książkę

312 Cz II Technologie bazodanowe w aplikacjach internetowych

Listing 186 Widok umo liwiaj cy wstawianie rekordoacutew do tabeli Customers

model NorthwindMVCModelsNorthwindDataSetCustomersRow

ViewBagTitle = ScaffoldingCreate

lth2gtScaffoldingCreatelth2gtlth2gtTworzenie rekordulth2gt

ltscript src=UrlContent(~Scriptsjqueryvalidateminjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~Scriptsjqueryvalidateunobtrusiveminjs)type=textjavascriptgtltscriptgt

using (HtmlBeginForm(DodajKlienta Home)) HtmlValidationSummary(true) ltfieldsetgt ltlegendgtDane klientaCustomersRowltlegendgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCustomerID) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCustomerID) HtmlValidationMessageFor(model =gt modelCustomerID) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCompanyName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCompanyName) HtmlValidationMessageFor(model =gt modelCompanyName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactName) HtmlValidationMessageFor(model =gt modelContactName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactTitle) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactTitle) HtmlValidationMessageFor(model =gt modelContactTitle) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelAddress) ltdivgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 313

ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelAddress) HtmlValidationMessageFor(model =gt modelAddress) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCity) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCity) HtmlValidationMessageFor(model =gt modelCity) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRegion) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRegion) HtmlValidationMessageFor(model =gt modelRegion) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPostalCode) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPostalCode) HtmlValidationMessageFor(model =gt modelPostalCode) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCountry) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCountry) HtmlValidationMessageFor(model =gt modelCountry) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPhone) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPhone) HtmlValidationMessageFor(model =gt modelPhone) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelFax) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelFax) HtmlValidationMessageFor(model =gt modelFax) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRowError) ltdivgt ltdiv class=editor-fieldgt

Kup książkę Poleć książkę

314 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlEditorFor(model =gt modelRowError) HtmlValidationMessageFor(model =gt modelRowError) ltdivgt

ltpgt ltinput type=submit value=CreateUtwoacuterz gt ltpgt ltfieldsetgt

ltdivgt HtmlActionLink(Back to List Index) HtmlActionLink(Powroacutet do listy ScaffoldingList)ltdivgt

5 Definicj kontrolera Home uzupe nij o polecenia z listingu 187

Listing 187 Wstawianie rekordoacutew do tabeli Customers

private char PobierzZnak(string lancuch int index) Random random = new Random() char znak

if (lancuchLength gt index) znak = lancuch[index] else znak = (char)randomNext(0 255)ToString()[0]

return znak

private void UtworzIdentyfikatorKlienta(ref NorthwindDataSetCustomersRowdaneKlienta)

string identyfikator = int indexZnaku = 0

identyfikator += PobierzZnak(daneKlientaCompanyName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactTitle indexZnaku) identyfikator += PobierzZnak(daneKlientaAddress indexZnaku) identyfikator += PobierzZnak(daneKlientaCity indexZnaku)

daneKlientaCustomerID = identyfikator

public ActionResult DodajKlienta(FormCollection daneKlienta string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersNewCustomersRow()

PrzepiszDaneKlienta(daneKlienta ref cdr)

UtworzIdentyfikatorKlienta(ref cdr)

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 315

customersTableAdapterInsert(cdrCustomerID cdrCompanyName cdrContactName cdrContactTitle cdrAddress cdrCity )

AktualizujDaneKlientow()

return ScaffoldingList()

Wstawienie rekordoacutew do tabeli Customers jest analogiczne do ich edycji Jedyn roacute -nic jest konieczno utworzenia identyfikatora klienta gdy nie jest on tworzonyautomatycznie jak to by o w przypadku tabeli Employees Identyfikatory rekordoacuteww tabeli Customers s pi cioelementowymi ci gami znakoacutew Tworz je na podstawiepierwszych liter poacutel CompanyName ContactName ContactTitle Address oraz City Je liw tych polach znajduj si puste ci gi to odpowiedni liter zast puj losowo wyge-nerowanym znakiem

W kolejnym podrozdziale poka w jaki sposoacuteb wy wietli informacje o rekordachpotomnych opieraj c si na relacji pomi dzy tabelami

Formularz z podformularzem(MasterDetail Form)

Jako podsumowanie tego rozdzia u utworz formularz z podformularzem tak zwanyformularz MasterDetail Jego dzia anie polega na tym e wy wietlanie danych od-bywa si na bazie co najmniej dwoacutech komponentoacutew (np blokoacutew czy tabel) oraz rela-cji mi dzy tabelami Pierwszy komponent prezentuje rekordy zawarte w tabeli g oacutew-nej (ang master) a drugi zawiera dane z tabeli podrz dnej (ang detail) Komponentzwi zany z tabel podrz dn ma zazwyczaj za zadanie prezentowa szczegoacute owe da-ne odpowiadaj ce rekordowi z tabeli nadrz dnej ktoacutery zosta wskazany przy pomocyzwi zanej z nim listy rekordoacutew Pola tych tabel musz by zatem uporz dkowane w takisposoacuteb aby pokazywa y informacj o tym samym rekordzie Uzyskuje si to przy po-mocy relacji mi dzy tabelami ktoacuterej zadaniem jest powi zanie informacji zawartychw bazie danych

W tym podrozdziale tabel nadrz dn b dzie tabela Customers a podrz dn OrdersPo klikni ciu na hiper cze z etykiet zamoacutewienia wy wietli si lista rekordoacutew tabeliOrders skojarzonych z danym klientem dania prezentacji zamoacutewie b d realizo-wane asynchronicznie

1 Plik widoku ScaffoldingListcshtml zmodyfikuj wed ug wzoru z listingu 188

Listing 188 Konfiguracja hiper cza umo liwiaj cego wy wietlenie listy zamoacutewie danego klienta

hellipforeach (var item in Model) lttrgt lttdgt

Kup książkę Poleć książkę

316 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlDisplayFor(modelItem =gt itemCustomerID) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCompanyName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactTitle) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemAddress) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCity) lttdgt lttdgt HtmlActionLink(Edytuj ScaffoldingEdit new id = itemCustomerID ) | AjaxActionLink(Zamoacutewienia ScaffoldingMasterDetail new id = itemCustomerID new AjaxOptions UpdateTargetId = zamowienia OnSuccess = documentgetElementById(zamowienia)scrollIntoView() ) | HtmlActionLink(Usu ScaffoldingDelete new id = itemCustomerID ) lttdgt lttrgtlttablegt

ltdiv id=zamowieniagtltdivgt

2 Utwoacuterz widok cz ciowy o nazwie ZamowieniaPartialViewcshtml i wstaww nim polecenia z listingu 189

Listing 189 Definicja widoku prezentuj cego list zamoacutewie

model IEnumerableltNorthwindMVCModelsNorthwindDataSetOrdersRowgt

if (Model == null) lth2gtBrak zamoacutewie lth2gtelse lth2gtLista zamoacutewie lth2gt

lttablegt lttrgt ltthgt OrderDate ltthgt ltthgt RequiredDate ltthgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 317

ltthgt ShippedDate ltthgt ltthgt ShipName ltthgt ltthgt ShipAddress ltthgt ltthgt ShipCity ltthgt ltthgtltthgt lttrgt

foreach (var item in Model) lttrgt lttdgt itemOrderDateToShortDateString() lttdgt lttdgt itemRequiredDateToShortDateString() lttdgt lttdgt itemShippedDateToShortDateString() lttdgt lttdgt itemShipName lttdgt lttdgt itemShipAddress lttdgt lttdgt itemShipCity lttdgt lttrgt lttablegt

3 Kontroler Home uzupe nij o metod ScaffoldingMasterDetail ktoacuterej definicjprzedstawi em na listingu 1810

Listing 1810 Pobranie i prezentacja rekordoacutew potomnych wybranego klienta

public ActionResult ScaffoldingMasterDetail(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) NorthwindDataSetOrdersRow[] zamowieniaPracownika = null

if (cdr = null) zamowieniaPracownika = (NorthwindDataSetOrdersRow[])cdrGetChildRows(FK_Orders_Customers)

Kup książkę Poleć książkę

318 Cz II Technologie bazodanowe w aplikacjach internetowych

if (RequestIsAjaxRequest()) return View(ZamowieniaPartialView zamowieniaPracownika) else return ScaffoldingList()

4 Sekcj ltheadgt pliku _Layoutcshtml uzupe nij o polecenia z listingu 1811

Listing 1811 Import skryptoacutew obs uguj cych dania asynchroniczne

ltscript src=UrlContent(~Scriptsjqueryunobtrusive-ajaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftAjaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftMvcAjaxjs)type=textjavascriptgtltscriptgt

5 Po skompilowaniu i uruchomieniu aplikacji powiniene uzyska efektanalogiczny do przedstawionego na rysunku 186

Rysunek 186 Przyk ad formularza typu MasterDetail

Kup książkę Poleć książkę

Skorowidz

AACL 149action methods 25ActiveX Data Object 238ADO 238ADONET 238

obiekty 238podstawy 237synchronizacja buforu ze roacuted em danych 273

adresy URLautoryzacja 157parametry 122trasowanie 121wzorce 122 123

agile programming 15AJAX 91

aktualizacja bloku witryny 113dodanie referencji do bibliotek JavaScript 94

akcjaCreate 354Delete 357Details 353dodaj ca nowy produkt 355Edit 356

aktualizacjazawarto ci elementu witryny 92

algorytmRSA 187

ambient transaction 329ankieta 102AntiXss 187aplikacje

bazodanowe 235bezpiecze stwo 335mechanizm transakcji 319scaffolding 301

synchronizacja ze roacuted em danych 273uwagi do projektowania 345

mo liwo edytowania wpisoacutew 441rejestrowanie zdarze i trasowanie 430

Application Domain 339architektura obiektowa 347ASPNET

konfiguracja aplikacji 161mechanizmy uwierzytelnienia 149metody globalne 107w czanie i wy czanie aplikacji 171

ASPNET AJAX 91ASPNET MVC 15

komponenty 16ASPX 21 30asynchroniczne przetwarzanie da http

jQuery 113Asynchronous JavaScript and XML 48Asynchronous Programming Model 464ataki

rodzaje 147SQL Injection 148 344wy udzenie informacji 148z o liwy kod 181

atrybut 347AcceptVerbs(HttpPost) 47AcceptVerbs(HttpVerbsPost) 65AssociationAttribute 58Authorize 200AuthorizeAttribute 128autoryzacyjny 145ConcurrencyCheckAttribute 58Confirm 95cookieless 154CustomValidationAttribute 58 66data-bind 230DataType 54 57

Kup książkę Poleć książkę

528 ASPNET MVC

atrybutDataTypeAttribute 58defaultRedirect 173defaultUrl 154DisplayAttribute 58DisplayColumnAttribute 58DisplayName 436EditableAttribute 58enableCrossAppRedirects 155EnumDataTypeAttribute 58FilterUIHintAttribute 58HandleError 138 175HandleErrorAttribute 129HttpMethod 95InsertionMode 95KeyAttribute 58klasy do konfiguracji metadanych 57 58LoadingElementDuration 110LoadingElementId 95 110Log

klasa implementuj ca 142loginUrl 154MetadataType 69MetadataTypeAttribute 58mode 153 173modelu 55name 155NonAction 26 135OnBegin 95OnComplete 95OnFailure 95OnSuccess 95 110OutputCache 133OutputCacheAttribute

parametry 134passwordFormat 156protection 155Range 54 66RangeAttribute 58redirectMode 173RegularExpressionAttribute 58Required 54 66RequiredAttribute 58RequireHttps 135requireSSL 155slidingExpiration 155StringLength 66StringLengthAttribute 58TestClass 29TestMethod 29ticketCompatibilityMode 155timeout 155TimestampAttribute 58UpdateTargetId 95

Url 95ValidateInput 185

atrybuty modeluwyra enia regularne 84

Attribute 347authentication ticket 151auto post back 217autocomplete textbox 115automatyczne uzupe nienie pola tekstowego 115autoryzacja 149 157

adresoacutew URL 157konfiguracja 157

grupy u ytkownikoacutew 158mechanizm filtrowania 158otwarta 460plikoacutew 157zdalna

powi zanie z portalem Facebook 461Azure 496

Bbazy danych 40 237

aktualizacja 41lista rekordoacutew 301Northwind 240

detale produktu 352dodawanie po cze 350pobieranie produktoacutew 351

po czenie ze roacuted em danych 241relacyjne 237schemat CRUD 301transakcje 319tworzenie 321

nowego rekordu 48schematu na bazie modelu encji 357

usuwanie danych 290regu y integralno ci 293

usuwanie powi zanych wierszyrekordy potomne 291

warstwa dost pu 42bezpiecze stwo

aplikacji internetowych 147ataki 147mechanizmy 149

biblioteka NETprogramowanie asynchroniczne 464

biblioteka skryptoacutewMapajs 32

bilet uwierzytelniaj cy 151b dy

dzia ania aplikacji 171strona b du 176tworzenie u ytkownika 202wprowadzenie z ego rekordu 268

Kup książkę Poleć książkę

Skorowidz 529

body 383buforowanie

danych ze roacutede zewn trznych 133bundling 475Business Intelligence 368

Ccallback 35CAS 151 338CDN 113Central Authentication Service 151centralna us uga uwierzytelnienia 151certyfikat 337CLR

procesy systemowe 466Code Access Security 338Confirm 96connString 341controllers 16Coordinated Universal Time 155Create Read Update Delete 301cross-site scripting 181CRUD 54 301Crystal Reports 368

Ddane

agregacja 378bezpo redni dost p do roacuted a 346eksport 413

do dokumentu tekstowego 419do PDF 420skoroszyt MS Excel 421tabele dynamiczne 418

integralno 288 319pomini cie sprawdzania 292regu y 291

modyfikacja 249platforma modelowania 347prezentacja

graficzna 406w postaci macierzowej 390

przekazywaniez formularza do roacuted a 46z kontrolera do widoku 437 439

serializacja i transfer struktur 117szyfrowanie 337typu

ActionResult 25walidacja 53weryfikacja 53wi zy integralno ci 306

wy wietlanie 315zabezpieczenie 338

Data Binding 389Data Definition Language 345Database Management System 237DBMS 237

wi zy integralno ci 238DDL 345denial of service 147detail 315Development Server 504DIE 53DisplayFormatAttribute 58document object model 92DOM 92domena aplikacji 339 466

instancja obiektoacutew 341tworzenie 339wspoacute dzielenie obiektu 341

dostawcy us ug 178dost p anonimowy 150DotNetOpenAuth 149DPAPI 187DRY 53dyrektywa

model 46

Eelement

customErrors 173success 115

elevation of privilege 147encapsulation 107encja 347

atrybuty 54bazodanowa 54KategoriaProduktu 358odwzorowanie w bazie danych 360Order_Details 362Orders 361Products 361Produkt 358

Entity 347Entity Framework 43 347

POCO 360potwierdzenie explicite 356technologie 349wersje 347

Entity Relationship Model 347Entity SQL 349ERM 347Event-based Asynchronous Pattern 465event-driven programming 17

Kup książkę Poleć książkę

530 ASPNET MVC

FFile Transfer Protocol 495filtry 127

akcji 127 139autoryzacyjne 127 144dynamiczne 395kolejno wykonywania 137

priorytety 138Log

metody 141LogAttribute

definicja klasy 140podstawowe atrybuty 128statyczne 395w asne 139wyj tkoacutew 128 144

niestandardowe 145wyniku 128 144

for 434foreach 51Forms Authentication Provider 149formularz

MasterDetail 315z podformularzem 315

funkcjadelay 217ListaPracownikoacutew 57Mid 390RolesIsUserInRole 217Today 390wyznaczaj ca tras 109zmienPrzynaleznoscDoGrupy 217 218

GGauge 383 403GDI 368graficzny interfejs u ytkownika 17 30Graphics Device Interface 368GridView 48grupy u ytkownikoacutew

autoryzacja 158GUI 17

Hhard-coding 167haszowanie 150helper methods 25html helper 455

Iidentyfikator

klienta 315rekordoacutew 315

IIS 121 149 495instalacja

ASPNET 445 498serwera w Windows 7 496serwera w Windows 8 496

mened er Windows 499uruchamianie aplikacji 503

serwer do rozwoju aplikacji 504information disclosure 147instancje aplikacji 465instancjonowanie modelu 39IntelliSense 247interfejs u ytkownika

przycisk umo liwiaj cy dodanie pracownika294

przycisk usuni cia wybranego rekordu 289Internet Information Services 121internetowe us ugi informacyjne 495in ynieria spo eczna 148Isolation Level 332izolacja 339 466

JJavaScript Object Notation 117jQM 457jQuery

autocomplete 116pliki roacuted owe 113

jQuery Mobile 457jQuery UI 367

wykorzystanie przyciskoacutew 284JSON 117

obiekt typu adres 118

KKey Performance Indicators 403klasa

AccountController 198ActionExecutingContext 143AdminController 212Ajax 94AjaxOptions 94

atrybuty 95AspNetHidden 442AssemblyName 170Assert 29

Kup książkę Poleć książkę

Skorowidz 531

AuthConfig 461BundleConfig 475Configuration 170ConfigurationManager 170ConfigurationSection 187 188ConnectionStringBuilder 345DpapiProtectedConfigurationProvider 187FiltryRaportuMacierzowego 397Form1 484FormsAuthentication 152Global 430HandleErrorInfo 133HtmlHelper 437HttpClient 483 486HttpResponseMessage 486kontekstu 362LogOnModel 198MarshallByRefObject 341Membership 152 198 211MvcApplication 430NorthwindContext 362ObjectContext 348ObjectQueryltTgt 348Order_Details 362Orders 361Osoba 228ParametryWatku 470Pracownik 484Products 361Produkt 230Raport 392RequestBrowser 460ResultExecutedContext 144ResultExecutingContext 144Roles 211RsaProtectedConfigurationProvider 187SQLConnCAS

definicja 340stowarzyszona z modelem 69SystemNetHttpFormattingJsonMediaTypeF

ormatter 491SystemTextRegularExpressions 74SystemWebSecurityRoles 159Task 465 472testuj ca 29Thread 465 469TransactionScope 327UrlRoutingModule 121ViewData 434 436 439WebApiConfig 478WebConfigurationManager 170Wpisy 427 436

klucze 237MAC 155obce 238podstawowe 238

kluczowe wska niki efektywno ci 403dynamiczna zmiana warto ci 404

Knockout 227wykorzystanie szablonoacutew JavaScript 230wywo anie skryptu 229

kodowanie danychprzekazywanych przez u ytkownikoacutew 186

komponentFormDanePracownika 489obiektu

PartialView 99typu ListBox 99

ReportViewer 368 375eksport danych 413nawigacja mi dzy stronami raportu 377

komponenty u ytkownika 30komunikaty o b dach 171

kod statusowy 174 175koncepcja programowania zdarzeniowego 16konfiguracja

po czenia z baz danych 241uprawnie puli aplikacji 454walidacji danych 66

konkurencyjno aplikacji 332kontekst wi zania 389kontrola wprowadzanych danych 263

metoda onColumnChanged 269wstrzymanie walidacji wiersza 267zako czenie edycji rekordu 267

wymuszenie 267kontroler 16 25

AccountController 195Admin 223AdminController 212aplikacja Kardy 63asynchroniczny 466

a zadania 472dane wyj ciowe 25domeny 150ErrorController 174Glosowania 103Home 182 224 228 231

Bezpiecze stwo 336filtr wyj tku 131

HomeController 184EksportDanych 415Northwind 245

interfejs Web API 477KsiegaGosciController 424

Kup książkę Poleć książkę

532 ASPNET MVC

kontrolerLista 93Mapa 33

autouzupe nianie 117modyfikacja 45

niedost pne metody publiczne 136obs uga POST 431panelu administracyjnego 212

zarz dzanie grupami u ytkownikoacutew 220Pracownicy 57 64PracownicyController

implementacja 481Produkty 351projektowanie 27przekazywanie danych do widoku

zmiany 439uwierzytelnienia 195

klasa 198model 196widoki 203

uzupe nienie o widok 31u ycie modelu odsy anego przez widok 440ValuesController 478weryfikacja funkcjonalno ci 28wi zanie adresu URL z akcj 430widoki 58

konwersja obrazu 278kreator

Add New Item 242Add View 59 302Application 162blokowania szczegoacute oacutew b doacutew 172dodanie u ytkownikoacutew 164grup u ytkownikoacutew 165Provider 162Publish Web 501Security 162tworzenia pracownika 59ustawie aplikacji 167widokoacutew 60wyboacuter dostawcoacutew us ug 178

kwerendy parametryczne 274 401

Llayout witryny 30LINQ

to Entities 349lista rekordoacutew 301

prezentacja 304logika

aplikacji 30bazodanowa 30biznesowa 44

a cuch QueryString 26

Mmaster 315mechanizm

automatycznych w a ciwo ci 57autoryzacji 157eksportu danych 413filtroacutew 127grupowania plikoacutew 475IntelliSense 119QuerynotString 117szyfruj cy 187transakcji 319 321

przelewy bankowe 326wyznaczania trasy przejzdu 34

meotdaInsert 299ProtectSection 191WersjonowanieDataRow

definicja widoku 265message authentication code 155metoda

on 262HtmlValidationSummary 204About 124AcceptChanges 255 263ActionLinkActionLink 61 63 353AddUserToRole 159akcji 25

parametry opcjonalne 27aktualizacja statystyk ankiety 105AktualizujZdjeciePracownika 288Application_AuthenticateRequest 108Application_BeginRequest 107 108Application_End 108Application_EndRequest 107Application_Error 108 172Application_Start 108 123 139 430asynchroniczna kontrolera 472AttachTo 356Authenticate 152AutoUzupelnienie 117

zapytanie LINQ 118BeginEdit 267BeginForm 47 94BeginTransaction 326 332CancelEdit 263ChangeObjectState 356

Kup książkę Poleć książkę

Skorowidz 533

ChangePassword 200hiper cze 208widok 206

ChangePasswordSuccesswidok 206

CreateNazwaEncji 354CreateRole 159CreateUser 153czyBazaDanychIstnieje 326daneDostawcyForm 262DBeginnotEdit 263Delete 270DeleteObject 357DeleteRole 159DeleteUser 153DeszyfrujPlikKonfiguracyjny 191DodajDostawce 255DodajElementDoListy 94 97 101DodajGrupe 223DodajKomentarz 185DodajPracownika 299 491DopiszDoPlikuLog 430Edit 356EdytujDaneDostawcy 261EdytujDanePracownika 493Eksportuj 418EmptyResult 26EndEdit 263EndForm 47ErrorCodeToString 201Fill 246FillByCityName 275FormatDateTime 390FormsAuthenticationSetCookie 199GenerujDane 468Get(int id) 478GetAllRoles 159GetAsync 486GetChildRecords 291GetSection 170GetSectionGroup 170GetUser 153GetUsersInRole 160globalna

aplikacji ASPNET 108Grupy 223HasVersion 263HtmlListBox 97HtmlRenderPartial 101HtmlValidationSummary 61HtmlHelperLabel 437ImiePierwszegoPracownika 246 247Include 475Index 47 79 97 101

kontrolera Mapa 34testowanie 28

IsAjaxRequest 101IsMatch 76IsNotNull 29IsUserInRole 159Label 35ListaDostawcow 252 255ListaPracownikow 248

hiper cze skojarzone 249LogOff 198LogOn 198Macierzowy 397mapowalna 26MetodaAsynchronicznaWatki 472ModelStateAddModelError 199MvcApplicationRegisterRoutes 430obs uga zapyta POST 431odczyt aktualnych bilansoacutew kont 323OdczytajStanyKont 326OnActionExecuted 143OnActionExecuting 127 143onColumnChanged 269OnResultExecuted 144OnResultExecuting 144onRowChanged 266onRowChanging 268OpenConfiguration 170otwarcie po czenia z baz danych 341OtworzPlikDanych 107Page_Load 399PartialViewResult 26PobierzDane 394

modyfikacja 401PobierzPlikLogu 141 143PobierzZdjecie 278PokazTrasy 51PokazWyniki 107pomocnicza 25 455

HtmlEncode 51wykorzystanie 456

PostAsJsonAsync 486PostAsXmlAsync 486PostAsync 486PostResolveRequestCache 121PracownicyWedlugMiast

przechowywanie warto ci filtru 285PutAsJsonAsync 493PutAsXmlAsync 493PutAsync 493ReadAsAsync 486ReadXml 107ReadXmlSchema 107RedirectFromLoginPage 152

Kup książkę Poleć książkę

534 ASPNET MVC

metodaRedirectResult 26RedirectToAction 26RedirectToLoginPage 152RedirectToRoute 26RedirectToRouteResult 26RefreshReport 384Register 199 478RegisterAuth 461 462RegisterBundles 475RegisterGlobalFilters 171RegisterRoutes 94 123RejectChanges 256 263rejestrowanie zdarze aplikacji 430RemoveUserFromRole 160Render 384 413 418RenderPartial 99ResponseWrite 223ResultExecuteResult 143RoleExists 159RolesIsUserInRole 216RolesRemoveUsersFromRole 223route 35RowsAdd 255RozpocznijEdycje 269

hiper cze uruchamiaj ce 267SaveChanges 354ScaffoldingMasterDetail 317Session_End 108Session_Start 108SetAuthCookie 152SetParameters 401 405SignOut 152SprawdzDopasowania 79SprawdzPoprawnoscDatyZatrudnienia 67SqlPermissionAdd 343SqlTransactionCommit 326SqlTransactionRollback 326StronaNieIstnieje 175submit 115SzyfrowaniePlikuKonfiguracyjnego 190szyfruj ca i deszyfruj ca 189SzyfrujPlikKonfiguracyjny 191TextBox 35ThreadSleep 469 472TransactionScopeComplete 329Transfer 36UpdateUser 153UstawParametryRaportu 399UsunGrupe 223UsunTrase 50 51UtworzPracownika 64Uzytkownicy 216ValidateUser 152 153

ValidationMessage 437ValidationMessageFor 61ValidationSummary 437ViewResult 26WebApiConfigRegister 478WersjonowanieDataRow 265

sparametryzowanie 266WpisyZapiszDoPlikuXml 430wykonywanie przelewoacutew 323WyswietlLog 141 142 143wyswietlMape 34 35WyswietlTrase 50

modyfikacja 135 166wyznaczTrase 35ZaktualizujWyniki 107Zapami tajNazw U ytkownika 432ZmienStanKont 328

Microsoft SQL Server 319sposoby uwierzytelnienia 344

MIME type 390minification 476minimalizacja 476model 16 39

APM 464ChangePasswordModel 196EAP 465integracja z elementami aplikacji 39LogOnModel 196obs uga plikoacutew XML 427przesy anie z kontrolera do widoku 432 435RegisterModel 196TAP 465

model binding 48model danych encji 348

dodawanie encji 353edycja encji 355kreator 348 349

czenie encji 359metody akcji 354opcje 361projektowanie relacji 43tworzenie 349

schematu bazy danych 357usuwanie encji 357wyboacuter tabel 350

model first 52model zwi zkoacutew encji 347models 16Model-View-Controller 15Model-View-ViewModel 227Model-Widok-Kontroler 15modu

UrlAuthorizationModule 157

Kup książkę Poleć książkę

Skorowidz 535

MVC 15a Web Forms 16 365 367 423

kod 442serwer internetowych us ug

informacyjnych 495wydajno 443wykorzystanie w projektach 444

ataki XSS 185autoryzacja 158 162bezpiecze stwo aplikacji 152buforowanie 134domy lne wzorce aplikacji 21kreator aplikacji 20mechanizm filtrowania 127Model Binder 355nazwa kontrolera 27obs uga interakcji klient-serwer 121parametry opcjonalne 27pobieranie parametru z adresu URL 26projektowanie aplikacji 18 52przetwarzanie dania aplikacji klienckiej 18sprawdzanie poprawno ci danych 68struktura modelu 39techniki walidacji danych 53utworzenie widoku 30uzupe nianie o komponenty graficzne 367walidacja 438wersja 4 449wyboacuter mechanizmu przetwarzaj cego widoki 21wzorce URL 122zbioacuter modeli szablonu aplikacji 196roacuted o danych 40

MVC4 449grupowanie i optymalizacja skryptoacutew 475kaskadowe arkuszye stylu 475przetwarzanie asynchroniczne 464przystosowanie do urz dze mobillnych 457testowanie aplikacji 457uwierzytelnianie 460

integracja z portalem Facebook 462wsparcie dla urz dze mobilnych 450zdalna autoryzacja 461

MVVM 227

Nnarz dzie

aspnet_regiis 187przetwarzanie tekstu 73

Northwindinstalacja 240kwerenda wybieraj ca 240pobieranie informacji o dostawcach 251

NuGET 483nullable-types 27

OOAuth 461obiekt

AppDomain 339 341Chart 406Command 239Connection 239 241

w a ciwo i 243ConnectionString 343

sposoby uwierzytelniania 344szyfrowanie informacji 335

DataAdapter 239DataGridView 491DataReader 239 273DataRow 255

kontrola wprowadzonych danych 263usuwanie rekordoacutew 270wersje 263wersja proponowana 265wersjonowanie 263w a ciwo ci 255

DataSet 239 244 345edycja rekordoacutew 257kreator konfiguracji TableAdapter 274modyfikacja danych 249tworzenie nowych rekordoacutew 250usuwanie rekordoacutew 271wstawianie rekordoacutew 251wymuszenie wi zoacutew integralno ci 292

DataTable 107DirectionsService 35dostawca 153FormCollection 47jqXHR 218List 389logiki biznesowej 348materializacja 348Matrix 390Membership 152MvcRouteHandler 121 122o okre lonym typie danych 244o silnej typizacji 244o s abej typizacji 247ObjectStateManager 348PartialView 98ReportViewer 368ReportViewerLocalReport 418Request 26 101 432Response 26Route 122ShippersRow 255SqlConnCAS 341SqlConnection 326

Kup książkę Poleć książkę

536 ASPNET MVC

obiektTableAdapter 239 244 273 274 345

edycja danych 279 286wstawianie danych 294

TransactionScope 329parametryzacja 331

typuadres 118AppDomain 466ConcurrentDictionary 479NorthwindDataSet 247ObjectSetltTgt 348Route 121Thread 466

UrlRoutingModule 121ViewBag 36

przekazywanie danych do widoku WebForms 376

ViewData 36 79 432Object Relational Mapping 347Object Services 348obs uga b doacutew

konfiguracja 132w czenie 129

odrzucenie informacji o transakcji 148od wie anie witryny

a fragment widoku 97aktualizacja zawarto ci 113cz ciowe 96

OnSuccess 96operator

await 474konkatenacji 382Top 411Top N 411

ORM 347

Pparametr

CountryName 401data 115filtr 117mapDivId 35maxIloscRekordow 117Order 137raportu 395scopeTimeOut 330

warto ci 330TransactionScopeOption

warto ci 329type 115

parametryzacja kwerend 274partial view 30

piaskownica 341Plain Old CLR Object 360platforma NET

us ugi uwierzytelniania 153plik

ascx 22aspx 22bmp 390cookie 151cookies 154 155cshtml 22 434css 475edmx 360jpg 390js 475konfiguracyjny

zabezpieczenie 187master 22png 390rdl 368rdlc 368tekstowy

wy wietlenie w przegl darce 143vbhtml 22

POCO 360pola klucza 237polecenie

HtmlEncode 187ScriptsRender 476StylesRender 476GET 18POST 18

po czenieze roacuted em danych 241

pomocnik HTML 455Portable Document Format 413po rednik 341poziom izolacji 332

Chaos 333konfiguracja 332ReadCommitted 333ReadUncommitted 333Serializable 333Snapshot 333Unspecified 333

poziom zaufania 339ograniczenie 340

proceduraajax 115AjaxBeginForm 96niemapowalna 26PartialView 26serialize 115

Kup książkę Poleć książkę

Skorowidz 537

proces 465programowanie

oparte na zdarzeniach 17zdarzeniowe 17

projekt aplikacji MVCankieta 102asynchroniczne przetwarzanie da HTTP 92Bezpiecze stwo 181 336

nawi zanie komunikacji ze roacuted emdanych 342

szyfrowanie pliku konfiguracyjnego 191dodawanie i wy wietlanie komentarzy 183domy lny 20EksportDanych 413Filtry 131formularz oceny 107Kadry

walidacja adresu e-mail 84Kardy 55KsiegaGosci_MVC3 424lista prezentuj ca dodawane elementy 97MojaNawigacja 18

blokowanie samodzielnego tworzeniakont 224

buforowanie danych 135implementacja warstwy dost pu 42instalacja na serwerze IIS 500komunikat powitalny 168komunikaty 110komunikaty o b dach 173mechanizm podpowiedzi 115model weryfikuj cy po wiadczenia

u ytkownikoacutew 196modele kontrolera uwierzytelnienia 196od wie enie widoku mapy 109struktura 21szablon 19szablon witryny 225trasowanie da HTTP 123uzupe nienie o baz danych 40uzupe nienie o walidacj danych 69widok b du 175zablokowanie nieautoryzowanego

dost pu 128zarz dzanie u ytkownikami 163zarz dzanie grupami u ytkownikoacutew 212zarz dzanie procesem logowania 198

MsAjax 92NorthwindMVC 241

lista rekordoacutew 301szablon witryny 250

POCO 361priorytety regu filtrowania 137

Raport 368szablon

mechanizmy uwierzytelnienia 156zarz dzanie grupami u ytkownikoacutew 159

Transakcje 319aktualizacja danych 328formularz aktualizacji 328szablon stron 320

uzupe nianie widokiem GridView 49WyrazeniaRegularne 76Zapytania_EF 349

projekt aplikacji MVC4AsynchronicznyKontroler 466

prezentacja danych 468AutoryzacjaOAuth 461implementacja serwisu sieciowego 479konfiguracja grupowania 475MobileMvc 450

testowanie 457pobranie zdj cia 452przygotowanie listy pracownikoacutew 452SerwisSieciowy 477

projekt aplikacji Windows Formsedycja danych 487KlientWebAPI 483tworzenie nowych pracownikoacutew 486

dania typuDELETE 493POST 486PUT 491

projektowaniekontrolera 27widoku 31

protokoacuteFTP 495Kerberos 150NTLM 150SMTP 495SSL 337

proxy 341przechowywanie

informacji o trasach 44wynikoacutew g osowania 107

przeci enie aplikacji 147przekazywanie

danych 44mi dzy widokiem a kontrolerem 36

parametroacutew do metod akcji kontrolera 26przestrze nazw

SystemThreading 465przyjazne linki 122publikowanie aplikacji 495 500

na serwerze IIS 497

Kup książkę Poleć książkę

538 ASPNET MVC

pule aplikacji 465 497konfiguracja 498Windows 7 499Windows 8 500

Rraporty

dane w postaci macierzowej 390data 386definicja

dynamiczna 418filtrowanie danych 394

na poziomie roacuted a 401 418filtry 395formaty prezentacji danych 379grupowanie danych 381hiper cza 387

nawigacyjne 376kolumny obliczeniowe 378konfiguracja

filtrowania dynamicznego 396typu 392roacuted a danych 368

kreator formu 382macierzowe 391numery stron 386obrazy 390parametry 383 394

konfiguracja 399paski narz dziowe 379pola

bazy danych 386formularza 398raportu 390

po czenie z aplikacj 368prezentowanie uk adu graficznego 383projektowanie 371

i prezentowanie 368przystosowanie strony do obs ugi raportoacutew

387renderowanie 368tryby definicji 368tworzenie

definicji lokalnej 368formu 378przy u yciu kreatora 372

uk ad 383wstawianie nag oacutewka i stopki 385wykresy 406wy wietlenie 375

Razor 21 30przetwarzanie definicji widoku 208

RDL 418rekordy

edycja 307lista 301tworzenie 311usuwanie 305

Relationship 347Report Definition Language 418Report Wizard 371repudiation 148request 442response 442responsywno 464rollback transaction 319routing 22 430routowanie 121

SSandBox 341scaffolding 301Secure Socket Layer 337sekcja

membership 178roleManager 179set 441

serwerSMTP

konfiguracja 171us ug informacyjnych 149

weryfikacja to samo ci u ytkownika 149Simple Mail Transfer Protocol 495s owo kluczowe

helper 455await 474using 47 329

spaghetti code 18spoofing 147SQL Server Reporting Services 367SSRS 367stan pola

typu CheckBox 269pobieranie 264

STRIDE 148strona startowa

MojaNawigacja 226strona wzorcowa 30

aplikacji Kadry 55referencja do bibliotek skryptoacutew 70

systemowy serwer us ug informacyjnych 121szyfrowanie po czenia 335

ze roacuted em danych 336

Kup książkę Poleć książkę

Skorowidz 539

Ttabela danych

Categories 418Customers 305deklaracje kaskadowych arkuszy stylu 275edycja

danych 279danych w wierszu 257rekordoacutew 307 310

Employees 240 288filtrowanie listy 275integralno danych 288Konta 321 326kwerenda wybieraj ca 240Orders 291 315OrdersDetails 307pobieranie fotografii 276pobranie danych z wykorzystaniem JScript 280prezentacja

danych 277 325informacji 252listy danych 248pierwszego rekordu 246rekordoacutew 317

przekazanie do widoku 248Shippers 251tworzenie rekordoacutew 311umieszczenie w bazie danych 321uruchomienie edycji danych 258usuwanie

danych 288rekordoacutew 271 305 306

widok b du 268wstawianie

danych 294rekordoacutew 251

wy wietlenie listykonfiguracja hiper cza 315

zako czenie edycji rekordu 267tablica asocjacyjna 479tablica bajtoacutew

konwersja do bitmapy 277tampering 147task pane 371Task-based Asynchronous Pattern 465TDD 15

test jednostkowy funkcjonalno ci kontrolera28

Test-Driven Development 15testowanie

aplikacji 29wzorcoacutew wyra e regularnych 76 78

Toolbox 274

transakcje 319automatyczne zarz dzanie 327otaczaj ce 329poziom izolacji 332tworzenie i r czna kontrola 319

trasowanie 121aplikacja 430blokowanie dost pu 124domy lne regu y 123Ksi gaGosci_MVC3 430w asne regu y 124

trasowanie adresoacutew URL 121T-SQL 319

czynno ci bazodanowe 345tworzenie

bazy danych 40interfejsu u ytkownika

jQM 459szablony 231wzorzec MVVM 227

u ytkownika 200kody b doacutew 201

widoku Index 231wzorcoacutew wyra e regularnych 76

typed DataSet 244typizacja

silna 46s aba 46

typy puste 27

Uujawnienie krytycznych informacji 147ukryte pola 441Uniform Resource Locator 18URL 18uruchomienie aplikacji 503us uga

AspNetSqlProvider 178ustawienia aplikacji 167

odczytanie z pliku konfiguracyjnego 169UTC 155uwierzytelnienie 149

centralny serwis 151certyfikaty 150formularze logowania 151

atrybuty elementu forms 154konfiguracja 153mechanizmy zintegrowane z ASPNET 149na bazie protoko u NTLM 150przekazywanie informacji 151proste 150skroacutecone 150us ugi systemu Windows 150

Kup książkę Poleć książkę

540 ASPNET MVC

Vvariable placeholders 122view engine 21views 16viewstate 442Visual Studio

kreator projektu 19Visual Studio Development Server 496VS 2012

instalacja 240kreator Add New Item 242

VSDS 496

Wwalidacja

adresue-mail 83URL 83WWW 84

danych 53a technologia Entity Framework 68konfiguracja 66modelu Pracownik 66odwo anenie do jQuery 61po stronie klienta 67wyra enia regularne 73

skrypty i style walidatoroacutew 438w asno ci klasy encji 435

w tek 465Web API 477

edycja danych 491klient 483konfiguracja interfejsu 478obs uga da typu POST 486pobranie danych z serwera 485serwis sieciowy 479usuwanie danych 493

web serwer 495Web Site Administration Tool 161

konfigurowanie uprawnie 165zarz dzanie

dostawcami us ug 178u ytkownikami 163

WebForms 17bezpiecze stwo aplikacji 152integracja komponentoacutew z MVC 367kontrolka Repeater 434obs uga wyj tkoacutew 172przetwarzanie dania aplikacji klienckiej 18separacja modelu 427weryfikacja poprawno ci projektu 434

weryfikacjakodu pocztowego 81to samo ci 151

widok 16 25 30aplikacji

MVC4 453przystosowanie do urz dze mobilnych

459Transakcje 326

cz ciowy 30dodawanie 31edycji klienta 307elementy 31formularz

dodawania wpisu 425logowania 203

kontroleraaplikacja Kadry 58panelu administracyjnego 222

kontrolera AdminController 213kontrolera Dopasowania 77kontrolera ErrorControler 174kontrolera Glosowania 103kontrolera Home 131 169 182 307

metodaWyswietlLog 142Raport 375Transakcje 320

kontrolera HomeController 246AsynchronicznyKontroler 468EksportDanych 417

kontrolera Lista 93kontrolera Mapa 33 34

formularz 70Trasa 50

kreatorakonta u ytkownika 205zmiany has a 206

listyklientoacutew 302pracownikoacutew 61wyznaczonych tras 48zamoacutewie 316

mapyod wie enie 108parametryzacja 34

mechanizm przetwarzania 30modyfikowanie formularza 437obs uga wyj tkoacutew 130Pracownicycshtml 453projektowanie 31transfer danych do kontrolera 36typu CRUD 52

Kup książkę Poleć książkę

Skorowidz 541

typu GridViewimplementacja 48

typy plikoacutew 30utworzenie 30uzupe nianie tre ci 33walidacja 435wi zanie z modelem 437wstawianie rekordoacutew 312wynikoacutew ankiety 105wy wietlanie wpisoacutew 432

wielodziedziczenie 360Windows Authentication Provider 149Windows Data Protection API 187Windows Forms

implementacja klienta 483Windows Live ID 149w a ciwo

ConnectionString 243IsMobileDevice 460ModelStateIsValid 47

wstawianie rekordoacutew 299wstrzykni cie kodu 181 185wykresy 406

konfiguracjaserii danych 407typu 407

pobranie danych roacuted owych 408wy czenie aplikacji 171wyra enia lambda 46wyra enia regularne 73

atrybuty modelu 84liczba wyst pie sk adnikoacutew 76wzorzec

adres URL 83imi e skie 81kod pocztowy 80tworzenie 76

znaki i cyfry 74znaki specjalne 74znaki w wyznaczonych miejscach a cucha 75

wzorzecodnajdywanie

znakoacutew i cyfr 74znakoacutew specjalnych 74znakoacutew w wyznaczonych miejscach

a cucha 75okre lanie

liczby wyst pie znakoacutew 76

XXSS 181

Zzabezpieczenia

aplikacji bazodanowych 335ataki XSS 187informacje o b dach 171kodu po redniego 338konfiguracja 161konfiguracja aplikacji

kreatory 162obs uga wyj tkoacutew 171pliku konfiguracyjnego 167 187przed atakami 148ustawienia aplikacji 167witryny 181zarz dzanie dostawcami us ug 178z o liwy kod 181

zarz dzanieu ytkownikami i grupami 211

dost p do panelu administracyjnego 216lista grup 221podzia na grupy 220pobieranie listy 213tworzenie nowej grupy 222zmiana przynale no ci do grupy 215

z o ono ci aplikacji 16zdarzenie

DataGridViewCellDoubleClick 491rejestrowanie 430

z o liwy koddzia anie 181

znacznikinput 288

znaki specjalneodnajdywanie 74

zwi zanie z modelem 48zwi zek 347

danie 25asynchroniczna obs uga 92 466 470

skrypty 318zadania 473

GET 64POST 64przetwarzanie 127zablokowanie obs ugi 124

Kup książkę Poleć książkę

Notatki

Kup książkę Poleć książkę

Spis tre ci 7

Kolumny obliczeniowe raportu 378Stosowanie formatu prezentacji danych 379Grupowanie danych 381

Projektowanie graficznego uk adu raportu 383Etykiety rysunki i listy 384Prezentacja danych w postaci macierzowej 390

Parametry raportu i filtrowanie danych 394Filtr definiowany na poziomie raportu 395Filtrowanie raportu na etapie pobierania danych roacuted owych 401

Kluczowe wska niki efektywno ci 403Wykresy 406

Rozdzia 23 Eksport danych 413

Rozdzia 24 Ksi ga go ci w MVC Poroacutewnanie ASPNET Web Formsi ASPNET MVC 423Tworzenie projektu 423Widok mdash formularz dodawania wpisu 425Model mdash obs uga plikoacutew XML 427Aplikacja mdash rejestrowanie zdarze i trasowanie 430Kontroler mdash obs uga POST 431Widok mdash wy wietlanie wpisoacutew 432Widok mdash walidacja 435Kontroler mdash u ycie modelu odsy anego przez widok 440

Dodatki 447

Dodatek A ASPNET MVC 4 449Wsparcie dla urz dze mobilnych 449

Sformu owanie problemu 450Przystosowanie widokoacutew aplikacji do urz dze mobilnych 457

OAuth czyli otwarta autoryzacja 460Implementacja zdalnej autoryzacji w powi zaniu z portalem Facebook 461

Przetwarzanie asynchroniczne 464Wprowadzenie 464Potrzeba wykorzystania asynchronicznych kontroleroacutew 466Kontrolery asynchroniczne i klasa Thread 469Kontrolery asynchroniczne a zadania 472

Grupowanie i optymalizacja skryptoacutew oraz kaskadowych arkuszy styloacutew 475Web API 477

Wprowadzenie 477Implementacja serwisu sieciowego 479Implementacja klienta Web API 483

Podsumowanie 494

Dodatek B Publikacja aplikacji ASPNET za pomoc internetowychus ug informacyjnych (IIS) 495Wprowadzenie 495Instalacja i konfiguracja serwera internetowych us ug informacyjnych IIS 496

Instalacja serwera IIS w systemie Windows 7 496Instalacja serwera IIS w systemie Windows 8 496

Kup książkę Poleć książkę

8 ASPNET MVC

Publikowanie aplikacji na serwerze IIS 497Konfiguracja puli aplikacji 498Instalacja ASPNET 445 na serwerze IIS 498Publikacja aplikacji 500Uruchomienie aplikacji 503

IIS jako serwer do rozwoju aplikacji 504

Dodatek C ASPNET Identity w MVC 5 i Visual Studio 2013 505Wst p 505Szablony projektoacutew ASPNET w Visual Studio 2013 505Kontroler zarz dzaj cy u ytkownikami i rolami 508

Dynamiczne zarz dzanie u ytkownikami 509Statyczne zarz dzanie rolami 519Dynamiczne zarz dzanie rolami 519

Przyk adowe wykorzystanie roacutel 524Podsumowanie 526

Skorowidz 527

Kup książkę Poleć książkę

Rozdzia 18

Scaffolding czyliekspresowe tworzenieinternetowych aplikacjibazodanowych

Dawid Borycki

W dwoacutech poprzednich rozdzia ach samodzielnie utworzyli my komponenty prezentuj -ce dane rekordoacutew z bazy danych a tak e umo liwiaj ce ich edycj i usuwanie Wyko-rzystali my do tego celu bibliotek jQuery UI W tym rozdziale chcia bym zaprezen-towa tak zwany scaffolding Jest to procedura dost pna mi dzy innymi w aplikacjachASPNET MVC umo liwiaj ca automatyczne wygenerowanie widokoacutew (komponen-toacutew) aplikacji internetowej ktoacutere realizuj bazodanowy schemat CRUD (ang CreateRead Update Delete) Schemat CRUD obejmuje podstawowe elementy wszystkichaplikacji bazodanowych czyli tworzenie odczytywanie aktualizowanie i usuwanierekordoacutew z tabel danych

Lista rekordoacutewOpis techniki scaffolding w aplikacjach ASPNET MVC rozpoczn od wygenerowa-nia widoku listy rekordoacutew w aplikacji NorthwindMVC Automatycznie wygenerowa-ny widok skoryguj w celu dostosowania go do potrzeb aplikacji

1 G oacutewny widok aplikacji NorthwindMVC (plik Indexcshtml) uzupe nijo nast puj ce polecenie

ltpgt HtmlActionLink(Scaffolding ScaffoldingList)ltpgt

Kup książkę Poleć książkę

302 Cz II Technologie bazodanowe w aplikacjach internetowych

2 W Solution Explorer rozwi w ze Views a nast pnie kliknij prawymprzyciskiem myszy folder Home

3 Wybierz opcj Add a nast pnie Viewhellip z menu kontekstowego

4 W kreatorze Add View (rysunek 181)

Rysunek 181Widok kreatoraAdd View

a) Zmie nazw widoku na ScaffoldingList

b) Zaznacz pole wyboru Create a strongly-typed view

c) Z listy dost pnych modeli wybierz pozycj CustomersRow

d) Z listy rozwijanej Scaffold template wybierz List

e) Kliknij przycisk Add

5 Utworzony w ten sposoacuteb plik ScaffoldingListcshtml zmodyfikuj wed ugwzoru z listingu 181

Listing 181 Zmodyfikowany widok listy klientoacutew

model IEnumerableltNorthwindMVCModelsNorthwindDataSetCustomersRowgt

ViewBagTitle = ScaffoldingList

lth2gtScaffoldingListlth2gtlth2gtLista klientoacutewlth2gt

ltpgt HtmlActionLink(Create New Create) HtmlActionLink(Nowy rekord ScaffoldingCreate)ltpgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 303

lttablegt lttrgt ltthgt CustomerID ltthgt ltthgt CompanyName ltthgt ltthgt ContactName ltthgt ltthgt ContactTitle ltthgt ltthgt Address ltthgt ltthgt City ltthgt ltthgt Region ltthgt ltthgt PostalCode ltthgt ltthgt Country ltthgt ltthgt Phone ltthgt ltthgt Fax ltthgt ltthgt RowError ltthgt ltthgt HasErrors ltthgt ltthgtltthgt lttrgt

foreach (var item in Model) lttrgt lttdgt HtmlDisplayFor(modelItem =gt itemCustomerID) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCompanyName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactName) lttdgt lttdgt

Kup książkę Poleć książkę

304 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlDisplayFor(modelItem =gt itemContactTitle) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemAddress) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCity) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemRegion) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemPostalCode) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCountry) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemPhone) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemFax) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemRowError) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemHasErrors) lttdgt lttdgt HtmlActionLink(Edytuj ScaffoldingEdit new id = itemCustomerID ) | HtmlActionLink(Zamoacutewienia ScaffoldingMasterDetail new id = itemCustomerID ) | HtmlActionLink(Usu ScaffoldingDelete new id = itemCustomerID ) lttdgt lttrgt

lttablegt

6 W pliku HomeControllercs

a) Utwoacuterz pole klasyCustomersTableAdapter customersTableAdapter = new CustomersTableAdapter()

b) Dodaj polecenia z listingu 182

Listing 182 Prezentacja listy klientoacutew

private void PobierzDaneKlientow() northwindDataSetEnforceConstraints = false customersTableAdapterFill(northwindDataSetCustomers)

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 305

northwindDataSetEnforceConstraints = true

public ActionResult ScaffoldingList() PobierzDaneKlientow() return View(ScaffoldingList northwindDataSetCustomers)

7 Skompiluj i uruchom aplikacj

Po uruchomieniu aplikacji i klikni ciu hiper cza z etykiet Scaffolding zostanie wy-wietlona lista klientoacutew ktoacuterej posta powinna by analogiczna do przedstawionej na

rysunku 182 W kolejnym kroku zaimplementujemy mo liwo usuwania edycji oraztworzenia rekordoacutew w tabeli Customers

Rysunek 182 Lista klientoacutew

Usuwanie rekordoacutewW celu zaimplementowania mo liwo ci usuwania rekordoacutew z tabeli Customers wyko-naj nast puj ce czynno ci

1 W widoku projektowania obiektu NorthwindDataSet skonfiguruj relacjpomi dzy tabelami Orders i Customers wed ug wzoru z rysunku 183

2 Klas kontrolera Home uzupe nij o polecenia z listingu 183

Kup książkę Poleć książkę

306 Cz II Technologie bazodanowe w aplikacjach internetowych

Rysunek 183Konfiguracja wi zoacutewintegralno ci danych

Listing 183 Usuwanie rekordoacutew z tabeli Customers

private void AktualizujDaneKlientow() northwindDataSetEnforceConstraints = false

orderDetailsTableAdapterUpdate(northwindDataSetOrder_Details) ordersTableAdapterUpdate(northwindDataSetOrders) customersTableAdapterUpdate(northwindDataSetCustomers)

northwindDataSetEnforceConstraints = true

public ActionResult ScaffoldingDelete(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) if (cdr = null) Usuwanie rekordoacutew potomnych DataRow[] zamowienia = cdrGetChildRows(northwindDataSetRelations[FK_Orders_Customers])

foreach (DataRow dr in zamowienia) drDelete()

Usuwanie rekordu klienta cdrDelete()

Aktualizacja wszystkich powi zanych tabel AktualizujDaneKlientow()

return ScaffoldingList()

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 307

Podczas usuwania danego rekordu nale y zadba o rekordy z innych tabel ktoacutere sz nim zwi zane relacjami Wiersze tabeli Customers s skojarzone z rekordami z tabelOrders oraz OrdersDetails Z tego powodu aktualizuj zawarto ci tych tabel po usu-ni ciu wybranego rekordu klienta Osierocone rekordy z tabeli Orders s usuwane ra-zem z nim

Edycja rekordoacutewDo edycji rekordoacutew w tabeli Customers potrzebny b dzie odpowiedni widok ktoacuteryprzygotuj na bazie automatycznie wygenerowanego kodu roacuted owego

1 Zgodnie z przepisem z podrozdzia u bdquoLista rekordoacutewrdquo utwoacuterz widokkontrolera Home i skonfiguruj go wed ug wzoru z rysunku 184

Rysunek 184Konfiguracja widokuedycji klienta

2 Wygenerowany automatycznie plik widoku ScaffoldingEditcshtmlzmodyfikuj zgodnie z listingiem 184

Listing 184 Definicja widoku edycji klienta

model NorthwindMVCModelsNorthwindDataSetCustomersRow

ViewBagTitle = ScaffoldingEdit

lth2gtScaffoldingEditlth2gtlth2gtEdycja rekordulth2gt

ltscript src=UrlContent(~Scriptsjqueryvalidateminjs)type=textjavascriptgtltscriptgt

Kup książkę Poleć książkę

308 Cz II Technologie bazodanowe w aplikacjach internetowych

ltscript src=UrlContent(~Scriptsjqueryvalidateunobtrusiveminjs)type=textjavascriptgtltscriptgt

using (HtmlBeginForm(EdytujDaneKlienta Home new id = ModelCustomerID)) HtmlValidationSummary(true) ltfieldsetgt ltlegendgtDane klientaCustomersRowltlegendgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCustomerID) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCustomerID) HtmlValidationMessageFor(model =gt modelCustomerID) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCompanyName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCompanyName) HtmlValidationMessageFor(model =gt modelCompanyName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactName) HtmlValidationMessageFor(model =gt modelContactName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactTitle) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactTitle) HtmlValidationMessageFor(model =gt modelContactTitle) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelAddress) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelAddress) HtmlValidationMessageFor(model =gt modelAddress) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCity) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCity) HtmlValidationMessageFor(model =gt modelCity) ltdivgt

ltdiv class=editor-labelgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 309

HtmlLabelFor(model =gt modelRegion) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRegion) HtmlValidationMessageFor(model =gt modelRegion) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPostalCode) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPostalCode) HtmlValidationMessageFor(model =gt modelPostalCode) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCountry) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCountry) HtmlValidationMessageFor(model =gt modelCountry) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPhone) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPhone) HtmlValidationMessageFor(model =gt modelPhone) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelFax) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelFax) HtmlValidationMessageFor(model =gt modelFax) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRowError) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRowError) HtmlValidationMessageFor(model =gt modelRowError) ltdivgt

ltpgt ltinput type=submit value=SaveZapisz gt ltpgt ltfieldsetgt

ltdivgt HtmlActionLink(Back to List Index) HtmlActionLink(Powroacutet do listy rekordow ScaffoldingList)ltdivgt

Kup książkę Poleć książkę

310 Cz II Technologie bazodanowe w aplikacjach internetowych

3 W kontrolerze Home zdefiniuj metody z listingu 185

Listing 185 Edycja danych klienta

public ActionResult ScaffoldingEdit(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id)

if (cdr = null) return View(ScaffoldingEdit cdr) else return ScaffoldingList()

private void PrzepiszDaneKlienta(FormCollection daneKlienta refNorthwindDataSetCustomersRow rekordKlienta)

rekordKlientaCompanyName = daneKlienta[CompanyName]ToString() rekordKlientaContactName = daneKlienta[ContactName]ToString() rekordKlientaContactTitle = daneKlienta[ContactTitle]ToString() rekordKlientaAddress = daneKlienta[Address]ToString() rekordKlientaCity = daneKlienta[City]ToString()

public ActionResult EdytujDaneKlienta(FormCollection daneKlienta string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) if (cdr = null) PrzepiszDaneKlienta(daneKlienta ref cdr) AktualizujDaneKlientow() return ScaffoldingList()

Proces edycji rekordu w bazie danych za pomoc technologii ADONET opiera si nainformacjach zebranych w poprzednich rozdzia ach wi c nie b d go tu szczegoacute owoopisywa Celem tego przyk adu by o automatyczne wygenerowanie widoku umo li-wiaj cego edycj danych klienta przystosowanie go do w asnych potrzeb oraz inte-gracja z kontrolerem

Separacja modelu widoku i kontrolera umo liwia narz dziom Visual Studio 2012 auto-matyczne generowanie widoku na podstawie definicji modelu Jednak e jak pokaza-em w tym podrozdziale kreator tworzy widok ktoacutery umo liwia edycj wszystkich poacutel

rekordu (nawet identyfikatora) co sprawia e w wi kszo ci przypadkoacutew nale y sa-modzielnie edytowa plik widoku w celu przystosowania go do potrzeb projektowanejaplikacji Jednak jak pokazuje powy szy przyk ad nie jest to rzecz skomplikowan

Integracja widoku z kontrolerem polega na odpowiednim przekazywaniu informacjio edytowanym rekordzie oraz warto ci jego poacutel Do tego celu wykorzysta em identy-fikator klienta ktoacutery jednoznacznie identyfikuje rekordy w tabeli Customers

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 311

Przyk adowy wynik polece zaimplementowanych w tym podrozdziale przedstawiarysunek 185

Rysunek 185Edycja danych klienta

Tworzenie rekordoacutewW poprzednich podrozdzia ach zaimplementowa em trzy spo roacuted czterech podstawo-wych elementoacutew schematu CRUD czyli odczytywanie (R) aktualizacj (U) oraz usu-wanie (D) rekordoacutew Ostatnim elementem jest tworzenie (C) nowych rekordoacutew W celuzaimplementowania procedury uzupe niania tabeli Customers nowymi rekordami na-le y post pi nast puj co

1 W Solution Explorer rozwi w ze Views a nast pnie kliknij prawymprzyciskiem myszy folder Home

2 Wybierz opcj Add a nast pnie Viewhellip z menu kontekstowego

3 W kreatorze Add View

a) Zmie nazw widoku na ScaffoldingCreate

b) Zaznacz pole wyboru Create a strongly-typed view

c) Z listy dost pnych modeli wybierz pozycj CustomersRow

d) Z listy rozwijanej Scaffold template wybierz Create

e) Kliknij przycisk Add

4 Utworzony w ten sposoacuteb plik ScaffoldingCreatecshtml zmodyfikuj wed ugwzoru z listingu 186

Kup książkę Poleć książkę

312 Cz II Technologie bazodanowe w aplikacjach internetowych

Listing 186 Widok umo liwiaj cy wstawianie rekordoacutew do tabeli Customers

model NorthwindMVCModelsNorthwindDataSetCustomersRow

ViewBagTitle = ScaffoldingCreate

lth2gtScaffoldingCreatelth2gtlth2gtTworzenie rekordulth2gt

ltscript src=UrlContent(~Scriptsjqueryvalidateminjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~Scriptsjqueryvalidateunobtrusiveminjs)type=textjavascriptgtltscriptgt

using (HtmlBeginForm(DodajKlienta Home)) HtmlValidationSummary(true) ltfieldsetgt ltlegendgtDane klientaCustomersRowltlegendgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCustomerID) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCustomerID) HtmlValidationMessageFor(model =gt modelCustomerID) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCompanyName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCompanyName) HtmlValidationMessageFor(model =gt modelCompanyName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactName) HtmlValidationMessageFor(model =gt modelContactName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactTitle) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactTitle) HtmlValidationMessageFor(model =gt modelContactTitle) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelAddress) ltdivgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 313

ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelAddress) HtmlValidationMessageFor(model =gt modelAddress) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCity) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCity) HtmlValidationMessageFor(model =gt modelCity) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRegion) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRegion) HtmlValidationMessageFor(model =gt modelRegion) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPostalCode) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPostalCode) HtmlValidationMessageFor(model =gt modelPostalCode) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCountry) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCountry) HtmlValidationMessageFor(model =gt modelCountry) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPhone) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPhone) HtmlValidationMessageFor(model =gt modelPhone) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelFax) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelFax) HtmlValidationMessageFor(model =gt modelFax) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRowError) ltdivgt ltdiv class=editor-fieldgt

Kup książkę Poleć książkę

314 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlEditorFor(model =gt modelRowError) HtmlValidationMessageFor(model =gt modelRowError) ltdivgt

ltpgt ltinput type=submit value=CreateUtwoacuterz gt ltpgt ltfieldsetgt

ltdivgt HtmlActionLink(Back to List Index) HtmlActionLink(Powroacutet do listy ScaffoldingList)ltdivgt

5 Definicj kontrolera Home uzupe nij o polecenia z listingu 187

Listing 187 Wstawianie rekordoacutew do tabeli Customers

private char PobierzZnak(string lancuch int index) Random random = new Random() char znak

if (lancuchLength gt index) znak = lancuch[index] else znak = (char)randomNext(0 255)ToString()[0]

return znak

private void UtworzIdentyfikatorKlienta(ref NorthwindDataSetCustomersRowdaneKlienta)

string identyfikator = int indexZnaku = 0

identyfikator += PobierzZnak(daneKlientaCompanyName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactTitle indexZnaku) identyfikator += PobierzZnak(daneKlientaAddress indexZnaku) identyfikator += PobierzZnak(daneKlientaCity indexZnaku)

daneKlientaCustomerID = identyfikator

public ActionResult DodajKlienta(FormCollection daneKlienta string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersNewCustomersRow()

PrzepiszDaneKlienta(daneKlienta ref cdr)

UtworzIdentyfikatorKlienta(ref cdr)

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 315

customersTableAdapterInsert(cdrCustomerID cdrCompanyName cdrContactName cdrContactTitle cdrAddress cdrCity )

AktualizujDaneKlientow()

return ScaffoldingList()

Wstawienie rekordoacutew do tabeli Customers jest analogiczne do ich edycji Jedyn roacute -nic jest konieczno utworzenia identyfikatora klienta gdy nie jest on tworzonyautomatycznie jak to by o w przypadku tabeli Employees Identyfikatory rekordoacuteww tabeli Customers s pi cioelementowymi ci gami znakoacutew Tworz je na podstawiepierwszych liter poacutel CompanyName ContactName ContactTitle Address oraz City Je liw tych polach znajduj si puste ci gi to odpowiedni liter zast puj losowo wyge-nerowanym znakiem

W kolejnym podrozdziale poka w jaki sposoacuteb wy wietli informacje o rekordachpotomnych opieraj c si na relacji pomi dzy tabelami

Formularz z podformularzem(MasterDetail Form)

Jako podsumowanie tego rozdzia u utworz formularz z podformularzem tak zwanyformularz MasterDetail Jego dzia anie polega na tym e wy wietlanie danych od-bywa si na bazie co najmniej dwoacutech komponentoacutew (np blokoacutew czy tabel) oraz rela-cji mi dzy tabelami Pierwszy komponent prezentuje rekordy zawarte w tabeli g oacutew-nej (ang master) a drugi zawiera dane z tabeli podrz dnej (ang detail) Komponentzwi zany z tabel podrz dn ma zazwyczaj za zadanie prezentowa szczegoacute owe da-ne odpowiadaj ce rekordowi z tabeli nadrz dnej ktoacutery zosta wskazany przy pomocyzwi zanej z nim listy rekordoacutew Pola tych tabel musz by zatem uporz dkowane w takisposoacuteb aby pokazywa y informacj o tym samym rekordzie Uzyskuje si to przy po-mocy relacji mi dzy tabelami ktoacuterej zadaniem jest powi zanie informacji zawartychw bazie danych

W tym podrozdziale tabel nadrz dn b dzie tabela Customers a podrz dn OrdersPo klikni ciu na hiper cze z etykiet zamoacutewienia wy wietli si lista rekordoacutew tabeliOrders skojarzonych z danym klientem dania prezentacji zamoacutewie b d realizo-wane asynchronicznie

1 Plik widoku ScaffoldingListcshtml zmodyfikuj wed ug wzoru z listingu 188

Listing 188 Konfiguracja hiper cza umo liwiaj cego wy wietlenie listy zamoacutewie danego klienta

hellipforeach (var item in Model) lttrgt lttdgt

Kup książkę Poleć książkę

316 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlDisplayFor(modelItem =gt itemCustomerID) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCompanyName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactTitle) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemAddress) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCity) lttdgt lttdgt HtmlActionLink(Edytuj ScaffoldingEdit new id = itemCustomerID ) | AjaxActionLink(Zamoacutewienia ScaffoldingMasterDetail new id = itemCustomerID new AjaxOptions UpdateTargetId = zamowienia OnSuccess = documentgetElementById(zamowienia)scrollIntoView() ) | HtmlActionLink(Usu ScaffoldingDelete new id = itemCustomerID ) lttdgt lttrgtlttablegt

ltdiv id=zamowieniagtltdivgt

2 Utwoacuterz widok cz ciowy o nazwie ZamowieniaPartialViewcshtml i wstaww nim polecenia z listingu 189

Listing 189 Definicja widoku prezentuj cego list zamoacutewie

model IEnumerableltNorthwindMVCModelsNorthwindDataSetOrdersRowgt

if (Model == null) lth2gtBrak zamoacutewie lth2gtelse lth2gtLista zamoacutewie lth2gt

lttablegt lttrgt ltthgt OrderDate ltthgt ltthgt RequiredDate ltthgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 317

ltthgt ShippedDate ltthgt ltthgt ShipName ltthgt ltthgt ShipAddress ltthgt ltthgt ShipCity ltthgt ltthgtltthgt lttrgt

foreach (var item in Model) lttrgt lttdgt itemOrderDateToShortDateString() lttdgt lttdgt itemRequiredDateToShortDateString() lttdgt lttdgt itemShippedDateToShortDateString() lttdgt lttdgt itemShipName lttdgt lttdgt itemShipAddress lttdgt lttdgt itemShipCity lttdgt lttrgt lttablegt

3 Kontroler Home uzupe nij o metod ScaffoldingMasterDetail ktoacuterej definicjprzedstawi em na listingu 1810

Listing 1810 Pobranie i prezentacja rekordoacutew potomnych wybranego klienta

public ActionResult ScaffoldingMasterDetail(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) NorthwindDataSetOrdersRow[] zamowieniaPracownika = null

if (cdr = null) zamowieniaPracownika = (NorthwindDataSetOrdersRow[])cdrGetChildRows(FK_Orders_Customers)

Kup książkę Poleć książkę

318 Cz II Technologie bazodanowe w aplikacjach internetowych

if (RequestIsAjaxRequest()) return View(ZamowieniaPartialView zamowieniaPracownika) else return ScaffoldingList()

4 Sekcj ltheadgt pliku _Layoutcshtml uzupe nij o polecenia z listingu 1811

Listing 1811 Import skryptoacutew obs uguj cych dania asynchroniczne

ltscript src=UrlContent(~Scriptsjqueryunobtrusive-ajaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftAjaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftMvcAjaxjs)type=textjavascriptgtltscriptgt

5 Po skompilowaniu i uruchomieniu aplikacji powiniene uzyska efektanalogiczny do przedstawionego na rysunku 186

Rysunek 186 Przyk ad formularza typu MasterDetail

Kup książkę Poleć książkę

Skorowidz

AACL 149action methods 25ActiveX Data Object 238ADO 238ADONET 238

obiekty 238podstawy 237synchronizacja buforu ze roacuted em danych 273

adresy URLautoryzacja 157parametry 122trasowanie 121wzorce 122 123

agile programming 15AJAX 91

aktualizacja bloku witryny 113dodanie referencji do bibliotek JavaScript 94

akcjaCreate 354Delete 357Details 353dodaj ca nowy produkt 355Edit 356

aktualizacjazawarto ci elementu witryny 92

algorytmRSA 187

ambient transaction 329ankieta 102AntiXss 187aplikacje

bazodanowe 235bezpiecze stwo 335mechanizm transakcji 319scaffolding 301

synchronizacja ze roacuted em danych 273uwagi do projektowania 345

mo liwo edytowania wpisoacutew 441rejestrowanie zdarze i trasowanie 430

Application Domain 339architektura obiektowa 347ASPNET

konfiguracja aplikacji 161mechanizmy uwierzytelnienia 149metody globalne 107w czanie i wy czanie aplikacji 171

ASPNET AJAX 91ASPNET MVC 15

komponenty 16ASPX 21 30asynchroniczne przetwarzanie da http

jQuery 113Asynchronous JavaScript and XML 48Asynchronous Programming Model 464ataki

rodzaje 147SQL Injection 148 344wy udzenie informacji 148z o liwy kod 181

atrybut 347AcceptVerbs(HttpPost) 47AcceptVerbs(HttpVerbsPost) 65AssociationAttribute 58Authorize 200AuthorizeAttribute 128autoryzacyjny 145ConcurrencyCheckAttribute 58Confirm 95cookieless 154CustomValidationAttribute 58 66data-bind 230DataType 54 57

Kup książkę Poleć książkę

528 ASPNET MVC

atrybutDataTypeAttribute 58defaultRedirect 173defaultUrl 154DisplayAttribute 58DisplayColumnAttribute 58DisplayName 436EditableAttribute 58enableCrossAppRedirects 155EnumDataTypeAttribute 58FilterUIHintAttribute 58HandleError 138 175HandleErrorAttribute 129HttpMethod 95InsertionMode 95KeyAttribute 58klasy do konfiguracji metadanych 57 58LoadingElementDuration 110LoadingElementId 95 110Log

klasa implementuj ca 142loginUrl 154MetadataType 69MetadataTypeAttribute 58mode 153 173modelu 55name 155NonAction 26 135OnBegin 95OnComplete 95OnFailure 95OnSuccess 95 110OutputCache 133OutputCacheAttribute

parametry 134passwordFormat 156protection 155Range 54 66RangeAttribute 58redirectMode 173RegularExpressionAttribute 58Required 54 66RequiredAttribute 58RequireHttps 135requireSSL 155slidingExpiration 155StringLength 66StringLengthAttribute 58TestClass 29TestMethod 29ticketCompatibilityMode 155timeout 155TimestampAttribute 58UpdateTargetId 95

Url 95ValidateInput 185

atrybuty modeluwyra enia regularne 84

Attribute 347authentication ticket 151auto post back 217autocomplete textbox 115automatyczne uzupe nienie pola tekstowego 115autoryzacja 149 157

adresoacutew URL 157konfiguracja 157

grupy u ytkownikoacutew 158mechanizm filtrowania 158otwarta 460plikoacutew 157zdalna

powi zanie z portalem Facebook 461Azure 496

Bbazy danych 40 237

aktualizacja 41lista rekordoacutew 301Northwind 240

detale produktu 352dodawanie po cze 350pobieranie produktoacutew 351

po czenie ze roacuted em danych 241relacyjne 237schemat CRUD 301transakcje 319tworzenie 321

nowego rekordu 48schematu na bazie modelu encji 357

usuwanie danych 290regu y integralno ci 293

usuwanie powi zanych wierszyrekordy potomne 291

warstwa dost pu 42bezpiecze stwo

aplikacji internetowych 147ataki 147mechanizmy 149

biblioteka NETprogramowanie asynchroniczne 464

biblioteka skryptoacutewMapajs 32

bilet uwierzytelniaj cy 151b dy

dzia ania aplikacji 171strona b du 176tworzenie u ytkownika 202wprowadzenie z ego rekordu 268

Kup książkę Poleć książkę

Skorowidz 529

body 383buforowanie

danych ze roacutede zewn trznych 133bundling 475Business Intelligence 368

Ccallback 35CAS 151 338CDN 113Central Authentication Service 151centralna us uga uwierzytelnienia 151certyfikat 337CLR

procesy systemowe 466Code Access Security 338Confirm 96connString 341controllers 16Coordinated Universal Time 155Create Read Update Delete 301cross-site scripting 181CRUD 54 301Crystal Reports 368

Ddane

agregacja 378bezpo redni dost p do roacuted a 346eksport 413

do dokumentu tekstowego 419do PDF 420skoroszyt MS Excel 421tabele dynamiczne 418

integralno 288 319pomini cie sprawdzania 292regu y 291

modyfikacja 249platforma modelowania 347prezentacja

graficzna 406w postaci macierzowej 390

przekazywaniez formularza do roacuted a 46z kontrolera do widoku 437 439

serializacja i transfer struktur 117szyfrowanie 337typu

ActionResult 25walidacja 53weryfikacja 53wi zy integralno ci 306

wy wietlanie 315zabezpieczenie 338

Data Binding 389Data Definition Language 345Database Management System 237DBMS 237

wi zy integralno ci 238DDL 345denial of service 147detail 315Development Server 504DIE 53DisplayFormatAttribute 58document object model 92DOM 92domena aplikacji 339 466

instancja obiektoacutew 341tworzenie 339wspoacute dzielenie obiektu 341

dostawcy us ug 178dost p anonimowy 150DotNetOpenAuth 149DPAPI 187DRY 53dyrektywa

model 46

Eelement

customErrors 173success 115

elevation of privilege 147encapsulation 107encja 347

atrybuty 54bazodanowa 54KategoriaProduktu 358odwzorowanie w bazie danych 360Order_Details 362Orders 361Products 361Produkt 358

Entity 347Entity Framework 43 347

POCO 360potwierdzenie explicite 356technologie 349wersje 347

Entity Relationship Model 347Entity SQL 349ERM 347Event-based Asynchronous Pattern 465event-driven programming 17

Kup książkę Poleć książkę

530 ASPNET MVC

FFile Transfer Protocol 495filtry 127

akcji 127 139autoryzacyjne 127 144dynamiczne 395kolejno wykonywania 137

priorytety 138Log

metody 141LogAttribute

definicja klasy 140podstawowe atrybuty 128statyczne 395w asne 139wyj tkoacutew 128 144

niestandardowe 145wyniku 128 144

for 434foreach 51Forms Authentication Provider 149formularz

MasterDetail 315z podformularzem 315

funkcjadelay 217ListaPracownikoacutew 57Mid 390RolesIsUserInRole 217Today 390wyznaczaj ca tras 109zmienPrzynaleznoscDoGrupy 217 218

GGauge 383 403GDI 368graficzny interfejs u ytkownika 17 30Graphics Device Interface 368GridView 48grupy u ytkownikoacutew

autoryzacja 158GUI 17

Hhard-coding 167haszowanie 150helper methods 25html helper 455

Iidentyfikator

klienta 315rekordoacutew 315

IIS 121 149 495instalacja

ASPNET 445 498serwera w Windows 7 496serwera w Windows 8 496

mened er Windows 499uruchamianie aplikacji 503

serwer do rozwoju aplikacji 504information disclosure 147instancje aplikacji 465instancjonowanie modelu 39IntelliSense 247interfejs u ytkownika

przycisk umo liwiaj cy dodanie pracownika294

przycisk usuni cia wybranego rekordu 289Internet Information Services 121internetowe us ugi informacyjne 495in ynieria spo eczna 148Isolation Level 332izolacja 339 466

JJavaScript Object Notation 117jQM 457jQuery

autocomplete 116pliki roacuted owe 113

jQuery Mobile 457jQuery UI 367

wykorzystanie przyciskoacutew 284JSON 117

obiekt typu adres 118

KKey Performance Indicators 403klasa

AccountController 198ActionExecutingContext 143AdminController 212Ajax 94AjaxOptions 94

atrybuty 95AspNetHidden 442AssemblyName 170Assert 29

Kup książkę Poleć książkę

Skorowidz 531

AuthConfig 461BundleConfig 475Configuration 170ConfigurationManager 170ConfigurationSection 187 188ConnectionStringBuilder 345DpapiProtectedConfigurationProvider 187FiltryRaportuMacierzowego 397Form1 484FormsAuthentication 152Global 430HandleErrorInfo 133HtmlHelper 437HttpClient 483 486HttpResponseMessage 486kontekstu 362LogOnModel 198MarshallByRefObject 341Membership 152 198 211MvcApplication 430NorthwindContext 362ObjectContext 348ObjectQueryltTgt 348Order_Details 362Orders 361Osoba 228ParametryWatku 470Pracownik 484Products 361Produkt 230Raport 392RequestBrowser 460ResultExecutedContext 144ResultExecutingContext 144Roles 211RsaProtectedConfigurationProvider 187SQLConnCAS

definicja 340stowarzyszona z modelem 69SystemNetHttpFormattingJsonMediaTypeF

ormatter 491SystemTextRegularExpressions 74SystemWebSecurityRoles 159Task 465 472testuj ca 29Thread 465 469TransactionScope 327UrlRoutingModule 121ViewData 434 436 439WebApiConfig 478WebConfigurationManager 170Wpisy 427 436

klucze 237MAC 155obce 238podstawowe 238

kluczowe wska niki efektywno ci 403dynamiczna zmiana warto ci 404

Knockout 227wykorzystanie szablonoacutew JavaScript 230wywo anie skryptu 229

kodowanie danychprzekazywanych przez u ytkownikoacutew 186

komponentFormDanePracownika 489obiektu

PartialView 99typu ListBox 99

ReportViewer 368 375eksport danych 413nawigacja mi dzy stronami raportu 377

komponenty u ytkownika 30komunikaty o b dach 171

kod statusowy 174 175koncepcja programowania zdarzeniowego 16konfiguracja

po czenia z baz danych 241uprawnie puli aplikacji 454walidacji danych 66

konkurencyjno aplikacji 332kontekst wi zania 389kontrola wprowadzanych danych 263

metoda onColumnChanged 269wstrzymanie walidacji wiersza 267zako czenie edycji rekordu 267

wymuszenie 267kontroler 16 25

AccountController 195Admin 223AdminController 212aplikacja Kardy 63asynchroniczny 466

a zadania 472dane wyj ciowe 25domeny 150ErrorController 174Glosowania 103Home 182 224 228 231

Bezpiecze stwo 336filtr wyj tku 131

HomeController 184EksportDanych 415Northwind 245

interfejs Web API 477KsiegaGosciController 424

Kup książkę Poleć książkę

532 ASPNET MVC

kontrolerLista 93Mapa 33

autouzupe nianie 117modyfikacja 45

niedost pne metody publiczne 136obs uga POST 431panelu administracyjnego 212

zarz dzanie grupami u ytkownikoacutew 220Pracownicy 57 64PracownicyController

implementacja 481Produkty 351projektowanie 27przekazywanie danych do widoku

zmiany 439uwierzytelnienia 195

klasa 198model 196widoki 203

uzupe nienie o widok 31u ycie modelu odsy anego przez widok 440ValuesController 478weryfikacja funkcjonalno ci 28wi zanie adresu URL z akcj 430widoki 58

konwersja obrazu 278kreator

Add New Item 242Add View 59 302Application 162blokowania szczegoacute oacutew b doacutew 172dodanie u ytkownikoacutew 164grup u ytkownikoacutew 165Provider 162Publish Web 501Security 162tworzenia pracownika 59ustawie aplikacji 167widokoacutew 60wyboacuter dostawcoacutew us ug 178

kwerendy parametryczne 274 401

Llayout witryny 30LINQ

to Entities 349lista rekordoacutew 301

prezentacja 304logika

aplikacji 30bazodanowa 30biznesowa 44

a cuch QueryString 26

Mmaster 315mechanizm

automatycznych w a ciwo ci 57autoryzacji 157eksportu danych 413filtroacutew 127grupowania plikoacutew 475IntelliSense 119QuerynotString 117szyfruj cy 187transakcji 319 321

przelewy bankowe 326wyznaczania trasy przejzdu 34

meotdaInsert 299ProtectSection 191WersjonowanieDataRow

definicja widoku 265message authentication code 155metoda

on 262HtmlValidationSummary 204About 124AcceptChanges 255 263ActionLinkActionLink 61 63 353AddUserToRole 159akcji 25

parametry opcjonalne 27aktualizacja statystyk ankiety 105AktualizujZdjeciePracownika 288Application_AuthenticateRequest 108Application_BeginRequest 107 108Application_End 108Application_EndRequest 107Application_Error 108 172Application_Start 108 123 139 430asynchroniczna kontrolera 472AttachTo 356Authenticate 152AutoUzupelnienie 117

zapytanie LINQ 118BeginEdit 267BeginForm 47 94BeginTransaction 326 332CancelEdit 263ChangeObjectState 356

Kup książkę Poleć książkę

Skorowidz 533

ChangePassword 200hiper cze 208widok 206

ChangePasswordSuccesswidok 206

CreateNazwaEncji 354CreateRole 159CreateUser 153czyBazaDanychIstnieje 326daneDostawcyForm 262DBeginnotEdit 263Delete 270DeleteObject 357DeleteRole 159DeleteUser 153DeszyfrujPlikKonfiguracyjny 191DodajDostawce 255DodajElementDoListy 94 97 101DodajGrupe 223DodajKomentarz 185DodajPracownika 299 491DopiszDoPlikuLog 430Edit 356EdytujDaneDostawcy 261EdytujDanePracownika 493Eksportuj 418EmptyResult 26EndEdit 263EndForm 47ErrorCodeToString 201Fill 246FillByCityName 275FormatDateTime 390FormsAuthenticationSetCookie 199GenerujDane 468Get(int id) 478GetAllRoles 159GetAsync 486GetChildRecords 291GetSection 170GetSectionGroup 170GetUser 153GetUsersInRole 160globalna

aplikacji ASPNET 108Grupy 223HasVersion 263HtmlListBox 97HtmlRenderPartial 101HtmlValidationSummary 61HtmlHelperLabel 437ImiePierwszegoPracownika 246 247Include 475Index 47 79 97 101

kontrolera Mapa 34testowanie 28

IsAjaxRequest 101IsMatch 76IsNotNull 29IsUserInRole 159Label 35ListaDostawcow 252 255ListaPracownikow 248

hiper cze skojarzone 249LogOff 198LogOn 198Macierzowy 397mapowalna 26MetodaAsynchronicznaWatki 472ModelStateAddModelError 199MvcApplicationRegisterRoutes 430obs uga zapyta POST 431odczyt aktualnych bilansoacutew kont 323OdczytajStanyKont 326OnActionExecuted 143OnActionExecuting 127 143onColumnChanged 269OnResultExecuted 144OnResultExecuting 144onRowChanged 266onRowChanging 268OpenConfiguration 170otwarcie po czenia z baz danych 341OtworzPlikDanych 107Page_Load 399PartialViewResult 26PobierzDane 394

modyfikacja 401PobierzPlikLogu 141 143PobierzZdjecie 278PokazTrasy 51PokazWyniki 107pomocnicza 25 455

HtmlEncode 51wykorzystanie 456

PostAsJsonAsync 486PostAsXmlAsync 486PostAsync 486PostResolveRequestCache 121PracownicyWedlugMiast

przechowywanie warto ci filtru 285PutAsJsonAsync 493PutAsXmlAsync 493PutAsync 493ReadAsAsync 486ReadXml 107ReadXmlSchema 107RedirectFromLoginPage 152

Kup książkę Poleć książkę

534 ASPNET MVC

metodaRedirectResult 26RedirectToAction 26RedirectToLoginPage 152RedirectToRoute 26RedirectToRouteResult 26RefreshReport 384Register 199 478RegisterAuth 461 462RegisterBundles 475RegisterGlobalFilters 171RegisterRoutes 94 123RejectChanges 256 263rejestrowanie zdarze aplikacji 430RemoveUserFromRole 160Render 384 413 418RenderPartial 99ResponseWrite 223ResultExecuteResult 143RoleExists 159RolesIsUserInRole 216RolesRemoveUsersFromRole 223route 35RowsAdd 255RozpocznijEdycje 269

hiper cze uruchamiaj ce 267SaveChanges 354ScaffoldingMasterDetail 317Session_End 108Session_Start 108SetAuthCookie 152SetParameters 401 405SignOut 152SprawdzDopasowania 79SprawdzPoprawnoscDatyZatrudnienia 67SqlPermissionAdd 343SqlTransactionCommit 326SqlTransactionRollback 326StronaNieIstnieje 175submit 115SzyfrowaniePlikuKonfiguracyjnego 190szyfruj ca i deszyfruj ca 189SzyfrujPlikKonfiguracyjny 191TextBox 35ThreadSleep 469 472TransactionScopeComplete 329Transfer 36UpdateUser 153UstawParametryRaportu 399UsunGrupe 223UsunTrase 50 51UtworzPracownika 64Uzytkownicy 216ValidateUser 152 153

ValidationMessage 437ValidationMessageFor 61ValidationSummary 437ViewResult 26WebApiConfigRegister 478WersjonowanieDataRow 265

sparametryzowanie 266WpisyZapiszDoPlikuXml 430wykonywanie przelewoacutew 323WyswietlLog 141 142 143wyswietlMape 34 35WyswietlTrase 50

modyfikacja 135 166wyznaczTrase 35ZaktualizujWyniki 107Zapami tajNazw U ytkownika 432ZmienStanKont 328

Microsoft SQL Server 319sposoby uwierzytelnienia 344

MIME type 390minification 476minimalizacja 476model 16 39

APM 464ChangePasswordModel 196EAP 465integracja z elementami aplikacji 39LogOnModel 196obs uga plikoacutew XML 427przesy anie z kontrolera do widoku 432 435RegisterModel 196TAP 465

model binding 48model danych encji 348

dodawanie encji 353edycja encji 355kreator 348 349

czenie encji 359metody akcji 354opcje 361projektowanie relacji 43tworzenie 349

schematu bazy danych 357usuwanie encji 357wyboacuter tabel 350

model first 52model zwi zkoacutew encji 347models 16Model-View-Controller 15Model-View-ViewModel 227Model-Widok-Kontroler 15modu

UrlAuthorizationModule 157

Kup książkę Poleć książkę

Skorowidz 535

MVC 15a Web Forms 16 365 367 423

kod 442serwer internetowych us ug

informacyjnych 495wydajno 443wykorzystanie w projektach 444

ataki XSS 185autoryzacja 158 162bezpiecze stwo aplikacji 152buforowanie 134domy lne wzorce aplikacji 21kreator aplikacji 20mechanizm filtrowania 127Model Binder 355nazwa kontrolera 27obs uga interakcji klient-serwer 121parametry opcjonalne 27pobieranie parametru z adresu URL 26projektowanie aplikacji 18 52przetwarzanie dania aplikacji klienckiej 18sprawdzanie poprawno ci danych 68struktura modelu 39techniki walidacji danych 53utworzenie widoku 30uzupe nianie o komponenty graficzne 367walidacja 438wersja 4 449wyboacuter mechanizmu przetwarzaj cego widoki 21wzorce URL 122zbioacuter modeli szablonu aplikacji 196roacuted o danych 40

MVC4 449grupowanie i optymalizacja skryptoacutew 475kaskadowe arkuszye stylu 475przetwarzanie asynchroniczne 464przystosowanie do urz dze mobillnych 457testowanie aplikacji 457uwierzytelnianie 460

integracja z portalem Facebook 462wsparcie dla urz dze mobilnych 450zdalna autoryzacja 461

MVVM 227

Nnarz dzie

aspnet_regiis 187przetwarzanie tekstu 73

Northwindinstalacja 240kwerenda wybieraj ca 240pobieranie informacji o dostawcach 251

NuGET 483nullable-types 27

OOAuth 461obiekt

AppDomain 339 341Chart 406Command 239Connection 239 241

w a ciwo i 243ConnectionString 343

sposoby uwierzytelniania 344szyfrowanie informacji 335

DataAdapter 239DataGridView 491DataReader 239 273DataRow 255

kontrola wprowadzonych danych 263usuwanie rekordoacutew 270wersje 263wersja proponowana 265wersjonowanie 263w a ciwo ci 255

DataSet 239 244 345edycja rekordoacutew 257kreator konfiguracji TableAdapter 274modyfikacja danych 249tworzenie nowych rekordoacutew 250usuwanie rekordoacutew 271wstawianie rekordoacutew 251wymuszenie wi zoacutew integralno ci 292

DataTable 107DirectionsService 35dostawca 153FormCollection 47jqXHR 218List 389logiki biznesowej 348materializacja 348Matrix 390Membership 152MvcRouteHandler 121 122o okre lonym typie danych 244o silnej typizacji 244o s abej typizacji 247ObjectStateManager 348PartialView 98ReportViewer 368ReportViewerLocalReport 418Request 26 101 432Response 26Route 122ShippersRow 255SqlConnCAS 341SqlConnection 326

Kup książkę Poleć książkę

536 ASPNET MVC

obiektTableAdapter 239 244 273 274 345

edycja danych 279 286wstawianie danych 294

TransactionScope 329parametryzacja 331

typuadres 118AppDomain 466ConcurrentDictionary 479NorthwindDataSet 247ObjectSetltTgt 348Route 121Thread 466

UrlRoutingModule 121ViewBag 36

przekazywanie danych do widoku WebForms 376

ViewData 36 79 432Object Relational Mapping 347Object Services 348obs uga b doacutew

konfiguracja 132w czenie 129

odrzucenie informacji o transakcji 148od wie anie witryny

a fragment widoku 97aktualizacja zawarto ci 113cz ciowe 96

OnSuccess 96operator

await 474konkatenacji 382Top 411Top N 411

ORM 347

Pparametr

CountryName 401data 115filtr 117mapDivId 35maxIloscRekordow 117Order 137raportu 395scopeTimeOut 330

warto ci 330TransactionScopeOption

warto ci 329type 115

parametryzacja kwerend 274partial view 30

piaskownica 341Plain Old CLR Object 360platforma NET

us ugi uwierzytelniania 153plik

ascx 22aspx 22bmp 390cookie 151cookies 154 155cshtml 22 434css 475edmx 360jpg 390js 475konfiguracyjny

zabezpieczenie 187master 22png 390rdl 368rdlc 368tekstowy

wy wietlenie w przegl darce 143vbhtml 22

POCO 360pola klucza 237polecenie

HtmlEncode 187ScriptsRender 476StylesRender 476GET 18POST 18

po czenieze roacuted em danych 241

pomocnik HTML 455Portable Document Format 413po rednik 341poziom izolacji 332

Chaos 333konfiguracja 332ReadCommitted 333ReadUncommitted 333Serializable 333Snapshot 333Unspecified 333

poziom zaufania 339ograniczenie 340

proceduraajax 115AjaxBeginForm 96niemapowalna 26PartialView 26serialize 115

Kup książkę Poleć książkę

Skorowidz 537

proces 465programowanie

oparte na zdarzeniach 17zdarzeniowe 17

projekt aplikacji MVCankieta 102asynchroniczne przetwarzanie da HTTP 92Bezpiecze stwo 181 336

nawi zanie komunikacji ze roacuted emdanych 342

szyfrowanie pliku konfiguracyjnego 191dodawanie i wy wietlanie komentarzy 183domy lny 20EksportDanych 413Filtry 131formularz oceny 107Kadry

walidacja adresu e-mail 84Kardy 55KsiegaGosci_MVC3 424lista prezentuj ca dodawane elementy 97MojaNawigacja 18

blokowanie samodzielnego tworzeniakont 224

buforowanie danych 135implementacja warstwy dost pu 42instalacja na serwerze IIS 500komunikat powitalny 168komunikaty 110komunikaty o b dach 173mechanizm podpowiedzi 115model weryfikuj cy po wiadczenia

u ytkownikoacutew 196modele kontrolera uwierzytelnienia 196od wie enie widoku mapy 109struktura 21szablon 19szablon witryny 225trasowanie da HTTP 123uzupe nienie o baz danych 40uzupe nienie o walidacj danych 69widok b du 175zablokowanie nieautoryzowanego

dost pu 128zarz dzanie u ytkownikami 163zarz dzanie grupami u ytkownikoacutew 212zarz dzanie procesem logowania 198

MsAjax 92NorthwindMVC 241

lista rekordoacutew 301szablon witryny 250

POCO 361priorytety regu filtrowania 137

Raport 368szablon

mechanizmy uwierzytelnienia 156zarz dzanie grupami u ytkownikoacutew 159

Transakcje 319aktualizacja danych 328formularz aktualizacji 328szablon stron 320

uzupe nianie widokiem GridView 49WyrazeniaRegularne 76Zapytania_EF 349

projekt aplikacji MVC4AsynchronicznyKontroler 466

prezentacja danych 468AutoryzacjaOAuth 461implementacja serwisu sieciowego 479konfiguracja grupowania 475MobileMvc 450

testowanie 457pobranie zdj cia 452przygotowanie listy pracownikoacutew 452SerwisSieciowy 477

projekt aplikacji Windows Formsedycja danych 487KlientWebAPI 483tworzenie nowych pracownikoacutew 486

dania typuDELETE 493POST 486PUT 491

projektowaniekontrolera 27widoku 31

protokoacuteFTP 495Kerberos 150NTLM 150SMTP 495SSL 337

proxy 341przechowywanie

informacji o trasach 44wynikoacutew g osowania 107

przeci enie aplikacji 147przekazywanie

danych 44mi dzy widokiem a kontrolerem 36

parametroacutew do metod akcji kontrolera 26przestrze nazw

SystemThreading 465przyjazne linki 122publikowanie aplikacji 495 500

na serwerze IIS 497

Kup książkę Poleć książkę

538 ASPNET MVC

pule aplikacji 465 497konfiguracja 498Windows 7 499Windows 8 500

Rraporty

dane w postaci macierzowej 390data 386definicja

dynamiczna 418filtrowanie danych 394

na poziomie roacuted a 401 418filtry 395formaty prezentacji danych 379grupowanie danych 381hiper cza 387

nawigacyjne 376kolumny obliczeniowe 378konfiguracja

filtrowania dynamicznego 396typu 392roacuted a danych 368

kreator formu 382macierzowe 391numery stron 386obrazy 390parametry 383 394

konfiguracja 399paski narz dziowe 379pola

bazy danych 386formularza 398raportu 390

po czenie z aplikacj 368prezentowanie uk adu graficznego 383projektowanie 371

i prezentowanie 368przystosowanie strony do obs ugi raportoacutew

387renderowanie 368tryby definicji 368tworzenie

definicji lokalnej 368formu 378przy u yciu kreatora 372

uk ad 383wstawianie nag oacutewka i stopki 385wykresy 406wy wietlenie 375

Razor 21 30przetwarzanie definicji widoku 208

RDL 418rekordy

edycja 307lista 301tworzenie 311usuwanie 305

Relationship 347Report Definition Language 418Report Wizard 371repudiation 148request 442response 442responsywno 464rollback transaction 319routing 22 430routowanie 121

SSandBox 341scaffolding 301Secure Socket Layer 337sekcja

membership 178roleManager 179set 441

serwerSMTP

konfiguracja 171us ug informacyjnych 149

weryfikacja to samo ci u ytkownika 149Simple Mail Transfer Protocol 495s owo kluczowe

helper 455await 474using 47 329

spaghetti code 18spoofing 147SQL Server Reporting Services 367SSRS 367stan pola

typu CheckBox 269pobieranie 264

STRIDE 148strona startowa

MojaNawigacja 226strona wzorcowa 30

aplikacji Kadry 55referencja do bibliotek skryptoacutew 70

systemowy serwer us ug informacyjnych 121szyfrowanie po czenia 335

ze roacuted em danych 336

Kup książkę Poleć książkę

Skorowidz 539

Ttabela danych

Categories 418Customers 305deklaracje kaskadowych arkuszy stylu 275edycja

danych 279danych w wierszu 257rekordoacutew 307 310

Employees 240 288filtrowanie listy 275integralno danych 288Konta 321 326kwerenda wybieraj ca 240Orders 291 315OrdersDetails 307pobieranie fotografii 276pobranie danych z wykorzystaniem JScript 280prezentacja

danych 277 325informacji 252listy danych 248pierwszego rekordu 246rekordoacutew 317

przekazanie do widoku 248Shippers 251tworzenie rekordoacutew 311umieszczenie w bazie danych 321uruchomienie edycji danych 258usuwanie

danych 288rekordoacutew 271 305 306

widok b du 268wstawianie

danych 294rekordoacutew 251

wy wietlenie listykonfiguracja hiper cza 315

zako czenie edycji rekordu 267tablica asocjacyjna 479tablica bajtoacutew

konwersja do bitmapy 277tampering 147task pane 371Task-based Asynchronous Pattern 465TDD 15

test jednostkowy funkcjonalno ci kontrolera28

Test-Driven Development 15testowanie

aplikacji 29wzorcoacutew wyra e regularnych 76 78

Toolbox 274

transakcje 319automatyczne zarz dzanie 327otaczaj ce 329poziom izolacji 332tworzenie i r czna kontrola 319

trasowanie 121aplikacja 430blokowanie dost pu 124domy lne regu y 123Ksi gaGosci_MVC3 430w asne regu y 124

trasowanie adresoacutew URL 121T-SQL 319

czynno ci bazodanowe 345tworzenie

bazy danych 40interfejsu u ytkownika

jQM 459szablony 231wzorzec MVVM 227

u ytkownika 200kody b doacutew 201

widoku Index 231wzorcoacutew wyra e regularnych 76

typed DataSet 244typizacja

silna 46s aba 46

typy puste 27

Uujawnienie krytycznych informacji 147ukryte pola 441Uniform Resource Locator 18URL 18uruchomienie aplikacji 503us uga

AspNetSqlProvider 178ustawienia aplikacji 167

odczytanie z pliku konfiguracyjnego 169UTC 155uwierzytelnienie 149

centralny serwis 151certyfikaty 150formularze logowania 151

atrybuty elementu forms 154konfiguracja 153mechanizmy zintegrowane z ASPNET 149na bazie protoko u NTLM 150przekazywanie informacji 151proste 150skroacutecone 150us ugi systemu Windows 150

Kup książkę Poleć książkę

540 ASPNET MVC

Vvariable placeholders 122view engine 21views 16viewstate 442Visual Studio

kreator projektu 19Visual Studio Development Server 496VS 2012

instalacja 240kreator Add New Item 242

VSDS 496

Wwalidacja

adresue-mail 83URL 83WWW 84

danych 53a technologia Entity Framework 68konfiguracja 66modelu Pracownik 66odwo anenie do jQuery 61po stronie klienta 67wyra enia regularne 73

skrypty i style walidatoroacutew 438w asno ci klasy encji 435

w tek 465Web API 477

edycja danych 491klient 483konfiguracja interfejsu 478obs uga da typu POST 486pobranie danych z serwera 485serwis sieciowy 479usuwanie danych 493

web serwer 495Web Site Administration Tool 161

konfigurowanie uprawnie 165zarz dzanie

dostawcami us ug 178u ytkownikami 163

WebForms 17bezpiecze stwo aplikacji 152integracja komponentoacutew z MVC 367kontrolka Repeater 434obs uga wyj tkoacutew 172przetwarzanie dania aplikacji klienckiej 18separacja modelu 427weryfikacja poprawno ci projektu 434

weryfikacjakodu pocztowego 81to samo ci 151

widok 16 25 30aplikacji

MVC4 453przystosowanie do urz dze mobilnych

459Transakcje 326

cz ciowy 30dodawanie 31edycji klienta 307elementy 31formularz

dodawania wpisu 425logowania 203

kontroleraaplikacja Kadry 58panelu administracyjnego 222

kontrolera AdminController 213kontrolera Dopasowania 77kontrolera ErrorControler 174kontrolera Glosowania 103kontrolera Home 131 169 182 307

metodaWyswietlLog 142Raport 375Transakcje 320

kontrolera HomeController 246AsynchronicznyKontroler 468EksportDanych 417

kontrolera Lista 93kontrolera Mapa 33 34

formularz 70Trasa 50

kreatorakonta u ytkownika 205zmiany has a 206

listyklientoacutew 302pracownikoacutew 61wyznaczonych tras 48zamoacutewie 316

mapyod wie enie 108parametryzacja 34

mechanizm przetwarzania 30modyfikowanie formularza 437obs uga wyj tkoacutew 130Pracownicycshtml 453projektowanie 31transfer danych do kontrolera 36typu CRUD 52

Kup książkę Poleć książkę

Skorowidz 541

typu GridViewimplementacja 48

typy plikoacutew 30utworzenie 30uzupe nianie tre ci 33walidacja 435wi zanie z modelem 437wstawianie rekordoacutew 312wynikoacutew ankiety 105wy wietlanie wpisoacutew 432

wielodziedziczenie 360Windows Authentication Provider 149Windows Data Protection API 187Windows Forms

implementacja klienta 483Windows Live ID 149w a ciwo

ConnectionString 243IsMobileDevice 460ModelStateIsValid 47

wstawianie rekordoacutew 299wstrzykni cie kodu 181 185wykresy 406

konfiguracjaserii danych 407typu 407

pobranie danych roacuted owych 408wy czenie aplikacji 171wyra enia lambda 46wyra enia regularne 73

atrybuty modelu 84liczba wyst pie sk adnikoacutew 76wzorzec

adres URL 83imi e skie 81kod pocztowy 80tworzenie 76

znaki i cyfry 74znaki specjalne 74znaki w wyznaczonych miejscach a cucha 75

wzorzecodnajdywanie

znakoacutew i cyfr 74znakoacutew specjalnych 74znakoacutew w wyznaczonych miejscach

a cucha 75okre lanie

liczby wyst pie znakoacutew 76

XXSS 181

Zzabezpieczenia

aplikacji bazodanowych 335ataki XSS 187informacje o b dach 171kodu po redniego 338konfiguracja 161konfiguracja aplikacji

kreatory 162obs uga wyj tkoacutew 171pliku konfiguracyjnego 167 187przed atakami 148ustawienia aplikacji 167witryny 181zarz dzanie dostawcami us ug 178z o liwy kod 181

zarz dzanieu ytkownikami i grupami 211

dost p do panelu administracyjnego 216lista grup 221podzia na grupy 220pobieranie listy 213tworzenie nowej grupy 222zmiana przynale no ci do grupy 215

z o ono ci aplikacji 16zdarzenie

DataGridViewCellDoubleClick 491rejestrowanie 430

z o liwy koddzia anie 181

znacznikinput 288

znaki specjalneodnajdywanie 74

zwi zanie z modelem 48zwi zek 347

danie 25asynchroniczna obs uga 92 466 470

skrypty 318zadania 473

GET 64POST 64przetwarzanie 127zablokowanie obs ugi 124

Kup książkę Poleć książkę

Notatki

Kup książkę Poleć książkę

8 ASPNET MVC

Publikowanie aplikacji na serwerze IIS 497Konfiguracja puli aplikacji 498Instalacja ASPNET 445 na serwerze IIS 498Publikacja aplikacji 500Uruchomienie aplikacji 503

IIS jako serwer do rozwoju aplikacji 504

Dodatek C ASPNET Identity w MVC 5 i Visual Studio 2013 505Wst p 505Szablony projektoacutew ASPNET w Visual Studio 2013 505Kontroler zarz dzaj cy u ytkownikami i rolami 508

Dynamiczne zarz dzanie u ytkownikami 509Statyczne zarz dzanie rolami 519Dynamiczne zarz dzanie rolami 519

Przyk adowe wykorzystanie roacutel 524Podsumowanie 526

Skorowidz 527

Kup książkę Poleć książkę

Rozdzia 18

Scaffolding czyliekspresowe tworzenieinternetowych aplikacjibazodanowych

Dawid Borycki

W dwoacutech poprzednich rozdzia ach samodzielnie utworzyli my komponenty prezentuj -ce dane rekordoacutew z bazy danych a tak e umo liwiaj ce ich edycj i usuwanie Wyko-rzystali my do tego celu bibliotek jQuery UI W tym rozdziale chcia bym zaprezen-towa tak zwany scaffolding Jest to procedura dost pna mi dzy innymi w aplikacjachASPNET MVC umo liwiaj ca automatyczne wygenerowanie widokoacutew (komponen-toacutew) aplikacji internetowej ktoacutere realizuj bazodanowy schemat CRUD (ang CreateRead Update Delete) Schemat CRUD obejmuje podstawowe elementy wszystkichaplikacji bazodanowych czyli tworzenie odczytywanie aktualizowanie i usuwanierekordoacutew z tabel danych

Lista rekordoacutewOpis techniki scaffolding w aplikacjach ASPNET MVC rozpoczn od wygenerowa-nia widoku listy rekordoacutew w aplikacji NorthwindMVC Automatycznie wygenerowa-ny widok skoryguj w celu dostosowania go do potrzeb aplikacji

1 G oacutewny widok aplikacji NorthwindMVC (plik Indexcshtml) uzupe nijo nast puj ce polecenie

ltpgt HtmlActionLink(Scaffolding ScaffoldingList)ltpgt

Kup książkę Poleć książkę

302 Cz II Technologie bazodanowe w aplikacjach internetowych

2 W Solution Explorer rozwi w ze Views a nast pnie kliknij prawymprzyciskiem myszy folder Home

3 Wybierz opcj Add a nast pnie Viewhellip z menu kontekstowego

4 W kreatorze Add View (rysunek 181)

Rysunek 181Widok kreatoraAdd View

a) Zmie nazw widoku na ScaffoldingList

b) Zaznacz pole wyboru Create a strongly-typed view

c) Z listy dost pnych modeli wybierz pozycj CustomersRow

d) Z listy rozwijanej Scaffold template wybierz List

e) Kliknij przycisk Add

5 Utworzony w ten sposoacuteb plik ScaffoldingListcshtml zmodyfikuj wed ugwzoru z listingu 181

Listing 181 Zmodyfikowany widok listy klientoacutew

model IEnumerableltNorthwindMVCModelsNorthwindDataSetCustomersRowgt

ViewBagTitle = ScaffoldingList

lth2gtScaffoldingListlth2gtlth2gtLista klientoacutewlth2gt

ltpgt HtmlActionLink(Create New Create) HtmlActionLink(Nowy rekord ScaffoldingCreate)ltpgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 303

lttablegt lttrgt ltthgt CustomerID ltthgt ltthgt CompanyName ltthgt ltthgt ContactName ltthgt ltthgt ContactTitle ltthgt ltthgt Address ltthgt ltthgt City ltthgt ltthgt Region ltthgt ltthgt PostalCode ltthgt ltthgt Country ltthgt ltthgt Phone ltthgt ltthgt Fax ltthgt ltthgt RowError ltthgt ltthgt HasErrors ltthgt ltthgtltthgt lttrgt

foreach (var item in Model) lttrgt lttdgt HtmlDisplayFor(modelItem =gt itemCustomerID) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCompanyName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactName) lttdgt lttdgt

Kup książkę Poleć książkę

304 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlDisplayFor(modelItem =gt itemContactTitle) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemAddress) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCity) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemRegion) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemPostalCode) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCountry) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemPhone) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemFax) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemRowError) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemHasErrors) lttdgt lttdgt HtmlActionLink(Edytuj ScaffoldingEdit new id = itemCustomerID ) | HtmlActionLink(Zamoacutewienia ScaffoldingMasterDetail new id = itemCustomerID ) | HtmlActionLink(Usu ScaffoldingDelete new id = itemCustomerID ) lttdgt lttrgt

lttablegt

6 W pliku HomeControllercs

a) Utwoacuterz pole klasyCustomersTableAdapter customersTableAdapter = new CustomersTableAdapter()

b) Dodaj polecenia z listingu 182

Listing 182 Prezentacja listy klientoacutew

private void PobierzDaneKlientow() northwindDataSetEnforceConstraints = false customersTableAdapterFill(northwindDataSetCustomers)

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 305

northwindDataSetEnforceConstraints = true

public ActionResult ScaffoldingList() PobierzDaneKlientow() return View(ScaffoldingList northwindDataSetCustomers)

7 Skompiluj i uruchom aplikacj

Po uruchomieniu aplikacji i klikni ciu hiper cza z etykiet Scaffolding zostanie wy-wietlona lista klientoacutew ktoacuterej posta powinna by analogiczna do przedstawionej na

rysunku 182 W kolejnym kroku zaimplementujemy mo liwo usuwania edycji oraztworzenia rekordoacutew w tabeli Customers

Rysunek 182 Lista klientoacutew

Usuwanie rekordoacutewW celu zaimplementowania mo liwo ci usuwania rekordoacutew z tabeli Customers wyko-naj nast puj ce czynno ci

1 W widoku projektowania obiektu NorthwindDataSet skonfiguruj relacjpomi dzy tabelami Orders i Customers wed ug wzoru z rysunku 183

2 Klas kontrolera Home uzupe nij o polecenia z listingu 183

Kup książkę Poleć książkę

306 Cz II Technologie bazodanowe w aplikacjach internetowych

Rysunek 183Konfiguracja wi zoacutewintegralno ci danych

Listing 183 Usuwanie rekordoacutew z tabeli Customers

private void AktualizujDaneKlientow() northwindDataSetEnforceConstraints = false

orderDetailsTableAdapterUpdate(northwindDataSetOrder_Details) ordersTableAdapterUpdate(northwindDataSetOrders) customersTableAdapterUpdate(northwindDataSetCustomers)

northwindDataSetEnforceConstraints = true

public ActionResult ScaffoldingDelete(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) if (cdr = null) Usuwanie rekordoacutew potomnych DataRow[] zamowienia = cdrGetChildRows(northwindDataSetRelations[FK_Orders_Customers])

foreach (DataRow dr in zamowienia) drDelete()

Usuwanie rekordu klienta cdrDelete()

Aktualizacja wszystkich powi zanych tabel AktualizujDaneKlientow()

return ScaffoldingList()

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 307

Podczas usuwania danego rekordu nale y zadba o rekordy z innych tabel ktoacutere sz nim zwi zane relacjami Wiersze tabeli Customers s skojarzone z rekordami z tabelOrders oraz OrdersDetails Z tego powodu aktualizuj zawarto ci tych tabel po usu-ni ciu wybranego rekordu klienta Osierocone rekordy z tabeli Orders s usuwane ra-zem z nim

Edycja rekordoacutewDo edycji rekordoacutew w tabeli Customers potrzebny b dzie odpowiedni widok ktoacuteryprzygotuj na bazie automatycznie wygenerowanego kodu roacuted owego

1 Zgodnie z przepisem z podrozdzia u bdquoLista rekordoacutewrdquo utwoacuterz widokkontrolera Home i skonfiguruj go wed ug wzoru z rysunku 184

Rysunek 184Konfiguracja widokuedycji klienta

2 Wygenerowany automatycznie plik widoku ScaffoldingEditcshtmlzmodyfikuj zgodnie z listingiem 184

Listing 184 Definicja widoku edycji klienta

model NorthwindMVCModelsNorthwindDataSetCustomersRow

ViewBagTitle = ScaffoldingEdit

lth2gtScaffoldingEditlth2gtlth2gtEdycja rekordulth2gt

ltscript src=UrlContent(~Scriptsjqueryvalidateminjs)type=textjavascriptgtltscriptgt

Kup książkę Poleć książkę

308 Cz II Technologie bazodanowe w aplikacjach internetowych

ltscript src=UrlContent(~Scriptsjqueryvalidateunobtrusiveminjs)type=textjavascriptgtltscriptgt

using (HtmlBeginForm(EdytujDaneKlienta Home new id = ModelCustomerID)) HtmlValidationSummary(true) ltfieldsetgt ltlegendgtDane klientaCustomersRowltlegendgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCustomerID) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCustomerID) HtmlValidationMessageFor(model =gt modelCustomerID) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCompanyName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCompanyName) HtmlValidationMessageFor(model =gt modelCompanyName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactName) HtmlValidationMessageFor(model =gt modelContactName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactTitle) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactTitle) HtmlValidationMessageFor(model =gt modelContactTitle) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelAddress) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelAddress) HtmlValidationMessageFor(model =gt modelAddress) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCity) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCity) HtmlValidationMessageFor(model =gt modelCity) ltdivgt

ltdiv class=editor-labelgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 309

HtmlLabelFor(model =gt modelRegion) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRegion) HtmlValidationMessageFor(model =gt modelRegion) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPostalCode) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPostalCode) HtmlValidationMessageFor(model =gt modelPostalCode) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCountry) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCountry) HtmlValidationMessageFor(model =gt modelCountry) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPhone) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPhone) HtmlValidationMessageFor(model =gt modelPhone) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelFax) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelFax) HtmlValidationMessageFor(model =gt modelFax) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRowError) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRowError) HtmlValidationMessageFor(model =gt modelRowError) ltdivgt

ltpgt ltinput type=submit value=SaveZapisz gt ltpgt ltfieldsetgt

ltdivgt HtmlActionLink(Back to List Index) HtmlActionLink(Powroacutet do listy rekordow ScaffoldingList)ltdivgt

Kup książkę Poleć książkę

310 Cz II Technologie bazodanowe w aplikacjach internetowych

3 W kontrolerze Home zdefiniuj metody z listingu 185

Listing 185 Edycja danych klienta

public ActionResult ScaffoldingEdit(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id)

if (cdr = null) return View(ScaffoldingEdit cdr) else return ScaffoldingList()

private void PrzepiszDaneKlienta(FormCollection daneKlienta refNorthwindDataSetCustomersRow rekordKlienta)

rekordKlientaCompanyName = daneKlienta[CompanyName]ToString() rekordKlientaContactName = daneKlienta[ContactName]ToString() rekordKlientaContactTitle = daneKlienta[ContactTitle]ToString() rekordKlientaAddress = daneKlienta[Address]ToString() rekordKlientaCity = daneKlienta[City]ToString()

public ActionResult EdytujDaneKlienta(FormCollection daneKlienta string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) if (cdr = null) PrzepiszDaneKlienta(daneKlienta ref cdr) AktualizujDaneKlientow() return ScaffoldingList()

Proces edycji rekordu w bazie danych za pomoc technologii ADONET opiera si nainformacjach zebranych w poprzednich rozdzia ach wi c nie b d go tu szczegoacute owoopisywa Celem tego przyk adu by o automatyczne wygenerowanie widoku umo li-wiaj cego edycj danych klienta przystosowanie go do w asnych potrzeb oraz inte-gracja z kontrolerem

Separacja modelu widoku i kontrolera umo liwia narz dziom Visual Studio 2012 auto-matyczne generowanie widoku na podstawie definicji modelu Jednak e jak pokaza-em w tym podrozdziale kreator tworzy widok ktoacutery umo liwia edycj wszystkich poacutel

rekordu (nawet identyfikatora) co sprawia e w wi kszo ci przypadkoacutew nale y sa-modzielnie edytowa plik widoku w celu przystosowania go do potrzeb projektowanejaplikacji Jednak jak pokazuje powy szy przyk ad nie jest to rzecz skomplikowan

Integracja widoku z kontrolerem polega na odpowiednim przekazywaniu informacjio edytowanym rekordzie oraz warto ci jego poacutel Do tego celu wykorzysta em identy-fikator klienta ktoacutery jednoznacznie identyfikuje rekordy w tabeli Customers

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 311

Przyk adowy wynik polece zaimplementowanych w tym podrozdziale przedstawiarysunek 185

Rysunek 185Edycja danych klienta

Tworzenie rekordoacutewW poprzednich podrozdzia ach zaimplementowa em trzy spo roacuted czterech podstawo-wych elementoacutew schematu CRUD czyli odczytywanie (R) aktualizacj (U) oraz usu-wanie (D) rekordoacutew Ostatnim elementem jest tworzenie (C) nowych rekordoacutew W celuzaimplementowania procedury uzupe niania tabeli Customers nowymi rekordami na-le y post pi nast puj co

1 W Solution Explorer rozwi w ze Views a nast pnie kliknij prawymprzyciskiem myszy folder Home

2 Wybierz opcj Add a nast pnie Viewhellip z menu kontekstowego

3 W kreatorze Add View

a) Zmie nazw widoku na ScaffoldingCreate

b) Zaznacz pole wyboru Create a strongly-typed view

c) Z listy dost pnych modeli wybierz pozycj CustomersRow

d) Z listy rozwijanej Scaffold template wybierz Create

e) Kliknij przycisk Add

4 Utworzony w ten sposoacuteb plik ScaffoldingCreatecshtml zmodyfikuj wed ugwzoru z listingu 186

Kup książkę Poleć książkę

312 Cz II Technologie bazodanowe w aplikacjach internetowych

Listing 186 Widok umo liwiaj cy wstawianie rekordoacutew do tabeli Customers

model NorthwindMVCModelsNorthwindDataSetCustomersRow

ViewBagTitle = ScaffoldingCreate

lth2gtScaffoldingCreatelth2gtlth2gtTworzenie rekordulth2gt

ltscript src=UrlContent(~Scriptsjqueryvalidateminjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~Scriptsjqueryvalidateunobtrusiveminjs)type=textjavascriptgtltscriptgt

using (HtmlBeginForm(DodajKlienta Home)) HtmlValidationSummary(true) ltfieldsetgt ltlegendgtDane klientaCustomersRowltlegendgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCustomerID) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCustomerID) HtmlValidationMessageFor(model =gt modelCustomerID) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCompanyName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCompanyName) HtmlValidationMessageFor(model =gt modelCompanyName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactName) HtmlValidationMessageFor(model =gt modelContactName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactTitle) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactTitle) HtmlValidationMessageFor(model =gt modelContactTitle) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelAddress) ltdivgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 313

ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelAddress) HtmlValidationMessageFor(model =gt modelAddress) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCity) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCity) HtmlValidationMessageFor(model =gt modelCity) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRegion) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRegion) HtmlValidationMessageFor(model =gt modelRegion) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPostalCode) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPostalCode) HtmlValidationMessageFor(model =gt modelPostalCode) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCountry) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCountry) HtmlValidationMessageFor(model =gt modelCountry) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPhone) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPhone) HtmlValidationMessageFor(model =gt modelPhone) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelFax) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelFax) HtmlValidationMessageFor(model =gt modelFax) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRowError) ltdivgt ltdiv class=editor-fieldgt

Kup książkę Poleć książkę

314 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlEditorFor(model =gt modelRowError) HtmlValidationMessageFor(model =gt modelRowError) ltdivgt

ltpgt ltinput type=submit value=CreateUtwoacuterz gt ltpgt ltfieldsetgt

ltdivgt HtmlActionLink(Back to List Index) HtmlActionLink(Powroacutet do listy ScaffoldingList)ltdivgt

5 Definicj kontrolera Home uzupe nij o polecenia z listingu 187

Listing 187 Wstawianie rekordoacutew do tabeli Customers

private char PobierzZnak(string lancuch int index) Random random = new Random() char znak

if (lancuchLength gt index) znak = lancuch[index] else znak = (char)randomNext(0 255)ToString()[0]

return znak

private void UtworzIdentyfikatorKlienta(ref NorthwindDataSetCustomersRowdaneKlienta)

string identyfikator = int indexZnaku = 0

identyfikator += PobierzZnak(daneKlientaCompanyName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactTitle indexZnaku) identyfikator += PobierzZnak(daneKlientaAddress indexZnaku) identyfikator += PobierzZnak(daneKlientaCity indexZnaku)

daneKlientaCustomerID = identyfikator

public ActionResult DodajKlienta(FormCollection daneKlienta string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersNewCustomersRow()

PrzepiszDaneKlienta(daneKlienta ref cdr)

UtworzIdentyfikatorKlienta(ref cdr)

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 315

customersTableAdapterInsert(cdrCustomerID cdrCompanyName cdrContactName cdrContactTitle cdrAddress cdrCity )

AktualizujDaneKlientow()

return ScaffoldingList()

Wstawienie rekordoacutew do tabeli Customers jest analogiczne do ich edycji Jedyn roacute -nic jest konieczno utworzenia identyfikatora klienta gdy nie jest on tworzonyautomatycznie jak to by o w przypadku tabeli Employees Identyfikatory rekordoacuteww tabeli Customers s pi cioelementowymi ci gami znakoacutew Tworz je na podstawiepierwszych liter poacutel CompanyName ContactName ContactTitle Address oraz City Je liw tych polach znajduj si puste ci gi to odpowiedni liter zast puj losowo wyge-nerowanym znakiem

W kolejnym podrozdziale poka w jaki sposoacuteb wy wietli informacje o rekordachpotomnych opieraj c si na relacji pomi dzy tabelami

Formularz z podformularzem(MasterDetail Form)

Jako podsumowanie tego rozdzia u utworz formularz z podformularzem tak zwanyformularz MasterDetail Jego dzia anie polega na tym e wy wietlanie danych od-bywa si na bazie co najmniej dwoacutech komponentoacutew (np blokoacutew czy tabel) oraz rela-cji mi dzy tabelami Pierwszy komponent prezentuje rekordy zawarte w tabeli g oacutew-nej (ang master) a drugi zawiera dane z tabeli podrz dnej (ang detail) Komponentzwi zany z tabel podrz dn ma zazwyczaj za zadanie prezentowa szczegoacute owe da-ne odpowiadaj ce rekordowi z tabeli nadrz dnej ktoacutery zosta wskazany przy pomocyzwi zanej z nim listy rekordoacutew Pola tych tabel musz by zatem uporz dkowane w takisposoacuteb aby pokazywa y informacj o tym samym rekordzie Uzyskuje si to przy po-mocy relacji mi dzy tabelami ktoacuterej zadaniem jest powi zanie informacji zawartychw bazie danych

W tym podrozdziale tabel nadrz dn b dzie tabela Customers a podrz dn OrdersPo klikni ciu na hiper cze z etykiet zamoacutewienia wy wietli si lista rekordoacutew tabeliOrders skojarzonych z danym klientem dania prezentacji zamoacutewie b d realizo-wane asynchronicznie

1 Plik widoku ScaffoldingListcshtml zmodyfikuj wed ug wzoru z listingu 188

Listing 188 Konfiguracja hiper cza umo liwiaj cego wy wietlenie listy zamoacutewie danego klienta

hellipforeach (var item in Model) lttrgt lttdgt

Kup książkę Poleć książkę

316 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlDisplayFor(modelItem =gt itemCustomerID) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCompanyName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactTitle) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemAddress) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCity) lttdgt lttdgt HtmlActionLink(Edytuj ScaffoldingEdit new id = itemCustomerID ) | AjaxActionLink(Zamoacutewienia ScaffoldingMasterDetail new id = itemCustomerID new AjaxOptions UpdateTargetId = zamowienia OnSuccess = documentgetElementById(zamowienia)scrollIntoView() ) | HtmlActionLink(Usu ScaffoldingDelete new id = itemCustomerID ) lttdgt lttrgtlttablegt

ltdiv id=zamowieniagtltdivgt

2 Utwoacuterz widok cz ciowy o nazwie ZamowieniaPartialViewcshtml i wstaww nim polecenia z listingu 189

Listing 189 Definicja widoku prezentuj cego list zamoacutewie

model IEnumerableltNorthwindMVCModelsNorthwindDataSetOrdersRowgt

if (Model == null) lth2gtBrak zamoacutewie lth2gtelse lth2gtLista zamoacutewie lth2gt

lttablegt lttrgt ltthgt OrderDate ltthgt ltthgt RequiredDate ltthgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 317

ltthgt ShippedDate ltthgt ltthgt ShipName ltthgt ltthgt ShipAddress ltthgt ltthgt ShipCity ltthgt ltthgtltthgt lttrgt

foreach (var item in Model) lttrgt lttdgt itemOrderDateToShortDateString() lttdgt lttdgt itemRequiredDateToShortDateString() lttdgt lttdgt itemShippedDateToShortDateString() lttdgt lttdgt itemShipName lttdgt lttdgt itemShipAddress lttdgt lttdgt itemShipCity lttdgt lttrgt lttablegt

3 Kontroler Home uzupe nij o metod ScaffoldingMasterDetail ktoacuterej definicjprzedstawi em na listingu 1810

Listing 1810 Pobranie i prezentacja rekordoacutew potomnych wybranego klienta

public ActionResult ScaffoldingMasterDetail(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) NorthwindDataSetOrdersRow[] zamowieniaPracownika = null

if (cdr = null) zamowieniaPracownika = (NorthwindDataSetOrdersRow[])cdrGetChildRows(FK_Orders_Customers)

Kup książkę Poleć książkę

318 Cz II Technologie bazodanowe w aplikacjach internetowych

if (RequestIsAjaxRequest()) return View(ZamowieniaPartialView zamowieniaPracownika) else return ScaffoldingList()

4 Sekcj ltheadgt pliku _Layoutcshtml uzupe nij o polecenia z listingu 1811

Listing 1811 Import skryptoacutew obs uguj cych dania asynchroniczne

ltscript src=UrlContent(~Scriptsjqueryunobtrusive-ajaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftAjaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftMvcAjaxjs)type=textjavascriptgtltscriptgt

5 Po skompilowaniu i uruchomieniu aplikacji powiniene uzyska efektanalogiczny do przedstawionego na rysunku 186

Rysunek 186 Przyk ad formularza typu MasterDetail

Kup książkę Poleć książkę

Skorowidz

AACL 149action methods 25ActiveX Data Object 238ADO 238ADONET 238

obiekty 238podstawy 237synchronizacja buforu ze roacuted em danych 273

adresy URLautoryzacja 157parametry 122trasowanie 121wzorce 122 123

agile programming 15AJAX 91

aktualizacja bloku witryny 113dodanie referencji do bibliotek JavaScript 94

akcjaCreate 354Delete 357Details 353dodaj ca nowy produkt 355Edit 356

aktualizacjazawarto ci elementu witryny 92

algorytmRSA 187

ambient transaction 329ankieta 102AntiXss 187aplikacje

bazodanowe 235bezpiecze stwo 335mechanizm transakcji 319scaffolding 301

synchronizacja ze roacuted em danych 273uwagi do projektowania 345

mo liwo edytowania wpisoacutew 441rejestrowanie zdarze i trasowanie 430

Application Domain 339architektura obiektowa 347ASPNET

konfiguracja aplikacji 161mechanizmy uwierzytelnienia 149metody globalne 107w czanie i wy czanie aplikacji 171

ASPNET AJAX 91ASPNET MVC 15

komponenty 16ASPX 21 30asynchroniczne przetwarzanie da http

jQuery 113Asynchronous JavaScript and XML 48Asynchronous Programming Model 464ataki

rodzaje 147SQL Injection 148 344wy udzenie informacji 148z o liwy kod 181

atrybut 347AcceptVerbs(HttpPost) 47AcceptVerbs(HttpVerbsPost) 65AssociationAttribute 58Authorize 200AuthorizeAttribute 128autoryzacyjny 145ConcurrencyCheckAttribute 58Confirm 95cookieless 154CustomValidationAttribute 58 66data-bind 230DataType 54 57

Kup książkę Poleć książkę

528 ASPNET MVC

atrybutDataTypeAttribute 58defaultRedirect 173defaultUrl 154DisplayAttribute 58DisplayColumnAttribute 58DisplayName 436EditableAttribute 58enableCrossAppRedirects 155EnumDataTypeAttribute 58FilterUIHintAttribute 58HandleError 138 175HandleErrorAttribute 129HttpMethod 95InsertionMode 95KeyAttribute 58klasy do konfiguracji metadanych 57 58LoadingElementDuration 110LoadingElementId 95 110Log

klasa implementuj ca 142loginUrl 154MetadataType 69MetadataTypeAttribute 58mode 153 173modelu 55name 155NonAction 26 135OnBegin 95OnComplete 95OnFailure 95OnSuccess 95 110OutputCache 133OutputCacheAttribute

parametry 134passwordFormat 156protection 155Range 54 66RangeAttribute 58redirectMode 173RegularExpressionAttribute 58Required 54 66RequiredAttribute 58RequireHttps 135requireSSL 155slidingExpiration 155StringLength 66StringLengthAttribute 58TestClass 29TestMethod 29ticketCompatibilityMode 155timeout 155TimestampAttribute 58UpdateTargetId 95

Url 95ValidateInput 185

atrybuty modeluwyra enia regularne 84

Attribute 347authentication ticket 151auto post back 217autocomplete textbox 115automatyczne uzupe nienie pola tekstowego 115autoryzacja 149 157

adresoacutew URL 157konfiguracja 157

grupy u ytkownikoacutew 158mechanizm filtrowania 158otwarta 460plikoacutew 157zdalna

powi zanie z portalem Facebook 461Azure 496

Bbazy danych 40 237

aktualizacja 41lista rekordoacutew 301Northwind 240

detale produktu 352dodawanie po cze 350pobieranie produktoacutew 351

po czenie ze roacuted em danych 241relacyjne 237schemat CRUD 301transakcje 319tworzenie 321

nowego rekordu 48schematu na bazie modelu encji 357

usuwanie danych 290regu y integralno ci 293

usuwanie powi zanych wierszyrekordy potomne 291

warstwa dost pu 42bezpiecze stwo

aplikacji internetowych 147ataki 147mechanizmy 149

biblioteka NETprogramowanie asynchroniczne 464

biblioteka skryptoacutewMapajs 32

bilet uwierzytelniaj cy 151b dy

dzia ania aplikacji 171strona b du 176tworzenie u ytkownika 202wprowadzenie z ego rekordu 268

Kup książkę Poleć książkę

Skorowidz 529

body 383buforowanie

danych ze roacutede zewn trznych 133bundling 475Business Intelligence 368

Ccallback 35CAS 151 338CDN 113Central Authentication Service 151centralna us uga uwierzytelnienia 151certyfikat 337CLR

procesy systemowe 466Code Access Security 338Confirm 96connString 341controllers 16Coordinated Universal Time 155Create Read Update Delete 301cross-site scripting 181CRUD 54 301Crystal Reports 368

Ddane

agregacja 378bezpo redni dost p do roacuted a 346eksport 413

do dokumentu tekstowego 419do PDF 420skoroszyt MS Excel 421tabele dynamiczne 418

integralno 288 319pomini cie sprawdzania 292regu y 291

modyfikacja 249platforma modelowania 347prezentacja

graficzna 406w postaci macierzowej 390

przekazywaniez formularza do roacuted a 46z kontrolera do widoku 437 439

serializacja i transfer struktur 117szyfrowanie 337typu

ActionResult 25walidacja 53weryfikacja 53wi zy integralno ci 306

wy wietlanie 315zabezpieczenie 338

Data Binding 389Data Definition Language 345Database Management System 237DBMS 237

wi zy integralno ci 238DDL 345denial of service 147detail 315Development Server 504DIE 53DisplayFormatAttribute 58document object model 92DOM 92domena aplikacji 339 466

instancja obiektoacutew 341tworzenie 339wspoacute dzielenie obiektu 341

dostawcy us ug 178dost p anonimowy 150DotNetOpenAuth 149DPAPI 187DRY 53dyrektywa

model 46

Eelement

customErrors 173success 115

elevation of privilege 147encapsulation 107encja 347

atrybuty 54bazodanowa 54KategoriaProduktu 358odwzorowanie w bazie danych 360Order_Details 362Orders 361Products 361Produkt 358

Entity 347Entity Framework 43 347

POCO 360potwierdzenie explicite 356technologie 349wersje 347

Entity Relationship Model 347Entity SQL 349ERM 347Event-based Asynchronous Pattern 465event-driven programming 17

Kup książkę Poleć książkę

530 ASPNET MVC

FFile Transfer Protocol 495filtry 127

akcji 127 139autoryzacyjne 127 144dynamiczne 395kolejno wykonywania 137

priorytety 138Log

metody 141LogAttribute

definicja klasy 140podstawowe atrybuty 128statyczne 395w asne 139wyj tkoacutew 128 144

niestandardowe 145wyniku 128 144

for 434foreach 51Forms Authentication Provider 149formularz

MasterDetail 315z podformularzem 315

funkcjadelay 217ListaPracownikoacutew 57Mid 390RolesIsUserInRole 217Today 390wyznaczaj ca tras 109zmienPrzynaleznoscDoGrupy 217 218

GGauge 383 403GDI 368graficzny interfejs u ytkownika 17 30Graphics Device Interface 368GridView 48grupy u ytkownikoacutew

autoryzacja 158GUI 17

Hhard-coding 167haszowanie 150helper methods 25html helper 455

Iidentyfikator

klienta 315rekordoacutew 315

IIS 121 149 495instalacja

ASPNET 445 498serwera w Windows 7 496serwera w Windows 8 496

mened er Windows 499uruchamianie aplikacji 503

serwer do rozwoju aplikacji 504information disclosure 147instancje aplikacji 465instancjonowanie modelu 39IntelliSense 247interfejs u ytkownika

przycisk umo liwiaj cy dodanie pracownika294

przycisk usuni cia wybranego rekordu 289Internet Information Services 121internetowe us ugi informacyjne 495in ynieria spo eczna 148Isolation Level 332izolacja 339 466

JJavaScript Object Notation 117jQM 457jQuery

autocomplete 116pliki roacuted owe 113

jQuery Mobile 457jQuery UI 367

wykorzystanie przyciskoacutew 284JSON 117

obiekt typu adres 118

KKey Performance Indicators 403klasa

AccountController 198ActionExecutingContext 143AdminController 212Ajax 94AjaxOptions 94

atrybuty 95AspNetHidden 442AssemblyName 170Assert 29

Kup książkę Poleć książkę

Skorowidz 531

AuthConfig 461BundleConfig 475Configuration 170ConfigurationManager 170ConfigurationSection 187 188ConnectionStringBuilder 345DpapiProtectedConfigurationProvider 187FiltryRaportuMacierzowego 397Form1 484FormsAuthentication 152Global 430HandleErrorInfo 133HtmlHelper 437HttpClient 483 486HttpResponseMessage 486kontekstu 362LogOnModel 198MarshallByRefObject 341Membership 152 198 211MvcApplication 430NorthwindContext 362ObjectContext 348ObjectQueryltTgt 348Order_Details 362Orders 361Osoba 228ParametryWatku 470Pracownik 484Products 361Produkt 230Raport 392RequestBrowser 460ResultExecutedContext 144ResultExecutingContext 144Roles 211RsaProtectedConfigurationProvider 187SQLConnCAS

definicja 340stowarzyszona z modelem 69SystemNetHttpFormattingJsonMediaTypeF

ormatter 491SystemTextRegularExpressions 74SystemWebSecurityRoles 159Task 465 472testuj ca 29Thread 465 469TransactionScope 327UrlRoutingModule 121ViewData 434 436 439WebApiConfig 478WebConfigurationManager 170Wpisy 427 436

klucze 237MAC 155obce 238podstawowe 238

kluczowe wska niki efektywno ci 403dynamiczna zmiana warto ci 404

Knockout 227wykorzystanie szablonoacutew JavaScript 230wywo anie skryptu 229

kodowanie danychprzekazywanych przez u ytkownikoacutew 186

komponentFormDanePracownika 489obiektu

PartialView 99typu ListBox 99

ReportViewer 368 375eksport danych 413nawigacja mi dzy stronami raportu 377

komponenty u ytkownika 30komunikaty o b dach 171

kod statusowy 174 175koncepcja programowania zdarzeniowego 16konfiguracja

po czenia z baz danych 241uprawnie puli aplikacji 454walidacji danych 66

konkurencyjno aplikacji 332kontekst wi zania 389kontrola wprowadzanych danych 263

metoda onColumnChanged 269wstrzymanie walidacji wiersza 267zako czenie edycji rekordu 267

wymuszenie 267kontroler 16 25

AccountController 195Admin 223AdminController 212aplikacja Kardy 63asynchroniczny 466

a zadania 472dane wyj ciowe 25domeny 150ErrorController 174Glosowania 103Home 182 224 228 231

Bezpiecze stwo 336filtr wyj tku 131

HomeController 184EksportDanych 415Northwind 245

interfejs Web API 477KsiegaGosciController 424

Kup książkę Poleć książkę

532 ASPNET MVC

kontrolerLista 93Mapa 33

autouzupe nianie 117modyfikacja 45

niedost pne metody publiczne 136obs uga POST 431panelu administracyjnego 212

zarz dzanie grupami u ytkownikoacutew 220Pracownicy 57 64PracownicyController

implementacja 481Produkty 351projektowanie 27przekazywanie danych do widoku

zmiany 439uwierzytelnienia 195

klasa 198model 196widoki 203

uzupe nienie o widok 31u ycie modelu odsy anego przez widok 440ValuesController 478weryfikacja funkcjonalno ci 28wi zanie adresu URL z akcj 430widoki 58

konwersja obrazu 278kreator

Add New Item 242Add View 59 302Application 162blokowania szczegoacute oacutew b doacutew 172dodanie u ytkownikoacutew 164grup u ytkownikoacutew 165Provider 162Publish Web 501Security 162tworzenia pracownika 59ustawie aplikacji 167widokoacutew 60wyboacuter dostawcoacutew us ug 178

kwerendy parametryczne 274 401

Llayout witryny 30LINQ

to Entities 349lista rekordoacutew 301

prezentacja 304logika

aplikacji 30bazodanowa 30biznesowa 44

a cuch QueryString 26

Mmaster 315mechanizm

automatycznych w a ciwo ci 57autoryzacji 157eksportu danych 413filtroacutew 127grupowania plikoacutew 475IntelliSense 119QuerynotString 117szyfruj cy 187transakcji 319 321

przelewy bankowe 326wyznaczania trasy przejzdu 34

meotdaInsert 299ProtectSection 191WersjonowanieDataRow

definicja widoku 265message authentication code 155metoda

on 262HtmlValidationSummary 204About 124AcceptChanges 255 263ActionLinkActionLink 61 63 353AddUserToRole 159akcji 25

parametry opcjonalne 27aktualizacja statystyk ankiety 105AktualizujZdjeciePracownika 288Application_AuthenticateRequest 108Application_BeginRequest 107 108Application_End 108Application_EndRequest 107Application_Error 108 172Application_Start 108 123 139 430asynchroniczna kontrolera 472AttachTo 356Authenticate 152AutoUzupelnienie 117

zapytanie LINQ 118BeginEdit 267BeginForm 47 94BeginTransaction 326 332CancelEdit 263ChangeObjectState 356

Kup książkę Poleć książkę

Skorowidz 533

ChangePassword 200hiper cze 208widok 206

ChangePasswordSuccesswidok 206

CreateNazwaEncji 354CreateRole 159CreateUser 153czyBazaDanychIstnieje 326daneDostawcyForm 262DBeginnotEdit 263Delete 270DeleteObject 357DeleteRole 159DeleteUser 153DeszyfrujPlikKonfiguracyjny 191DodajDostawce 255DodajElementDoListy 94 97 101DodajGrupe 223DodajKomentarz 185DodajPracownika 299 491DopiszDoPlikuLog 430Edit 356EdytujDaneDostawcy 261EdytujDanePracownika 493Eksportuj 418EmptyResult 26EndEdit 263EndForm 47ErrorCodeToString 201Fill 246FillByCityName 275FormatDateTime 390FormsAuthenticationSetCookie 199GenerujDane 468Get(int id) 478GetAllRoles 159GetAsync 486GetChildRecords 291GetSection 170GetSectionGroup 170GetUser 153GetUsersInRole 160globalna

aplikacji ASPNET 108Grupy 223HasVersion 263HtmlListBox 97HtmlRenderPartial 101HtmlValidationSummary 61HtmlHelperLabel 437ImiePierwszegoPracownika 246 247Include 475Index 47 79 97 101

kontrolera Mapa 34testowanie 28

IsAjaxRequest 101IsMatch 76IsNotNull 29IsUserInRole 159Label 35ListaDostawcow 252 255ListaPracownikow 248

hiper cze skojarzone 249LogOff 198LogOn 198Macierzowy 397mapowalna 26MetodaAsynchronicznaWatki 472ModelStateAddModelError 199MvcApplicationRegisterRoutes 430obs uga zapyta POST 431odczyt aktualnych bilansoacutew kont 323OdczytajStanyKont 326OnActionExecuted 143OnActionExecuting 127 143onColumnChanged 269OnResultExecuted 144OnResultExecuting 144onRowChanged 266onRowChanging 268OpenConfiguration 170otwarcie po czenia z baz danych 341OtworzPlikDanych 107Page_Load 399PartialViewResult 26PobierzDane 394

modyfikacja 401PobierzPlikLogu 141 143PobierzZdjecie 278PokazTrasy 51PokazWyniki 107pomocnicza 25 455

HtmlEncode 51wykorzystanie 456

PostAsJsonAsync 486PostAsXmlAsync 486PostAsync 486PostResolveRequestCache 121PracownicyWedlugMiast

przechowywanie warto ci filtru 285PutAsJsonAsync 493PutAsXmlAsync 493PutAsync 493ReadAsAsync 486ReadXml 107ReadXmlSchema 107RedirectFromLoginPage 152

Kup książkę Poleć książkę

534 ASPNET MVC

metodaRedirectResult 26RedirectToAction 26RedirectToLoginPage 152RedirectToRoute 26RedirectToRouteResult 26RefreshReport 384Register 199 478RegisterAuth 461 462RegisterBundles 475RegisterGlobalFilters 171RegisterRoutes 94 123RejectChanges 256 263rejestrowanie zdarze aplikacji 430RemoveUserFromRole 160Render 384 413 418RenderPartial 99ResponseWrite 223ResultExecuteResult 143RoleExists 159RolesIsUserInRole 216RolesRemoveUsersFromRole 223route 35RowsAdd 255RozpocznijEdycje 269

hiper cze uruchamiaj ce 267SaveChanges 354ScaffoldingMasterDetail 317Session_End 108Session_Start 108SetAuthCookie 152SetParameters 401 405SignOut 152SprawdzDopasowania 79SprawdzPoprawnoscDatyZatrudnienia 67SqlPermissionAdd 343SqlTransactionCommit 326SqlTransactionRollback 326StronaNieIstnieje 175submit 115SzyfrowaniePlikuKonfiguracyjnego 190szyfruj ca i deszyfruj ca 189SzyfrujPlikKonfiguracyjny 191TextBox 35ThreadSleep 469 472TransactionScopeComplete 329Transfer 36UpdateUser 153UstawParametryRaportu 399UsunGrupe 223UsunTrase 50 51UtworzPracownika 64Uzytkownicy 216ValidateUser 152 153

ValidationMessage 437ValidationMessageFor 61ValidationSummary 437ViewResult 26WebApiConfigRegister 478WersjonowanieDataRow 265

sparametryzowanie 266WpisyZapiszDoPlikuXml 430wykonywanie przelewoacutew 323WyswietlLog 141 142 143wyswietlMape 34 35WyswietlTrase 50

modyfikacja 135 166wyznaczTrase 35ZaktualizujWyniki 107Zapami tajNazw U ytkownika 432ZmienStanKont 328

Microsoft SQL Server 319sposoby uwierzytelnienia 344

MIME type 390minification 476minimalizacja 476model 16 39

APM 464ChangePasswordModel 196EAP 465integracja z elementami aplikacji 39LogOnModel 196obs uga plikoacutew XML 427przesy anie z kontrolera do widoku 432 435RegisterModel 196TAP 465

model binding 48model danych encji 348

dodawanie encji 353edycja encji 355kreator 348 349

czenie encji 359metody akcji 354opcje 361projektowanie relacji 43tworzenie 349

schematu bazy danych 357usuwanie encji 357wyboacuter tabel 350

model first 52model zwi zkoacutew encji 347models 16Model-View-Controller 15Model-View-ViewModel 227Model-Widok-Kontroler 15modu

UrlAuthorizationModule 157

Kup książkę Poleć książkę

Skorowidz 535

MVC 15a Web Forms 16 365 367 423

kod 442serwer internetowych us ug

informacyjnych 495wydajno 443wykorzystanie w projektach 444

ataki XSS 185autoryzacja 158 162bezpiecze stwo aplikacji 152buforowanie 134domy lne wzorce aplikacji 21kreator aplikacji 20mechanizm filtrowania 127Model Binder 355nazwa kontrolera 27obs uga interakcji klient-serwer 121parametry opcjonalne 27pobieranie parametru z adresu URL 26projektowanie aplikacji 18 52przetwarzanie dania aplikacji klienckiej 18sprawdzanie poprawno ci danych 68struktura modelu 39techniki walidacji danych 53utworzenie widoku 30uzupe nianie o komponenty graficzne 367walidacja 438wersja 4 449wyboacuter mechanizmu przetwarzaj cego widoki 21wzorce URL 122zbioacuter modeli szablonu aplikacji 196roacuted o danych 40

MVC4 449grupowanie i optymalizacja skryptoacutew 475kaskadowe arkuszye stylu 475przetwarzanie asynchroniczne 464przystosowanie do urz dze mobillnych 457testowanie aplikacji 457uwierzytelnianie 460

integracja z portalem Facebook 462wsparcie dla urz dze mobilnych 450zdalna autoryzacja 461

MVVM 227

Nnarz dzie

aspnet_regiis 187przetwarzanie tekstu 73

Northwindinstalacja 240kwerenda wybieraj ca 240pobieranie informacji o dostawcach 251

NuGET 483nullable-types 27

OOAuth 461obiekt

AppDomain 339 341Chart 406Command 239Connection 239 241

w a ciwo i 243ConnectionString 343

sposoby uwierzytelniania 344szyfrowanie informacji 335

DataAdapter 239DataGridView 491DataReader 239 273DataRow 255

kontrola wprowadzonych danych 263usuwanie rekordoacutew 270wersje 263wersja proponowana 265wersjonowanie 263w a ciwo ci 255

DataSet 239 244 345edycja rekordoacutew 257kreator konfiguracji TableAdapter 274modyfikacja danych 249tworzenie nowych rekordoacutew 250usuwanie rekordoacutew 271wstawianie rekordoacutew 251wymuszenie wi zoacutew integralno ci 292

DataTable 107DirectionsService 35dostawca 153FormCollection 47jqXHR 218List 389logiki biznesowej 348materializacja 348Matrix 390Membership 152MvcRouteHandler 121 122o okre lonym typie danych 244o silnej typizacji 244o s abej typizacji 247ObjectStateManager 348PartialView 98ReportViewer 368ReportViewerLocalReport 418Request 26 101 432Response 26Route 122ShippersRow 255SqlConnCAS 341SqlConnection 326

Kup książkę Poleć książkę

536 ASPNET MVC

obiektTableAdapter 239 244 273 274 345

edycja danych 279 286wstawianie danych 294

TransactionScope 329parametryzacja 331

typuadres 118AppDomain 466ConcurrentDictionary 479NorthwindDataSet 247ObjectSetltTgt 348Route 121Thread 466

UrlRoutingModule 121ViewBag 36

przekazywanie danych do widoku WebForms 376

ViewData 36 79 432Object Relational Mapping 347Object Services 348obs uga b doacutew

konfiguracja 132w czenie 129

odrzucenie informacji o transakcji 148od wie anie witryny

a fragment widoku 97aktualizacja zawarto ci 113cz ciowe 96

OnSuccess 96operator

await 474konkatenacji 382Top 411Top N 411

ORM 347

Pparametr

CountryName 401data 115filtr 117mapDivId 35maxIloscRekordow 117Order 137raportu 395scopeTimeOut 330

warto ci 330TransactionScopeOption

warto ci 329type 115

parametryzacja kwerend 274partial view 30

piaskownica 341Plain Old CLR Object 360platforma NET

us ugi uwierzytelniania 153plik

ascx 22aspx 22bmp 390cookie 151cookies 154 155cshtml 22 434css 475edmx 360jpg 390js 475konfiguracyjny

zabezpieczenie 187master 22png 390rdl 368rdlc 368tekstowy

wy wietlenie w przegl darce 143vbhtml 22

POCO 360pola klucza 237polecenie

HtmlEncode 187ScriptsRender 476StylesRender 476GET 18POST 18

po czenieze roacuted em danych 241

pomocnik HTML 455Portable Document Format 413po rednik 341poziom izolacji 332

Chaos 333konfiguracja 332ReadCommitted 333ReadUncommitted 333Serializable 333Snapshot 333Unspecified 333

poziom zaufania 339ograniczenie 340

proceduraajax 115AjaxBeginForm 96niemapowalna 26PartialView 26serialize 115

Kup książkę Poleć książkę

Skorowidz 537

proces 465programowanie

oparte na zdarzeniach 17zdarzeniowe 17

projekt aplikacji MVCankieta 102asynchroniczne przetwarzanie da HTTP 92Bezpiecze stwo 181 336

nawi zanie komunikacji ze roacuted emdanych 342

szyfrowanie pliku konfiguracyjnego 191dodawanie i wy wietlanie komentarzy 183domy lny 20EksportDanych 413Filtry 131formularz oceny 107Kadry

walidacja adresu e-mail 84Kardy 55KsiegaGosci_MVC3 424lista prezentuj ca dodawane elementy 97MojaNawigacja 18

blokowanie samodzielnego tworzeniakont 224

buforowanie danych 135implementacja warstwy dost pu 42instalacja na serwerze IIS 500komunikat powitalny 168komunikaty 110komunikaty o b dach 173mechanizm podpowiedzi 115model weryfikuj cy po wiadczenia

u ytkownikoacutew 196modele kontrolera uwierzytelnienia 196od wie enie widoku mapy 109struktura 21szablon 19szablon witryny 225trasowanie da HTTP 123uzupe nienie o baz danych 40uzupe nienie o walidacj danych 69widok b du 175zablokowanie nieautoryzowanego

dost pu 128zarz dzanie u ytkownikami 163zarz dzanie grupami u ytkownikoacutew 212zarz dzanie procesem logowania 198

MsAjax 92NorthwindMVC 241

lista rekordoacutew 301szablon witryny 250

POCO 361priorytety regu filtrowania 137

Raport 368szablon

mechanizmy uwierzytelnienia 156zarz dzanie grupami u ytkownikoacutew 159

Transakcje 319aktualizacja danych 328formularz aktualizacji 328szablon stron 320

uzupe nianie widokiem GridView 49WyrazeniaRegularne 76Zapytania_EF 349

projekt aplikacji MVC4AsynchronicznyKontroler 466

prezentacja danych 468AutoryzacjaOAuth 461implementacja serwisu sieciowego 479konfiguracja grupowania 475MobileMvc 450

testowanie 457pobranie zdj cia 452przygotowanie listy pracownikoacutew 452SerwisSieciowy 477

projekt aplikacji Windows Formsedycja danych 487KlientWebAPI 483tworzenie nowych pracownikoacutew 486

dania typuDELETE 493POST 486PUT 491

projektowaniekontrolera 27widoku 31

protokoacuteFTP 495Kerberos 150NTLM 150SMTP 495SSL 337

proxy 341przechowywanie

informacji o trasach 44wynikoacutew g osowania 107

przeci enie aplikacji 147przekazywanie

danych 44mi dzy widokiem a kontrolerem 36

parametroacutew do metod akcji kontrolera 26przestrze nazw

SystemThreading 465przyjazne linki 122publikowanie aplikacji 495 500

na serwerze IIS 497

Kup książkę Poleć książkę

538 ASPNET MVC

pule aplikacji 465 497konfiguracja 498Windows 7 499Windows 8 500

Rraporty

dane w postaci macierzowej 390data 386definicja

dynamiczna 418filtrowanie danych 394

na poziomie roacuted a 401 418filtry 395formaty prezentacji danych 379grupowanie danych 381hiper cza 387

nawigacyjne 376kolumny obliczeniowe 378konfiguracja

filtrowania dynamicznego 396typu 392roacuted a danych 368

kreator formu 382macierzowe 391numery stron 386obrazy 390parametry 383 394

konfiguracja 399paski narz dziowe 379pola

bazy danych 386formularza 398raportu 390

po czenie z aplikacj 368prezentowanie uk adu graficznego 383projektowanie 371

i prezentowanie 368przystosowanie strony do obs ugi raportoacutew

387renderowanie 368tryby definicji 368tworzenie

definicji lokalnej 368formu 378przy u yciu kreatora 372

uk ad 383wstawianie nag oacutewka i stopki 385wykresy 406wy wietlenie 375

Razor 21 30przetwarzanie definicji widoku 208

RDL 418rekordy

edycja 307lista 301tworzenie 311usuwanie 305

Relationship 347Report Definition Language 418Report Wizard 371repudiation 148request 442response 442responsywno 464rollback transaction 319routing 22 430routowanie 121

SSandBox 341scaffolding 301Secure Socket Layer 337sekcja

membership 178roleManager 179set 441

serwerSMTP

konfiguracja 171us ug informacyjnych 149

weryfikacja to samo ci u ytkownika 149Simple Mail Transfer Protocol 495s owo kluczowe

helper 455await 474using 47 329

spaghetti code 18spoofing 147SQL Server Reporting Services 367SSRS 367stan pola

typu CheckBox 269pobieranie 264

STRIDE 148strona startowa

MojaNawigacja 226strona wzorcowa 30

aplikacji Kadry 55referencja do bibliotek skryptoacutew 70

systemowy serwer us ug informacyjnych 121szyfrowanie po czenia 335

ze roacuted em danych 336

Kup książkę Poleć książkę

Skorowidz 539

Ttabela danych

Categories 418Customers 305deklaracje kaskadowych arkuszy stylu 275edycja

danych 279danych w wierszu 257rekordoacutew 307 310

Employees 240 288filtrowanie listy 275integralno danych 288Konta 321 326kwerenda wybieraj ca 240Orders 291 315OrdersDetails 307pobieranie fotografii 276pobranie danych z wykorzystaniem JScript 280prezentacja

danych 277 325informacji 252listy danych 248pierwszego rekordu 246rekordoacutew 317

przekazanie do widoku 248Shippers 251tworzenie rekordoacutew 311umieszczenie w bazie danych 321uruchomienie edycji danych 258usuwanie

danych 288rekordoacutew 271 305 306

widok b du 268wstawianie

danych 294rekordoacutew 251

wy wietlenie listykonfiguracja hiper cza 315

zako czenie edycji rekordu 267tablica asocjacyjna 479tablica bajtoacutew

konwersja do bitmapy 277tampering 147task pane 371Task-based Asynchronous Pattern 465TDD 15

test jednostkowy funkcjonalno ci kontrolera28

Test-Driven Development 15testowanie

aplikacji 29wzorcoacutew wyra e regularnych 76 78

Toolbox 274

transakcje 319automatyczne zarz dzanie 327otaczaj ce 329poziom izolacji 332tworzenie i r czna kontrola 319

trasowanie 121aplikacja 430blokowanie dost pu 124domy lne regu y 123Ksi gaGosci_MVC3 430w asne regu y 124

trasowanie adresoacutew URL 121T-SQL 319

czynno ci bazodanowe 345tworzenie

bazy danych 40interfejsu u ytkownika

jQM 459szablony 231wzorzec MVVM 227

u ytkownika 200kody b doacutew 201

widoku Index 231wzorcoacutew wyra e regularnych 76

typed DataSet 244typizacja

silna 46s aba 46

typy puste 27

Uujawnienie krytycznych informacji 147ukryte pola 441Uniform Resource Locator 18URL 18uruchomienie aplikacji 503us uga

AspNetSqlProvider 178ustawienia aplikacji 167

odczytanie z pliku konfiguracyjnego 169UTC 155uwierzytelnienie 149

centralny serwis 151certyfikaty 150formularze logowania 151

atrybuty elementu forms 154konfiguracja 153mechanizmy zintegrowane z ASPNET 149na bazie protoko u NTLM 150przekazywanie informacji 151proste 150skroacutecone 150us ugi systemu Windows 150

Kup książkę Poleć książkę

540 ASPNET MVC

Vvariable placeholders 122view engine 21views 16viewstate 442Visual Studio

kreator projektu 19Visual Studio Development Server 496VS 2012

instalacja 240kreator Add New Item 242

VSDS 496

Wwalidacja

adresue-mail 83URL 83WWW 84

danych 53a technologia Entity Framework 68konfiguracja 66modelu Pracownik 66odwo anenie do jQuery 61po stronie klienta 67wyra enia regularne 73

skrypty i style walidatoroacutew 438w asno ci klasy encji 435

w tek 465Web API 477

edycja danych 491klient 483konfiguracja interfejsu 478obs uga da typu POST 486pobranie danych z serwera 485serwis sieciowy 479usuwanie danych 493

web serwer 495Web Site Administration Tool 161

konfigurowanie uprawnie 165zarz dzanie

dostawcami us ug 178u ytkownikami 163

WebForms 17bezpiecze stwo aplikacji 152integracja komponentoacutew z MVC 367kontrolka Repeater 434obs uga wyj tkoacutew 172przetwarzanie dania aplikacji klienckiej 18separacja modelu 427weryfikacja poprawno ci projektu 434

weryfikacjakodu pocztowego 81to samo ci 151

widok 16 25 30aplikacji

MVC4 453przystosowanie do urz dze mobilnych

459Transakcje 326

cz ciowy 30dodawanie 31edycji klienta 307elementy 31formularz

dodawania wpisu 425logowania 203

kontroleraaplikacja Kadry 58panelu administracyjnego 222

kontrolera AdminController 213kontrolera Dopasowania 77kontrolera ErrorControler 174kontrolera Glosowania 103kontrolera Home 131 169 182 307

metodaWyswietlLog 142Raport 375Transakcje 320

kontrolera HomeController 246AsynchronicznyKontroler 468EksportDanych 417

kontrolera Lista 93kontrolera Mapa 33 34

formularz 70Trasa 50

kreatorakonta u ytkownika 205zmiany has a 206

listyklientoacutew 302pracownikoacutew 61wyznaczonych tras 48zamoacutewie 316

mapyod wie enie 108parametryzacja 34

mechanizm przetwarzania 30modyfikowanie formularza 437obs uga wyj tkoacutew 130Pracownicycshtml 453projektowanie 31transfer danych do kontrolera 36typu CRUD 52

Kup książkę Poleć książkę

Skorowidz 541

typu GridViewimplementacja 48

typy plikoacutew 30utworzenie 30uzupe nianie tre ci 33walidacja 435wi zanie z modelem 437wstawianie rekordoacutew 312wynikoacutew ankiety 105wy wietlanie wpisoacutew 432

wielodziedziczenie 360Windows Authentication Provider 149Windows Data Protection API 187Windows Forms

implementacja klienta 483Windows Live ID 149w a ciwo

ConnectionString 243IsMobileDevice 460ModelStateIsValid 47

wstawianie rekordoacutew 299wstrzykni cie kodu 181 185wykresy 406

konfiguracjaserii danych 407typu 407

pobranie danych roacuted owych 408wy czenie aplikacji 171wyra enia lambda 46wyra enia regularne 73

atrybuty modelu 84liczba wyst pie sk adnikoacutew 76wzorzec

adres URL 83imi e skie 81kod pocztowy 80tworzenie 76

znaki i cyfry 74znaki specjalne 74znaki w wyznaczonych miejscach a cucha 75

wzorzecodnajdywanie

znakoacutew i cyfr 74znakoacutew specjalnych 74znakoacutew w wyznaczonych miejscach

a cucha 75okre lanie

liczby wyst pie znakoacutew 76

XXSS 181

Zzabezpieczenia

aplikacji bazodanowych 335ataki XSS 187informacje o b dach 171kodu po redniego 338konfiguracja 161konfiguracja aplikacji

kreatory 162obs uga wyj tkoacutew 171pliku konfiguracyjnego 167 187przed atakami 148ustawienia aplikacji 167witryny 181zarz dzanie dostawcami us ug 178z o liwy kod 181

zarz dzanieu ytkownikami i grupami 211

dost p do panelu administracyjnego 216lista grup 221podzia na grupy 220pobieranie listy 213tworzenie nowej grupy 222zmiana przynale no ci do grupy 215

z o ono ci aplikacji 16zdarzenie

DataGridViewCellDoubleClick 491rejestrowanie 430

z o liwy koddzia anie 181

znacznikinput 288

znaki specjalneodnajdywanie 74

zwi zanie z modelem 48zwi zek 347

danie 25asynchroniczna obs uga 92 466 470

skrypty 318zadania 473

GET 64POST 64przetwarzanie 127zablokowanie obs ugi 124

Kup książkę Poleć książkę

Notatki

Kup książkę Poleć książkę

Rozdzia 18

Scaffolding czyliekspresowe tworzenieinternetowych aplikacjibazodanowych

Dawid Borycki

W dwoacutech poprzednich rozdzia ach samodzielnie utworzyli my komponenty prezentuj -ce dane rekordoacutew z bazy danych a tak e umo liwiaj ce ich edycj i usuwanie Wyko-rzystali my do tego celu bibliotek jQuery UI W tym rozdziale chcia bym zaprezen-towa tak zwany scaffolding Jest to procedura dost pna mi dzy innymi w aplikacjachASPNET MVC umo liwiaj ca automatyczne wygenerowanie widokoacutew (komponen-toacutew) aplikacji internetowej ktoacutere realizuj bazodanowy schemat CRUD (ang CreateRead Update Delete) Schemat CRUD obejmuje podstawowe elementy wszystkichaplikacji bazodanowych czyli tworzenie odczytywanie aktualizowanie i usuwanierekordoacutew z tabel danych

Lista rekordoacutewOpis techniki scaffolding w aplikacjach ASPNET MVC rozpoczn od wygenerowa-nia widoku listy rekordoacutew w aplikacji NorthwindMVC Automatycznie wygenerowa-ny widok skoryguj w celu dostosowania go do potrzeb aplikacji

1 G oacutewny widok aplikacji NorthwindMVC (plik Indexcshtml) uzupe nijo nast puj ce polecenie

ltpgt HtmlActionLink(Scaffolding ScaffoldingList)ltpgt

Kup książkę Poleć książkę

302 Cz II Technologie bazodanowe w aplikacjach internetowych

2 W Solution Explorer rozwi w ze Views a nast pnie kliknij prawymprzyciskiem myszy folder Home

3 Wybierz opcj Add a nast pnie Viewhellip z menu kontekstowego

4 W kreatorze Add View (rysunek 181)

Rysunek 181Widok kreatoraAdd View

a) Zmie nazw widoku na ScaffoldingList

b) Zaznacz pole wyboru Create a strongly-typed view

c) Z listy dost pnych modeli wybierz pozycj CustomersRow

d) Z listy rozwijanej Scaffold template wybierz List

e) Kliknij przycisk Add

5 Utworzony w ten sposoacuteb plik ScaffoldingListcshtml zmodyfikuj wed ugwzoru z listingu 181

Listing 181 Zmodyfikowany widok listy klientoacutew

model IEnumerableltNorthwindMVCModelsNorthwindDataSetCustomersRowgt

ViewBagTitle = ScaffoldingList

lth2gtScaffoldingListlth2gtlth2gtLista klientoacutewlth2gt

ltpgt HtmlActionLink(Create New Create) HtmlActionLink(Nowy rekord ScaffoldingCreate)ltpgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 303

lttablegt lttrgt ltthgt CustomerID ltthgt ltthgt CompanyName ltthgt ltthgt ContactName ltthgt ltthgt ContactTitle ltthgt ltthgt Address ltthgt ltthgt City ltthgt ltthgt Region ltthgt ltthgt PostalCode ltthgt ltthgt Country ltthgt ltthgt Phone ltthgt ltthgt Fax ltthgt ltthgt RowError ltthgt ltthgt HasErrors ltthgt ltthgtltthgt lttrgt

foreach (var item in Model) lttrgt lttdgt HtmlDisplayFor(modelItem =gt itemCustomerID) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCompanyName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactName) lttdgt lttdgt

Kup książkę Poleć książkę

304 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlDisplayFor(modelItem =gt itemContactTitle) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemAddress) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCity) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemRegion) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemPostalCode) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCountry) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemPhone) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemFax) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemRowError) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemHasErrors) lttdgt lttdgt HtmlActionLink(Edytuj ScaffoldingEdit new id = itemCustomerID ) | HtmlActionLink(Zamoacutewienia ScaffoldingMasterDetail new id = itemCustomerID ) | HtmlActionLink(Usu ScaffoldingDelete new id = itemCustomerID ) lttdgt lttrgt

lttablegt

6 W pliku HomeControllercs

a) Utwoacuterz pole klasyCustomersTableAdapter customersTableAdapter = new CustomersTableAdapter()

b) Dodaj polecenia z listingu 182

Listing 182 Prezentacja listy klientoacutew

private void PobierzDaneKlientow() northwindDataSetEnforceConstraints = false customersTableAdapterFill(northwindDataSetCustomers)

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 305

northwindDataSetEnforceConstraints = true

public ActionResult ScaffoldingList() PobierzDaneKlientow() return View(ScaffoldingList northwindDataSetCustomers)

7 Skompiluj i uruchom aplikacj

Po uruchomieniu aplikacji i klikni ciu hiper cza z etykiet Scaffolding zostanie wy-wietlona lista klientoacutew ktoacuterej posta powinna by analogiczna do przedstawionej na

rysunku 182 W kolejnym kroku zaimplementujemy mo liwo usuwania edycji oraztworzenia rekordoacutew w tabeli Customers

Rysunek 182 Lista klientoacutew

Usuwanie rekordoacutewW celu zaimplementowania mo liwo ci usuwania rekordoacutew z tabeli Customers wyko-naj nast puj ce czynno ci

1 W widoku projektowania obiektu NorthwindDataSet skonfiguruj relacjpomi dzy tabelami Orders i Customers wed ug wzoru z rysunku 183

2 Klas kontrolera Home uzupe nij o polecenia z listingu 183

Kup książkę Poleć książkę

306 Cz II Technologie bazodanowe w aplikacjach internetowych

Rysunek 183Konfiguracja wi zoacutewintegralno ci danych

Listing 183 Usuwanie rekordoacutew z tabeli Customers

private void AktualizujDaneKlientow() northwindDataSetEnforceConstraints = false

orderDetailsTableAdapterUpdate(northwindDataSetOrder_Details) ordersTableAdapterUpdate(northwindDataSetOrders) customersTableAdapterUpdate(northwindDataSetCustomers)

northwindDataSetEnforceConstraints = true

public ActionResult ScaffoldingDelete(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) if (cdr = null) Usuwanie rekordoacutew potomnych DataRow[] zamowienia = cdrGetChildRows(northwindDataSetRelations[FK_Orders_Customers])

foreach (DataRow dr in zamowienia) drDelete()

Usuwanie rekordu klienta cdrDelete()

Aktualizacja wszystkich powi zanych tabel AktualizujDaneKlientow()

return ScaffoldingList()

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 307

Podczas usuwania danego rekordu nale y zadba o rekordy z innych tabel ktoacutere sz nim zwi zane relacjami Wiersze tabeli Customers s skojarzone z rekordami z tabelOrders oraz OrdersDetails Z tego powodu aktualizuj zawarto ci tych tabel po usu-ni ciu wybranego rekordu klienta Osierocone rekordy z tabeli Orders s usuwane ra-zem z nim

Edycja rekordoacutewDo edycji rekordoacutew w tabeli Customers potrzebny b dzie odpowiedni widok ktoacuteryprzygotuj na bazie automatycznie wygenerowanego kodu roacuted owego

1 Zgodnie z przepisem z podrozdzia u bdquoLista rekordoacutewrdquo utwoacuterz widokkontrolera Home i skonfiguruj go wed ug wzoru z rysunku 184

Rysunek 184Konfiguracja widokuedycji klienta

2 Wygenerowany automatycznie plik widoku ScaffoldingEditcshtmlzmodyfikuj zgodnie z listingiem 184

Listing 184 Definicja widoku edycji klienta

model NorthwindMVCModelsNorthwindDataSetCustomersRow

ViewBagTitle = ScaffoldingEdit

lth2gtScaffoldingEditlth2gtlth2gtEdycja rekordulth2gt

ltscript src=UrlContent(~Scriptsjqueryvalidateminjs)type=textjavascriptgtltscriptgt

Kup książkę Poleć książkę

308 Cz II Technologie bazodanowe w aplikacjach internetowych

ltscript src=UrlContent(~Scriptsjqueryvalidateunobtrusiveminjs)type=textjavascriptgtltscriptgt

using (HtmlBeginForm(EdytujDaneKlienta Home new id = ModelCustomerID)) HtmlValidationSummary(true) ltfieldsetgt ltlegendgtDane klientaCustomersRowltlegendgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCustomerID) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCustomerID) HtmlValidationMessageFor(model =gt modelCustomerID) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCompanyName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCompanyName) HtmlValidationMessageFor(model =gt modelCompanyName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactName) HtmlValidationMessageFor(model =gt modelContactName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactTitle) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactTitle) HtmlValidationMessageFor(model =gt modelContactTitle) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelAddress) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelAddress) HtmlValidationMessageFor(model =gt modelAddress) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCity) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCity) HtmlValidationMessageFor(model =gt modelCity) ltdivgt

ltdiv class=editor-labelgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 309

HtmlLabelFor(model =gt modelRegion) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRegion) HtmlValidationMessageFor(model =gt modelRegion) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPostalCode) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPostalCode) HtmlValidationMessageFor(model =gt modelPostalCode) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCountry) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCountry) HtmlValidationMessageFor(model =gt modelCountry) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPhone) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPhone) HtmlValidationMessageFor(model =gt modelPhone) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelFax) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelFax) HtmlValidationMessageFor(model =gt modelFax) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRowError) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRowError) HtmlValidationMessageFor(model =gt modelRowError) ltdivgt

ltpgt ltinput type=submit value=SaveZapisz gt ltpgt ltfieldsetgt

ltdivgt HtmlActionLink(Back to List Index) HtmlActionLink(Powroacutet do listy rekordow ScaffoldingList)ltdivgt

Kup książkę Poleć książkę

310 Cz II Technologie bazodanowe w aplikacjach internetowych

3 W kontrolerze Home zdefiniuj metody z listingu 185

Listing 185 Edycja danych klienta

public ActionResult ScaffoldingEdit(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id)

if (cdr = null) return View(ScaffoldingEdit cdr) else return ScaffoldingList()

private void PrzepiszDaneKlienta(FormCollection daneKlienta refNorthwindDataSetCustomersRow rekordKlienta)

rekordKlientaCompanyName = daneKlienta[CompanyName]ToString() rekordKlientaContactName = daneKlienta[ContactName]ToString() rekordKlientaContactTitle = daneKlienta[ContactTitle]ToString() rekordKlientaAddress = daneKlienta[Address]ToString() rekordKlientaCity = daneKlienta[City]ToString()

public ActionResult EdytujDaneKlienta(FormCollection daneKlienta string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) if (cdr = null) PrzepiszDaneKlienta(daneKlienta ref cdr) AktualizujDaneKlientow() return ScaffoldingList()

Proces edycji rekordu w bazie danych za pomoc technologii ADONET opiera si nainformacjach zebranych w poprzednich rozdzia ach wi c nie b d go tu szczegoacute owoopisywa Celem tego przyk adu by o automatyczne wygenerowanie widoku umo li-wiaj cego edycj danych klienta przystosowanie go do w asnych potrzeb oraz inte-gracja z kontrolerem

Separacja modelu widoku i kontrolera umo liwia narz dziom Visual Studio 2012 auto-matyczne generowanie widoku na podstawie definicji modelu Jednak e jak pokaza-em w tym podrozdziale kreator tworzy widok ktoacutery umo liwia edycj wszystkich poacutel

rekordu (nawet identyfikatora) co sprawia e w wi kszo ci przypadkoacutew nale y sa-modzielnie edytowa plik widoku w celu przystosowania go do potrzeb projektowanejaplikacji Jednak jak pokazuje powy szy przyk ad nie jest to rzecz skomplikowan

Integracja widoku z kontrolerem polega na odpowiednim przekazywaniu informacjio edytowanym rekordzie oraz warto ci jego poacutel Do tego celu wykorzysta em identy-fikator klienta ktoacutery jednoznacznie identyfikuje rekordy w tabeli Customers

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 311

Przyk adowy wynik polece zaimplementowanych w tym podrozdziale przedstawiarysunek 185

Rysunek 185Edycja danych klienta

Tworzenie rekordoacutewW poprzednich podrozdzia ach zaimplementowa em trzy spo roacuted czterech podstawo-wych elementoacutew schematu CRUD czyli odczytywanie (R) aktualizacj (U) oraz usu-wanie (D) rekordoacutew Ostatnim elementem jest tworzenie (C) nowych rekordoacutew W celuzaimplementowania procedury uzupe niania tabeli Customers nowymi rekordami na-le y post pi nast puj co

1 W Solution Explorer rozwi w ze Views a nast pnie kliknij prawymprzyciskiem myszy folder Home

2 Wybierz opcj Add a nast pnie Viewhellip z menu kontekstowego

3 W kreatorze Add View

a) Zmie nazw widoku na ScaffoldingCreate

b) Zaznacz pole wyboru Create a strongly-typed view

c) Z listy dost pnych modeli wybierz pozycj CustomersRow

d) Z listy rozwijanej Scaffold template wybierz Create

e) Kliknij przycisk Add

4 Utworzony w ten sposoacuteb plik ScaffoldingCreatecshtml zmodyfikuj wed ugwzoru z listingu 186

Kup książkę Poleć książkę

312 Cz II Technologie bazodanowe w aplikacjach internetowych

Listing 186 Widok umo liwiaj cy wstawianie rekordoacutew do tabeli Customers

model NorthwindMVCModelsNorthwindDataSetCustomersRow

ViewBagTitle = ScaffoldingCreate

lth2gtScaffoldingCreatelth2gtlth2gtTworzenie rekordulth2gt

ltscript src=UrlContent(~Scriptsjqueryvalidateminjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~Scriptsjqueryvalidateunobtrusiveminjs)type=textjavascriptgtltscriptgt

using (HtmlBeginForm(DodajKlienta Home)) HtmlValidationSummary(true) ltfieldsetgt ltlegendgtDane klientaCustomersRowltlegendgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCustomerID) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCustomerID) HtmlValidationMessageFor(model =gt modelCustomerID) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCompanyName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCompanyName) HtmlValidationMessageFor(model =gt modelCompanyName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactName) HtmlValidationMessageFor(model =gt modelContactName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactTitle) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactTitle) HtmlValidationMessageFor(model =gt modelContactTitle) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelAddress) ltdivgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 313

ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelAddress) HtmlValidationMessageFor(model =gt modelAddress) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCity) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCity) HtmlValidationMessageFor(model =gt modelCity) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRegion) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRegion) HtmlValidationMessageFor(model =gt modelRegion) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPostalCode) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPostalCode) HtmlValidationMessageFor(model =gt modelPostalCode) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCountry) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCountry) HtmlValidationMessageFor(model =gt modelCountry) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPhone) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPhone) HtmlValidationMessageFor(model =gt modelPhone) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelFax) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelFax) HtmlValidationMessageFor(model =gt modelFax) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRowError) ltdivgt ltdiv class=editor-fieldgt

Kup książkę Poleć książkę

314 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlEditorFor(model =gt modelRowError) HtmlValidationMessageFor(model =gt modelRowError) ltdivgt

ltpgt ltinput type=submit value=CreateUtwoacuterz gt ltpgt ltfieldsetgt

ltdivgt HtmlActionLink(Back to List Index) HtmlActionLink(Powroacutet do listy ScaffoldingList)ltdivgt

5 Definicj kontrolera Home uzupe nij o polecenia z listingu 187

Listing 187 Wstawianie rekordoacutew do tabeli Customers

private char PobierzZnak(string lancuch int index) Random random = new Random() char znak

if (lancuchLength gt index) znak = lancuch[index] else znak = (char)randomNext(0 255)ToString()[0]

return znak

private void UtworzIdentyfikatorKlienta(ref NorthwindDataSetCustomersRowdaneKlienta)

string identyfikator = int indexZnaku = 0

identyfikator += PobierzZnak(daneKlientaCompanyName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactTitle indexZnaku) identyfikator += PobierzZnak(daneKlientaAddress indexZnaku) identyfikator += PobierzZnak(daneKlientaCity indexZnaku)

daneKlientaCustomerID = identyfikator

public ActionResult DodajKlienta(FormCollection daneKlienta string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersNewCustomersRow()

PrzepiszDaneKlienta(daneKlienta ref cdr)

UtworzIdentyfikatorKlienta(ref cdr)

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 315

customersTableAdapterInsert(cdrCustomerID cdrCompanyName cdrContactName cdrContactTitle cdrAddress cdrCity )

AktualizujDaneKlientow()

return ScaffoldingList()

Wstawienie rekordoacutew do tabeli Customers jest analogiczne do ich edycji Jedyn roacute -nic jest konieczno utworzenia identyfikatora klienta gdy nie jest on tworzonyautomatycznie jak to by o w przypadku tabeli Employees Identyfikatory rekordoacuteww tabeli Customers s pi cioelementowymi ci gami znakoacutew Tworz je na podstawiepierwszych liter poacutel CompanyName ContactName ContactTitle Address oraz City Je liw tych polach znajduj si puste ci gi to odpowiedni liter zast puj losowo wyge-nerowanym znakiem

W kolejnym podrozdziale poka w jaki sposoacuteb wy wietli informacje o rekordachpotomnych opieraj c si na relacji pomi dzy tabelami

Formularz z podformularzem(MasterDetail Form)

Jako podsumowanie tego rozdzia u utworz formularz z podformularzem tak zwanyformularz MasterDetail Jego dzia anie polega na tym e wy wietlanie danych od-bywa si na bazie co najmniej dwoacutech komponentoacutew (np blokoacutew czy tabel) oraz rela-cji mi dzy tabelami Pierwszy komponent prezentuje rekordy zawarte w tabeli g oacutew-nej (ang master) a drugi zawiera dane z tabeli podrz dnej (ang detail) Komponentzwi zany z tabel podrz dn ma zazwyczaj za zadanie prezentowa szczegoacute owe da-ne odpowiadaj ce rekordowi z tabeli nadrz dnej ktoacutery zosta wskazany przy pomocyzwi zanej z nim listy rekordoacutew Pola tych tabel musz by zatem uporz dkowane w takisposoacuteb aby pokazywa y informacj o tym samym rekordzie Uzyskuje si to przy po-mocy relacji mi dzy tabelami ktoacuterej zadaniem jest powi zanie informacji zawartychw bazie danych

W tym podrozdziale tabel nadrz dn b dzie tabela Customers a podrz dn OrdersPo klikni ciu na hiper cze z etykiet zamoacutewienia wy wietli si lista rekordoacutew tabeliOrders skojarzonych z danym klientem dania prezentacji zamoacutewie b d realizo-wane asynchronicznie

1 Plik widoku ScaffoldingListcshtml zmodyfikuj wed ug wzoru z listingu 188

Listing 188 Konfiguracja hiper cza umo liwiaj cego wy wietlenie listy zamoacutewie danego klienta

hellipforeach (var item in Model) lttrgt lttdgt

Kup książkę Poleć książkę

316 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlDisplayFor(modelItem =gt itemCustomerID) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCompanyName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactTitle) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemAddress) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCity) lttdgt lttdgt HtmlActionLink(Edytuj ScaffoldingEdit new id = itemCustomerID ) | AjaxActionLink(Zamoacutewienia ScaffoldingMasterDetail new id = itemCustomerID new AjaxOptions UpdateTargetId = zamowienia OnSuccess = documentgetElementById(zamowienia)scrollIntoView() ) | HtmlActionLink(Usu ScaffoldingDelete new id = itemCustomerID ) lttdgt lttrgtlttablegt

ltdiv id=zamowieniagtltdivgt

2 Utwoacuterz widok cz ciowy o nazwie ZamowieniaPartialViewcshtml i wstaww nim polecenia z listingu 189

Listing 189 Definicja widoku prezentuj cego list zamoacutewie

model IEnumerableltNorthwindMVCModelsNorthwindDataSetOrdersRowgt

if (Model == null) lth2gtBrak zamoacutewie lth2gtelse lth2gtLista zamoacutewie lth2gt

lttablegt lttrgt ltthgt OrderDate ltthgt ltthgt RequiredDate ltthgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 317

ltthgt ShippedDate ltthgt ltthgt ShipName ltthgt ltthgt ShipAddress ltthgt ltthgt ShipCity ltthgt ltthgtltthgt lttrgt

foreach (var item in Model) lttrgt lttdgt itemOrderDateToShortDateString() lttdgt lttdgt itemRequiredDateToShortDateString() lttdgt lttdgt itemShippedDateToShortDateString() lttdgt lttdgt itemShipName lttdgt lttdgt itemShipAddress lttdgt lttdgt itemShipCity lttdgt lttrgt lttablegt

3 Kontroler Home uzupe nij o metod ScaffoldingMasterDetail ktoacuterej definicjprzedstawi em na listingu 1810

Listing 1810 Pobranie i prezentacja rekordoacutew potomnych wybranego klienta

public ActionResult ScaffoldingMasterDetail(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) NorthwindDataSetOrdersRow[] zamowieniaPracownika = null

if (cdr = null) zamowieniaPracownika = (NorthwindDataSetOrdersRow[])cdrGetChildRows(FK_Orders_Customers)

Kup książkę Poleć książkę

318 Cz II Technologie bazodanowe w aplikacjach internetowych

if (RequestIsAjaxRequest()) return View(ZamowieniaPartialView zamowieniaPracownika) else return ScaffoldingList()

4 Sekcj ltheadgt pliku _Layoutcshtml uzupe nij o polecenia z listingu 1811

Listing 1811 Import skryptoacutew obs uguj cych dania asynchroniczne

ltscript src=UrlContent(~Scriptsjqueryunobtrusive-ajaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftAjaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftMvcAjaxjs)type=textjavascriptgtltscriptgt

5 Po skompilowaniu i uruchomieniu aplikacji powiniene uzyska efektanalogiczny do przedstawionego na rysunku 186

Rysunek 186 Przyk ad formularza typu MasterDetail

Kup książkę Poleć książkę

Skorowidz

AACL 149action methods 25ActiveX Data Object 238ADO 238ADONET 238

obiekty 238podstawy 237synchronizacja buforu ze roacuted em danych 273

adresy URLautoryzacja 157parametry 122trasowanie 121wzorce 122 123

agile programming 15AJAX 91

aktualizacja bloku witryny 113dodanie referencji do bibliotek JavaScript 94

akcjaCreate 354Delete 357Details 353dodaj ca nowy produkt 355Edit 356

aktualizacjazawarto ci elementu witryny 92

algorytmRSA 187

ambient transaction 329ankieta 102AntiXss 187aplikacje

bazodanowe 235bezpiecze stwo 335mechanizm transakcji 319scaffolding 301

synchronizacja ze roacuted em danych 273uwagi do projektowania 345

mo liwo edytowania wpisoacutew 441rejestrowanie zdarze i trasowanie 430

Application Domain 339architektura obiektowa 347ASPNET

konfiguracja aplikacji 161mechanizmy uwierzytelnienia 149metody globalne 107w czanie i wy czanie aplikacji 171

ASPNET AJAX 91ASPNET MVC 15

komponenty 16ASPX 21 30asynchroniczne przetwarzanie da http

jQuery 113Asynchronous JavaScript and XML 48Asynchronous Programming Model 464ataki

rodzaje 147SQL Injection 148 344wy udzenie informacji 148z o liwy kod 181

atrybut 347AcceptVerbs(HttpPost) 47AcceptVerbs(HttpVerbsPost) 65AssociationAttribute 58Authorize 200AuthorizeAttribute 128autoryzacyjny 145ConcurrencyCheckAttribute 58Confirm 95cookieless 154CustomValidationAttribute 58 66data-bind 230DataType 54 57

Kup książkę Poleć książkę

528 ASPNET MVC

atrybutDataTypeAttribute 58defaultRedirect 173defaultUrl 154DisplayAttribute 58DisplayColumnAttribute 58DisplayName 436EditableAttribute 58enableCrossAppRedirects 155EnumDataTypeAttribute 58FilterUIHintAttribute 58HandleError 138 175HandleErrorAttribute 129HttpMethod 95InsertionMode 95KeyAttribute 58klasy do konfiguracji metadanych 57 58LoadingElementDuration 110LoadingElementId 95 110Log

klasa implementuj ca 142loginUrl 154MetadataType 69MetadataTypeAttribute 58mode 153 173modelu 55name 155NonAction 26 135OnBegin 95OnComplete 95OnFailure 95OnSuccess 95 110OutputCache 133OutputCacheAttribute

parametry 134passwordFormat 156protection 155Range 54 66RangeAttribute 58redirectMode 173RegularExpressionAttribute 58Required 54 66RequiredAttribute 58RequireHttps 135requireSSL 155slidingExpiration 155StringLength 66StringLengthAttribute 58TestClass 29TestMethod 29ticketCompatibilityMode 155timeout 155TimestampAttribute 58UpdateTargetId 95

Url 95ValidateInput 185

atrybuty modeluwyra enia regularne 84

Attribute 347authentication ticket 151auto post back 217autocomplete textbox 115automatyczne uzupe nienie pola tekstowego 115autoryzacja 149 157

adresoacutew URL 157konfiguracja 157

grupy u ytkownikoacutew 158mechanizm filtrowania 158otwarta 460plikoacutew 157zdalna

powi zanie z portalem Facebook 461Azure 496

Bbazy danych 40 237

aktualizacja 41lista rekordoacutew 301Northwind 240

detale produktu 352dodawanie po cze 350pobieranie produktoacutew 351

po czenie ze roacuted em danych 241relacyjne 237schemat CRUD 301transakcje 319tworzenie 321

nowego rekordu 48schematu na bazie modelu encji 357

usuwanie danych 290regu y integralno ci 293

usuwanie powi zanych wierszyrekordy potomne 291

warstwa dost pu 42bezpiecze stwo

aplikacji internetowych 147ataki 147mechanizmy 149

biblioteka NETprogramowanie asynchroniczne 464

biblioteka skryptoacutewMapajs 32

bilet uwierzytelniaj cy 151b dy

dzia ania aplikacji 171strona b du 176tworzenie u ytkownika 202wprowadzenie z ego rekordu 268

Kup książkę Poleć książkę

Skorowidz 529

body 383buforowanie

danych ze roacutede zewn trznych 133bundling 475Business Intelligence 368

Ccallback 35CAS 151 338CDN 113Central Authentication Service 151centralna us uga uwierzytelnienia 151certyfikat 337CLR

procesy systemowe 466Code Access Security 338Confirm 96connString 341controllers 16Coordinated Universal Time 155Create Read Update Delete 301cross-site scripting 181CRUD 54 301Crystal Reports 368

Ddane

agregacja 378bezpo redni dost p do roacuted a 346eksport 413

do dokumentu tekstowego 419do PDF 420skoroszyt MS Excel 421tabele dynamiczne 418

integralno 288 319pomini cie sprawdzania 292regu y 291

modyfikacja 249platforma modelowania 347prezentacja

graficzna 406w postaci macierzowej 390

przekazywaniez formularza do roacuted a 46z kontrolera do widoku 437 439

serializacja i transfer struktur 117szyfrowanie 337typu

ActionResult 25walidacja 53weryfikacja 53wi zy integralno ci 306

wy wietlanie 315zabezpieczenie 338

Data Binding 389Data Definition Language 345Database Management System 237DBMS 237

wi zy integralno ci 238DDL 345denial of service 147detail 315Development Server 504DIE 53DisplayFormatAttribute 58document object model 92DOM 92domena aplikacji 339 466

instancja obiektoacutew 341tworzenie 339wspoacute dzielenie obiektu 341

dostawcy us ug 178dost p anonimowy 150DotNetOpenAuth 149DPAPI 187DRY 53dyrektywa

model 46

Eelement

customErrors 173success 115

elevation of privilege 147encapsulation 107encja 347

atrybuty 54bazodanowa 54KategoriaProduktu 358odwzorowanie w bazie danych 360Order_Details 362Orders 361Products 361Produkt 358

Entity 347Entity Framework 43 347

POCO 360potwierdzenie explicite 356technologie 349wersje 347

Entity Relationship Model 347Entity SQL 349ERM 347Event-based Asynchronous Pattern 465event-driven programming 17

Kup książkę Poleć książkę

530 ASPNET MVC

FFile Transfer Protocol 495filtry 127

akcji 127 139autoryzacyjne 127 144dynamiczne 395kolejno wykonywania 137

priorytety 138Log

metody 141LogAttribute

definicja klasy 140podstawowe atrybuty 128statyczne 395w asne 139wyj tkoacutew 128 144

niestandardowe 145wyniku 128 144

for 434foreach 51Forms Authentication Provider 149formularz

MasterDetail 315z podformularzem 315

funkcjadelay 217ListaPracownikoacutew 57Mid 390RolesIsUserInRole 217Today 390wyznaczaj ca tras 109zmienPrzynaleznoscDoGrupy 217 218

GGauge 383 403GDI 368graficzny interfejs u ytkownika 17 30Graphics Device Interface 368GridView 48grupy u ytkownikoacutew

autoryzacja 158GUI 17

Hhard-coding 167haszowanie 150helper methods 25html helper 455

Iidentyfikator

klienta 315rekordoacutew 315

IIS 121 149 495instalacja

ASPNET 445 498serwera w Windows 7 496serwera w Windows 8 496

mened er Windows 499uruchamianie aplikacji 503

serwer do rozwoju aplikacji 504information disclosure 147instancje aplikacji 465instancjonowanie modelu 39IntelliSense 247interfejs u ytkownika

przycisk umo liwiaj cy dodanie pracownika294

przycisk usuni cia wybranego rekordu 289Internet Information Services 121internetowe us ugi informacyjne 495in ynieria spo eczna 148Isolation Level 332izolacja 339 466

JJavaScript Object Notation 117jQM 457jQuery

autocomplete 116pliki roacuted owe 113

jQuery Mobile 457jQuery UI 367

wykorzystanie przyciskoacutew 284JSON 117

obiekt typu adres 118

KKey Performance Indicators 403klasa

AccountController 198ActionExecutingContext 143AdminController 212Ajax 94AjaxOptions 94

atrybuty 95AspNetHidden 442AssemblyName 170Assert 29

Kup książkę Poleć książkę

Skorowidz 531

AuthConfig 461BundleConfig 475Configuration 170ConfigurationManager 170ConfigurationSection 187 188ConnectionStringBuilder 345DpapiProtectedConfigurationProvider 187FiltryRaportuMacierzowego 397Form1 484FormsAuthentication 152Global 430HandleErrorInfo 133HtmlHelper 437HttpClient 483 486HttpResponseMessage 486kontekstu 362LogOnModel 198MarshallByRefObject 341Membership 152 198 211MvcApplication 430NorthwindContext 362ObjectContext 348ObjectQueryltTgt 348Order_Details 362Orders 361Osoba 228ParametryWatku 470Pracownik 484Products 361Produkt 230Raport 392RequestBrowser 460ResultExecutedContext 144ResultExecutingContext 144Roles 211RsaProtectedConfigurationProvider 187SQLConnCAS

definicja 340stowarzyszona z modelem 69SystemNetHttpFormattingJsonMediaTypeF

ormatter 491SystemTextRegularExpressions 74SystemWebSecurityRoles 159Task 465 472testuj ca 29Thread 465 469TransactionScope 327UrlRoutingModule 121ViewData 434 436 439WebApiConfig 478WebConfigurationManager 170Wpisy 427 436

klucze 237MAC 155obce 238podstawowe 238

kluczowe wska niki efektywno ci 403dynamiczna zmiana warto ci 404

Knockout 227wykorzystanie szablonoacutew JavaScript 230wywo anie skryptu 229

kodowanie danychprzekazywanych przez u ytkownikoacutew 186

komponentFormDanePracownika 489obiektu

PartialView 99typu ListBox 99

ReportViewer 368 375eksport danych 413nawigacja mi dzy stronami raportu 377

komponenty u ytkownika 30komunikaty o b dach 171

kod statusowy 174 175koncepcja programowania zdarzeniowego 16konfiguracja

po czenia z baz danych 241uprawnie puli aplikacji 454walidacji danych 66

konkurencyjno aplikacji 332kontekst wi zania 389kontrola wprowadzanych danych 263

metoda onColumnChanged 269wstrzymanie walidacji wiersza 267zako czenie edycji rekordu 267

wymuszenie 267kontroler 16 25

AccountController 195Admin 223AdminController 212aplikacja Kardy 63asynchroniczny 466

a zadania 472dane wyj ciowe 25domeny 150ErrorController 174Glosowania 103Home 182 224 228 231

Bezpiecze stwo 336filtr wyj tku 131

HomeController 184EksportDanych 415Northwind 245

interfejs Web API 477KsiegaGosciController 424

Kup książkę Poleć książkę

532 ASPNET MVC

kontrolerLista 93Mapa 33

autouzupe nianie 117modyfikacja 45

niedost pne metody publiczne 136obs uga POST 431panelu administracyjnego 212

zarz dzanie grupami u ytkownikoacutew 220Pracownicy 57 64PracownicyController

implementacja 481Produkty 351projektowanie 27przekazywanie danych do widoku

zmiany 439uwierzytelnienia 195

klasa 198model 196widoki 203

uzupe nienie o widok 31u ycie modelu odsy anego przez widok 440ValuesController 478weryfikacja funkcjonalno ci 28wi zanie adresu URL z akcj 430widoki 58

konwersja obrazu 278kreator

Add New Item 242Add View 59 302Application 162blokowania szczegoacute oacutew b doacutew 172dodanie u ytkownikoacutew 164grup u ytkownikoacutew 165Provider 162Publish Web 501Security 162tworzenia pracownika 59ustawie aplikacji 167widokoacutew 60wyboacuter dostawcoacutew us ug 178

kwerendy parametryczne 274 401

Llayout witryny 30LINQ

to Entities 349lista rekordoacutew 301

prezentacja 304logika

aplikacji 30bazodanowa 30biznesowa 44

a cuch QueryString 26

Mmaster 315mechanizm

automatycznych w a ciwo ci 57autoryzacji 157eksportu danych 413filtroacutew 127grupowania plikoacutew 475IntelliSense 119QuerynotString 117szyfruj cy 187transakcji 319 321

przelewy bankowe 326wyznaczania trasy przejzdu 34

meotdaInsert 299ProtectSection 191WersjonowanieDataRow

definicja widoku 265message authentication code 155metoda

on 262HtmlValidationSummary 204About 124AcceptChanges 255 263ActionLinkActionLink 61 63 353AddUserToRole 159akcji 25

parametry opcjonalne 27aktualizacja statystyk ankiety 105AktualizujZdjeciePracownika 288Application_AuthenticateRequest 108Application_BeginRequest 107 108Application_End 108Application_EndRequest 107Application_Error 108 172Application_Start 108 123 139 430asynchroniczna kontrolera 472AttachTo 356Authenticate 152AutoUzupelnienie 117

zapytanie LINQ 118BeginEdit 267BeginForm 47 94BeginTransaction 326 332CancelEdit 263ChangeObjectState 356

Kup książkę Poleć książkę

Skorowidz 533

ChangePassword 200hiper cze 208widok 206

ChangePasswordSuccesswidok 206

CreateNazwaEncji 354CreateRole 159CreateUser 153czyBazaDanychIstnieje 326daneDostawcyForm 262DBeginnotEdit 263Delete 270DeleteObject 357DeleteRole 159DeleteUser 153DeszyfrujPlikKonfiguracyjny 191DodajDostawce 255DodajElementDoListy 94 97 101DodajGrupe 223DodajKomentarz 185DodajPracownika 299 491DopiszDoPlikuLog 430Edit 356EdytujDaneDostawcy 261EdytujDanePracownika 493Eksportuj 418EmptyResult 26EndEdit 263EndForm 47ErrorCodeToString 201Fill 246FillByCityName 275FormatDateTime 390FormsAuthenticationSetCookie 199GenerujDane 468Get(int id) 478GetAllRoles 159GetAsync 486GetChildRecords 291GetSection 170GetSectionGroup 170GetUser 153GetUsersInRole 160globalna

aplikacji ASPNET 108Grupy 223HasVersion 263HtmlListBox 97HtmlRenderPartial 101HtmlValidationSummary 61HtmlHelperLabel 437ImiePierwszegoPracownika 246 247Include 475Index 47 79 97 101

kontrolera Mapa 34testowanie 28

IsAjaxRequest 101IsMatch 76IsNotNull 29IsUserInRole 159Label 35ListaDostawcow 252 255ListaPracownikow 248

hiper cze skojarzone 249LogOff 198LogOn 198Macierzowy 397mapowalna 26MetodaAsynchronicznaWatki 472ModelStateAddModelError 199MvcApplicationRegisterRoutes 430obs uga zapyta POST 431odczyt aktualnych bilansoacutew kont 323OdczytajStanyKont 326OnActionExecuted 143OnActionExecuting 127 143onColumnChanged 269OnResultExecuted 144OnResultExecuting 144onRowChanged 266onRowChanging 268OpenConfiguration 170otwarcie po czenia z baz danych 341OtworzPlikDanych 107Page_Load 399PartialViewResult 26PobierzDane 394

modyfikacja 401PobierzPlikLogu 141 143PobierzZdjecie 278PokazTrasy 51PokazWyniki 107pomocnicza 25 455

HtmlEncode 51wykorzystanie 456

PostAsJsonAsync 486PostAsXmlAsync 486PostAsync 486PostResolveRequestCache 121PracownicyWedlugMiast

przechowywanie warto ci filtru 285PutAsJsonAsync 493PutAsXmlAsync 493PutAsync 493ReadAsAsync 486ReadXml 107ReadXmlSchema 107RedirectFromLoginPage 152

Kup książkę Poleć książkę

534 ASPNET MVC

metodaRedirectResult 26RedirectToAction 26RedirectToLoginPage 152RedirectToRoute 26RedirectToRouteResult 26RefreshReport 384Register 199 478RegisterAuth 461 462RegisterBundles 475RegisterGlobalFilters 171RegisterRoutes 94 123RejectChanges 256 263rejestrowanie zdarze aplikacji 430RemoveUserFromRole 160Render 384 413 418RenderPartial 99ResponseWrite 223ResultExecuteResult 143RoleExists 159RolesIsUserInRole 216RolesRemoveUsersFromRole 223route 35RowsAdd 255RozpocznijEdycje 269

hiper cze uruchamiaj ce 267SaveChanges 354ScaffoldingMasterDetail 317Session_End 108Session_Start 108SetAuthCookie 152SetParameters 401 405SignOut 152SprawdzDopasowania 79SprawdzPoprawnoscDatyZatrudnienia 67SqlPermissionAdd 343SqlTransactionCommit 326SqlTransactionRollback 326StronaNieIstnieje 175submit 115SzyfrowaniePlikuKonfiguracyjnego 190szyfruj ca i deszyfruj ca 189SzyfrujPlikKonfiguracyjny 191TextBox 35ThreadSleep 469 472TransactionScopeComplete 329Transfer 36UpdateUser 153UstawParametryRaportu 399UsunGrupe 223UsunTrase 50 51UtworzPracownika 64Uzytkownicy 216ValidateUser 152 153

ValidationMessage 437ValidationMessageFor 61ValidationSummary 437ViewResult 26WebApiConfigRegister 478WersjonowanieDataRow 265

sparametryzowanie 266WpisyZapiszDoPlikuXml 430wykonywanie przelewoacutew 323WyswietlLog 141 142 143wyswietlMape 34 35WyswietlTrase 50

modyfikacja 135 166wyznaczTrase 35ZaktualizujWyniki 107Zapami tajNazw U ytkownika 432ZmienStanKont 328

Microsoft SQL Server 319sposoby uwierzytelnienia 344

MIME type 390minification 476minimalizacja 476model 16 39

APM 464ChangePasswordModel 196EAP 465integracja z elementami aplikacji 39LogOnModel 196obs uga plikoacutew XML 427przesy anie z kontrolera do widoku 432 435RegisterModel 196TAP 465

model binding 48model danych encji 348

dodawanie encji 353edycja encji 355kreator 348 349

czenie encji 359metody akcji 354opcje 361projektowanie relacji 43tworzenie 349

schematu bazy danych 357usuwanie encji 357wyboacuter tabel 350

model first 52model zwi zkoacutew encji 347models 16Model-View-Controller 15Model-View-ViewModel 227Model-Widok-Kontroler 15modu

UrlAuthorizationModule 157

Kup książkę Poleć książkę

Skorowidz 535

MVC 15a Web Forms 16 365 367 423

kod 442serwer internetowych us ug

informacyjnych 495wydajno 443wykorzystanie w projektach 444

ataki XSS 185autoryzacja 158 162bezpiecze stwo aplikacji 152buforowanie 134domy lne wzorce aplikacji 21kreator aplikacji 20mechanizm filtrowania 127Model Binder 355nazwa kontrolera 27obs uga interakcji klient-serwer 121parametry opcjonalne 27pobieranie parametru z adresu URL 26projektowanie aplikacji 18 52przetwarzanie dania aplikacji klienckiej 18sprawdzanie poprawno ci danych 68struktura modelu 39techniki walidacji danych 53utworzenie widoku 30uzupe nianie o komponenty graficzne 367walidacja 438wersja 4 449wyboacuter mechanizmu przetwarzaj cego widoki 21wzorce URL 122zbioacuter modeli szablonu aplikacji 196roacuted o danych 40

MVC4 449grupowanie i optymalizacja skryptoacutew 475kaskadowe arkuszye stylu 475przetwarzanie asynchroniczne 464przystosowanie do urz dze mobillnych 457testowanie aplikacji 457uwierzytelnianie 460

integracja z portalem Facebook 462wsparcie dla urz dze mobilnych 450zdalna autoryzacja 461

MVVM 227

Nnarz dzie

aspnet_regiis 187przetwarzanie tekstu 73

Northwindinstalacja 240kwerenda wybieraj ca 240pobieranie informacji o dostawcach 251

NuGET 483nullable-types 27

OOAuth 461obiekt

AppDomain 339 341Chart 406Command 239Connection 239 241

w a ciwo i 243ConnectionString 343

sposoby uwierzytelniania 344szyfrowanie informacji 335

DataAdapter 239DataGridView 491DataReader 239 273DataRow 255

kontrola wprowadzonych danych 263usuwanie rekordoacutew 270wersje 263wersja proponowana 265wersjonowanie 263w a ciwo ci 255

DataSet 239 244 345edycja rekordoacutew 257kreator konfiguracji TableAdapter 274modyfikacja danych 249tworzenie nowych rekordoacutew 250usuwanie rekordoacutew 271wstawianie rekordoacutew 251wymuszenie wi zoacutew integralno ci 292

DataTable 107DirectionsService 35dostawca 153FormCollection 47jqXHR 218List 389logiki biznesowej 348materializacja 348Matrix 390Membership 152MvcRouteHandler 121 122o okre lonym typie danych 244o silnej typizacji 244o s abej typizacji 247ObjectStateManager 348PartialView 98ReportViewer 368ReportViewerLocalReport 418Request 26 101 432Response 26Route 122ShippersRow 255SqlConnCAS 341SqlConnection 326

Kup książkę Poleć książkę

536 ASPNET MVC

obiektTableAdapter 239 244 273 274 345

edycja danych 279 286wstawianie danych 294

TransactionScope 329parametryzacja 331

typuadres 118AppDomain 466ConcurrentDictionary 479NorthwindDataSet 247ObjectSetltTgt 348Route 121Thread 466

UrlRoutingModule 121ViewBag 36

przekazywanie danych do widoku WebForms 376

ViewData 36 79 432Object Relational Mapping 347Object Services 348obs uga b doacutew

konfiguracja 132w czenie 129

odrzucenie informacji o transakcji 148od wie anie witryny

a fragment widoku 97aktualizacja zawarto ci 113cz ciowe 96

OnSuccess 96operator

await 474konkatenacji 382Top 411Top N 411

ORM 347

Pparametr

CountryName 401data 115filtr 117mapDivId 35maxIloscRekordow 117Order 137raportu 395scopeTimeOut 330

warto ci 330TransactionScopeOption

warto ci 329type 115

parametryzacja kwerend 274partial view 30

piaskownica 341Plain Old CLR Object 360platforma NET

us ugi uwierzytelniania 153plik

ascx 22aspx 22bmp 390cookie 151cookies 154 155cshtml 22 434css 475edmx 360jpg 390js 475konfiguracyjny

zabezpieczenie 187master 22png 390rdl 368rdlc 368tekstowy

wy wietlenie w przegl darce 143vbhtml 22

POCO 360pola klucza 237polecenie

HtmlEncode 187ScriptsRender 476StylesRender 476GET 18POST 18

po czenieze roacuted em danych 241

pomocnik HTML 455Portable Document Format 413po rednik 341poziom izolacji 332

Chaos 333konfiguracja 332ReadCommitted 333ReadUncommitted 333Serializable 333Snapshot 333Unspecified 333

poziom zaufania 339ograniczenie 340

proceduraajax 115AjaxBeginForm 96niemapowalna 26PartialView 26serialize 115

Kup książkę Poleć książkę

Skorowidz 537

proces 465programowanie

oparte na zdarzeniach 17zdarzeniowe 17

projekt aplikacji MVCankieta 102asynchroniczne przetwarzanie da HTTP 92Bezpiecze stwo 181 336

nawi zanie komunikacji ze roacuted emdanych 342

szyfrowanie pliku konfiguracyjnego 191dodawanie i wy wietlanie komentarzy 183domy lny 20EksportDanych 413Filtry 131formularz oceny 107Kadry

walidacja adresu e-mail 84Kardy 55KsiegaGosci_MVC3 424lista prezentuj ca dodawane elementy 97MojaNawigacja 18

blokowanie samodzielnego tworzeniakont 224

buforowanie danych 135implementacja warstwy dost pu 42instalacja na serwerze IIS 500komunikat powitalny 168komunikaty 110komunikaty o b dach 173mechanizm podpowiedzi 115model weryfikuj cy po wiadczenia

u ytkownikoacutew 196modele kontrolera uwierzytelnienia 196od wie enie widoku mapy 109struktura 21szablon 19szablon witryny 225trasowanie da HTTP 123uzupe nienie o baz danych 40uzupe nienie o walidacj danych 69widok b du 175zablokowanie nieautoryzowanego

dost pu 128zarz dzanie u ytkownikami 163zarz dzanie grupami u ytkownikoacutew 212zarz dzanie procesem logowania 198

MsAjax 92NorthwindMVC 241

lista rekordoacutew 301szablon witryny 250

POCO 361priorytety regu filtrowania 137

Raport 368szablon

mechanizmy uwierzytelnienia 156zarz dzanie grupami u ytkownikoacutew 159

Transakcje 319aktualizacja danych 328formularz aktualizacji 328szablon stron 320

uzupe nianie widokiem GridView 49WyrazeniaRegularne 76Zapytania_EF 349

projekt aplikacji MVC4AsynchronicznyKontroler 466

prezentacja danych 468AutoryzacjaOAuth 461implementacja serwisu sieciowego 479konfiguracja grupowania 475MobileMvc 450

testowanie 457pobranie zdj cia 452przygotowanie listy pracownikoacutew 452SerwisSieciowy 477

projekt aplikacji Windows Formsedycja danych 487KlientWebAPI 483tworzenie nowych pracownikoacutew 486

dania typuDELETE 493POST 486PUT 491

projektowaniekontrolera 27widoku 31

protokoacuteFTP 495Kerberos 150NTLM 150SMTP 495SSL 337

proxy 341przechowywanie

informacji o trasach 44wynikoacutew g osowania 107

przeci enie aplikacji 147przekazywanie

danych 44mi dzy widokiem a kontrolerem 36

parametroacutew do metod akcji kontrolera 26przestrze nazw

SystemThreading 465przyjazne linki 122publikowanie aplikacji 495 500

na serwerze IIS 497

Kup książkę Poleć książkę

538 ASPNET MVC

pule aplikacji 465 497konfiguracja 498Windows 7 499Windows 8 500

Rraporty

dane w postaci macierzowej 390data 386definicja

dynamiczna 418filtrowanie danych 394

na poziomie roacuted a 401 418filtry 395formaty prezentacji danych 379grupowanie danych 381hiper cza 387

nawigacyjne 376kolumny obliczeniowe 378konfiguracja

filtrowania dynamicznego 396typu 392roacuted a danych 368

kreator formu 382macierzowe 391numery stron 386obrazy 390parametry 383 394

konfiguracja 399paski narz dziowe 379pola

bazy danych 386formularza 398raportu 390

po czenie z aplikacj 368prezentowanie uk adu graficznego 383projektowanie 371

i prezentowanie 368przystosowanie strony do obs ugi raportoacutew

387renderowanie 368tryby definicji 368tworzenie

definicji lokalnej 368formu 378przy u yciu kreatora 372

uk ad 383wstawianie nag oacutewka i stopki 385wykresy 406wy wietlenie 375

Razor 21 30przetwarzanie definicji widoku 208

RDL 418rekordy

edycja 307lista 301tworzenie 311usuwanie 305

Relationship 347Report Definition Language 418Report Wizard 371repudiation 148request 442response 442responsywno 464rollback transaction 319routing 22 430routowanie 121

SSandBox 341scaffolding 301Secure Socket Layer 337sekcja

membership 178roleManager 179set 441

serwerSMTP

konfiguracja 171us ug informacyjnych 149

weryfikacja to samo ci u ytkownika 149Simple Mail Transfer Protocol 495s owo kluczowe

helper 455await 474using 47 329

spaghetti code 18spoofing 147SQL Server Reporting Services 367SSRS 367stan pola

typu CheckBox 269pobieranie 264

STRIDE 148strona startowa

MojaNawigacja 226strona wzorcowa 30

aplikacji Kadry 55referencja do bibliotek skryptoacutew 70

systemowy serwer us ug informacyjnych 121szyfrowanie po czenia 335

ze roacuted em danych 336

Kup książkę Poleć książkę

Skorowidz 539

Ttabela danych

Categories 418Customers 305deklaracje kaskadowych arkuszy stylu 275edycja

danych 279danych w wierszu 257rekordoacutew 307 310

Employees 240 288filtrowanie listy 275integralno danych 288Konta 321 326kwerenda wybieraj ca 240Orders 291 315OrdersDetails 307pobieranie fotografii 276pobranie danych z wykorzystaniem JScript 280prezentacja

danych 277 325informacji 252listy danych 248pierwszego rekordu 246rekordoacutew 317

przekazanie do widoku 248Shippers 251tworzenie rekordoacutew 311umieszczenie w bazie danych 321uruchomienie edycji danych 258usuwanie

danych 288rekordoacutew 271 305 306

widok b du 268wstawianie

danych 294rekordoacutew 251

wy wietlenie listykonfiguracja hiper cza 315

zako czenie edycji rekordu 267tablica asocjacyjna 479tablica bajtoacutew

konwersja do bitmapy 277tampering 147task pane 371Task-based Asynchronous Pattern 465TDD 15

test jednostkowy funkcjonalno ci kontrolera28

Test-Driven Development 15testowanie

aplikacji 29wzorcoacutew wyra e regularnych 76 78

Toolbox 274

transakcje 319automatyczne zarz dzanie 327otaczaj ce 329poziom izolacji 332tworzenie i r czna kontrola 319

trasowanie 121aplikacja 430blokowanie dost pu 124domy lne regu y 123Ksi gaGosci_MVC3 430w asne regu y 124

trasowanie adresoacutew URL 121T-SQL 319

czynno ci bazodanowe 345tworzenie

bazy danych 40interfejsu u ytkownika

jQM 459szablony 231wzorzec MVVM 227

u ytkownika 200kody b doacutew 201

widoku Index 231wzorcoacutew wyra e regularnych 76

typed DataSet 244typizacja

silna 46s aba 46

typy puste 27

Uujawnienie krytycznych informacji 147ukryte pola 441Uniform Resource Locator 18URL 18uruchomienie aplikacji 503us uga

AspNetSqlProvider 178ustawienia aplikacji 167

odczytanie z pliku konfiguracyjnego 169UTC 155uwierzytelnienie 149

centralny serwis 151certyfikaty 150formularze logowania 151

atrybuty elementu forms 154konfiguracja 153mechanizmy zintegrowane z ASPNET 149na bazie protoko u NTLM 150przekazywanie informacji 151proste 150skroacutecone 150us ugi systemu Windows 150

Kup książkę Poleć książkę

540 ASPNET MVC

Vvariable placeholders 122view engine 21views 16viewstate 442Visual Studio

kreator projektu 19Visual Studio Development Server 496VS 2012

instalacja 240kreator Add New Item 242

VSDS 496

Wwalidacja

adresue-mail 83URL 83WWW 84

danych 53a technologia Entity Framework 68konfiguracja 66modelu Pracownik 66odwo anenie do jQuery 61po stronie klienta 67wyra enia regularne 73

skrypty i style walidatoroacutew 438w asno ci klasy encji 435

w tek 465Web API 477

edycja danych 491klient 483konfiguracja interfejsu 478obs uga da typu POST 486pobranie danych z serwera 485serwis sieciowy 479usuwanie danych 493

web serwer 495Web Site Administration Tool 161

konfigurowanie uprawnie 165zarz dzanie

dostawcami us ug 178u ytkownikami 163

WebForms 17bezpiecze stwo aplikacji 152integracja komponentoacutew z MVC 367kontrolka Repeater 434obs uga wyj tkoacutew 172przetwarzanie dania aplikacji klienckiej 18separacja modelu 427weryfikacja poprawno ci projektu 434

weryfikacjakodu pocztowego 81to samo ci 151

widok 16 25 30aplikacji

MVC4 453przystosowanie do urz dze mobilnych

459Transakcje 326

cz ciowy 30dodawanie 31edycji klienta 307elementy 31formularz

dodawania wpisu 425logowania 203

kontroleraaplikacja Kadry 58panelu administracyjnego 222

kontrolera AdminController 213kontrolera Dopasowania 77kontrolera ErrorControler 174kontrolera Glosowania 103kontrolera Home 131 169 182 307

metodaWyswietlLog 142Raport 375Transakcje 320

kontrolera HomeController 246AsynchronicznyKontroler 468EksportDanych 417

kontrolera Lista 93kontrolera Mapa 33 34

formularz 70Trasa 50

kreatorakonta u ytkownika 205zmiany has a 206

listyklientoacutew 302pracownikoacutew 61wyznaczonych tras 48zamoacutewie 316

mapyod wie enie 108parametryzacja 34

mechanizm przetwarzania 30modyfikowanie formularza 437obs uga wyj tkoacutew 130Pracownicycshtml 453projektowanie 31transfer danych do kontrolera 36typu CRUD 52

Kup książkę Poleć książkę

Skorowidz 541

typu GridViewimplementacja 48

typy plikoacutew 30utworzenie 30uzupe nianie tre ci 33walidacja 435wi zanie z modelem 437wstawianie rekordoacutew 312wynikoacutew ankiety 105wy wietlanie wpisoacutew 432

wielodziedziczenie 360Windows Authentication Provider 149Windows Data Protection API 187Windows Forms

implementacja klienta 483Windows Live ID 149w a ciwo

ConnectionString 243IsMobileDevice 460ModelStateIsValid 47

wstawianie rekordoacutew 299wstrzykni cie kodu 181 185wykresy 406

konfiguracjaserii danych 407typu 407

pobranie danych roacuted owych 408wy czenie aplikacji 171wyra enia lambda 46wyra enia regularne 73

atrybuty modelu 84liczba wyst pie sk adnikoacutew 76wzorzec

adres URL 83imi e skie 81kod pocztowy 80tworzenie 76

znaki i cyfry 74znaki specjalne 74znaki w wyznaczonych miejscach a cucha 75

wzorzecodnajdywanie

znakoacutew i cyfr 74znakoacutew specjalnych 74znakoacutew w wyznaczonych miejscach

a cucha 75okre lanie

liczby wyst pie znakoacutew 76

XXSS 181

Zzabezpieczenia

aplikacji bazodanowych 335ataki XSS 187informacje o b dach 171kodu po redniego 338konfiguracja 161konfiguracja aplikacji

kreatory 162obs uga wyj tkoacutew 171pliku konfiguracyjnego 167 187przed atakami 148ustawienia aplikacji 167witryny 181zarz dzanie dostawcami us ug 178z o liwy kod 181

zarz dzanieu ytkownikami i grupami 211

dost p do panelu administracyjnego 216lista grup 221podzia na grupy 220pobieranie listy 213tworzenie nowej grupy 222zmiana przynale no ci do grupy 215

z o ono ci aplikacji 16zdarzenie

DataGridViewCellDoubleClick 491rejestrowanie 430

z o liwy koddzia anie 181

znacznikinput 288

znaki specjalneodnajdywanie 74

zwi zanie z modelem 48zwi zek 347

danie 25asynchroniczna obs uga 92 466 470

skrypty 318zadania 473

GET 64POST 64przetwarzanie 127zablokowanie obs ugi 124

Kup książkę Poleć książkę

Notatki

Kup książkę Poleć książkę

302 Cz II Technologie bazodanowe w aplikacjach internetowych

2 W Solution Explorer rozwi w ze Views a nast pnie kliknij prawymprzyciskiem myszy folder Home

3 Wybierz opcj Add a nast pnie Viewhellip z menu kontekstowego

4 W kreatorze Add View (rysunek 181)

Rysunek 181Widok kreatoraAdd View

a) Zmie nazw widoku na ScaffoldingList

b) Zaznacz pole wyboru Create a strongly-typed view

c) Z listy dost pnych modeli wybierz pozycj CustomersRow

d) Z listy rozwijanej Scaffold template wybierz List

e) Kliknij przycisk Add

5 Utworzony w ten sposoacuteb plik ScaffoldingListcshtml zmodyfikuj wed ugwzoru z listingu 181

Listing 181 Zmodyfikowany widok listy klientoacutew

model IEnumerableltNorthwindMVCModelsNorthwindDataSetCustomersRowgt

ViewBagTitle = ScaffoldingList

lth2gtScaffoldingListlth2gtlth2gtLista klientoacutewlth2gt

ltpgt HtmlActionLink(Create New Create) HtmlActionLink(Nowy rekord ScaffoldingCreate)ltpgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 303

lttablegt lttrgt ltthgt CustomerID ltthgt ltthgt CompanyName ltthgt ltthgt ContactName ltthgt ltthgt ContactTitle ltthgt ltthgt Address ltthgt ltthgt City ltthgt ltthgt Region ltthgt ltthgt PostalCode ltthgt ltthgt Country ltthgt ltthgt Phone ltthgt ltthgt Fax ltthgt ltthgt RowError ltthgt ltthgt HasErrors ltthgt ltthgtltthgt lttrgt

foreach (var item in Model) lttrgt lttdgt HtmlDisplayFor(modelItem =gt itemCustomerID) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCompanyName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactName) lttdgt lttdgt

Kup książkę Poleć książkę

304 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlDisplayFor(modelItem =gt itemContactTitle) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemAddress) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCity) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemRegion) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemPostalCode) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCountry) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemPhone) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemFax) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemRowError) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemHasErrors) lttdgt lttdgt HtmlActionLink(Edytuj ScaffoldingEdit new id = itemCustomerID ) | HtmlActionLink(Zamoacutewienia ScaffoldingMasterDetail new id = itemCustomerID ) | HtmlActionLink(Usu ScaffoldingDelete new id = itemCustomerID ) lttdgt lttrgt

lttablegt

6 W pliku HomeControllercs

a) Utwoacuterz pole klasyCustomersTableAdapter customersTableAdapter = new CustomersTableAdapter()

b) Dodaj polecenia z listingu 182

Listing 182 Prezentacja listy klientoacutew

private void PobierzDaneKlientow() northwindDataSetEnforceConstraints = false customersTableAdapterFill(northwindDataSetCustomers)

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 305

northwindDataSetEnforceConstraints = true

public ActionResult ScaffoldingList() PobierzDaneKlientow() return View(ScaffoldingList northwindDataSetCustomers)

7 Skompiluj i uruchom aplikacj

Po uruchomieniu aplikacji i klikni ciu hiper cza z etykiet Scaffolding zostanie wy-wietlona lista klientoacutew ktoacuterej posta powinna by analogiczna do przedstawionej na

rysunku 182 W kolejnym kroku zaimplementujemy mo liwo usuwania edycji oraztworzenia rekordoacutew w tabeli Customers

Rysunek 182 Lista klientoacutew

Usuwanie rekordoacutewW celu zaimplementowania mo liwo ci usuwania rekordoacutew z tabeli Customers wyko-naj nast puj ce czynno ci

1 W widoku projektowania obiektu NorthwindDataSet skonfiguruj relacjpomi dzy tabelami Orders i Customers wed ug wzoru z rysunku 183

2 Klas kontrolera Home uzupe nij o polecenia z listingu 183

Kup książkę Poleć książkę

306 Cz II Technologie bazodanowe w aplikacjach internetowych

Rysunek 183Konfiguracja wi zoacutewintegralno ci danych

Listing 183 Usuwanie rekordoacutew z tabeli Customers

private void AktualizujDaneKlientow() northwindDataSetEnforceConstraints = false

orderDetailsTableAdapterUpdate(northwindDataSetOrder_Details) ordersTableAdapterUpdate(northwindDataSetOrders) customersTableAdapterUpdate(northwindDataSetCustomers)

northwindDataSetEnforceConstraints = true

public ActionResult ScaffoldingDelete(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) if (cdr = null) Usuwanie rekordoacutew potomnych DataRow[] zamowienia = cdrGetChildRows(northwindDataSetRelations[FK_Orders_Customers])

foreach (DataRow dr in zamowienia) drDelete()

Usuwanie rekordu klienta cdrDelete()

Aktualizacja wszystkich powi zanych tabel AktualizujDaneKlientow()

return ScaffoldingList()

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 307

Podczas usuwania danego rekordu nale y zadba o rekordy z innych tabel ktoacutere sz nim zwi zane relacjami Wiersze tabeli Customers s skojarzone z rekordami z tabelOrders oraz OrdersDetails Z tego powodu aktualizuj zawarto ci tych tabel po usu-ni ciu wybranego rekordu klienta Osierocone rekordy z tabeli Orders s usuwane ra-zem z nim

Edycja rekordoacutewDo edycji rekordoacutew w tabeli Customers potrzebny b dzie odpowiedni widok ktoacuteryprzygotuj na bazie automatycznie wygenerowanego kodu roacuted owego

1 Zgodnie z przepisem z podrozdzia u bdquoLista rekordoacutewrdquo utwoacuterz widokkontrolera Home i skonfiguruj go wed ug wzoru z rysunku 184

Rysunek 184Konfiguracja widokuedycji klienta

2 Wygenerowany automatycznie plik widoku ScaffoldingEditcshtmlzmodyfikuj zgodnie z listingiem 184

Listing 184 Definicja widoku edycji klienta

model NorthwindMVCModelsNorthwindDataSetCustomersRow

ViewBagTitle = ScaffoldingEdit

lth2gtScaffoldingEditlth2gtlth2gtEdycja rekordulth2gt

ltscript src=UrlContent(~Scriptsjqueryvalidateminjs)type=textjavascriptgtltscriptgt

Kup książkę Poleć książkę

308 Cz II Technologie bazodanowe w aplikacjach internetowych

ltscript src=UrlContent(~Scriptsjqueryvalidateunobtrusiveminjs)type=textjavascriptgtltscriptgt

using (HtmlBeginForm(EdytujDaneKlienta Home new id = ModelCustomerID)) HtmlValidationSummary(true) ltfieldsetgt ltlegendgtDane klientaCustomersRowltlegendgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCustomerID) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCustomerID) HtmlValidationMessageFor(model =gt modelCustomerID) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCompanyName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCompanyName) HtmlValidationMessageFor(model =gt modelCompanyName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactName) HtmlValidationMessageFor(model =gt modelContactName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactTitle) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactTitle) HtmlValidationMessageFor(model =gt modelContactTitle) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelAddress) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelAddress) HtmlValidationMessageFor(model =gt modelAddress) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCity) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCity) HtmlValidationMessageFor(model =gt modelCity) ltdivgt

ltdiv class=editor-labelgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 309

HtmlLabelFor(model =gt modelRegion) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRegion) HtmlValidationMessageFor(model =gt modelRegion) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPostalCode) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPostalCode) HtmlValidationMessageFor(model =gt modelPostalCode) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCountry) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCountry) HtmlValidationMessageFor(model =gt modelCountry) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPhone) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPhone) HtmlValidationMessageFor(model =gt modelPhone) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelFax) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelFax) HtmlValidationMessageFor(model =gt modelFax) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRowError) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRowError) HtmlValidationMessageFor(model =gt modelRowError) ltdivgt

ltpgt ltinput type=submit value=SaveZapisz gt ltpgt ltfieldsetgt

ltdivgt HtmlActionLink(Back to List Index) HtmlActionLink(Powroacutet do listy rekordow ScaffoldingList)ltdivgt

Kup książkę Poleć książkę

310 Cz II Technologie bazodanowe w aplikacjach internetowych

3 W kontrolerze Home zdefiniuj metody z listingu 185

Listing 185 Edycja danych klienta

public ActionResult ScaffoldingEdit(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id)

if (cdr = null) return View(ScaffoldingEdit cdr) else return ScaffoldingList()

private void PrzepiszDaneKlienta(FormCollection daneKlienta refNorthwindDataSetCustomersRow rekordKlienta)

rekordKlientaCompanyName = daneKlienta[CompanyName]ToString() rekordKlientaContactName = daneKlienta[ContactName]ToString() rekordKlientaContactTitle = daneKlienta[ContactTitle]ToString() rekordKlientaAddress = daneKlienta[Address]ToString() rekordKlientaCity = daneKlienta[City]ToString()

public ActionResult EdytujDaneKlienta(FormCollection daneKlienta string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) if (cdr = null) PrzepiszDaneKlienta(daneKlienta ref cdr) AktualizujDaneKlientow() return ScaffoldingList()

Proces edycji rekordu w bazie danych za pomoc technologii ADONET opiera si nainformacjach zebranych w poprzednich rozdzia ach wi c nie b d go tu szczegoacute owoopisywa Celem tego przyk adu by o automatyczne wygenerowanie widoku umo li-wiaj cego edycj danych klienta przystosowanie go do w asnych potrzeb oraz inte-gracja z kontrolerem

Separacja modelu widoku i kontrolera umo liwia narz dziom Visual Studio 2012 auto-matyczne generowanie widoku na podstawie definicji modelu Jednak e jak pokaza-em w tym podrozdziale kreator tworzy widok ktoacutery umo liwia edycj wszystkich poacutel

rekordu (nawet identyfikatora) co sprawia e w wi kszo ci przypadkoacutew nale y sa-modzielnie edytowa plik widoku w celu przystosowania go do potrzeb projektowanejaplikacji Jednak jak pokazuje powy szy przyk ad nie jest to rzecz skomplikowan

Integracja widoku z kontrolerem polega na odpowiednim przekazywaniu informacjio edytowanym rekordzie oraz warto ci jego poacutel Do tego celu wykorzysta em identy-fikator klienta ktoacutery jednoznacznie identyfikuje rekordy w tabeli Customers

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 311

Przyk adowy wynik polece zaimplementowanych w tym podrozdziale przedstawiarysunek 185

Rysunek 185Edycja danych klienta

Tworzenie rekordoacutewW poprzednich podrozdzia ach zaimplementowa em trzy spo roacuted czterech podstawo-wych elementoacutew schematu CRUD czyli odczytywanie (R) aktualizacj (U) oraz usu-wanie (D) rekordoacutew Ostatnim elementem jest tworzenie (C) nowych rekordoacutew W celuzaimplementowania procedury uzupe niania tabeli Customers nowymi rekordami na-le y post pi nast puj co

1 W Solution Explorer rozwi w ze Views a nast pnie kliknij prawymprzyciskiem myszy folder Home

2 Wybierz opcj Add a nast pnie Viewhellip z menu kontekstowego

3 W kreatorze Add View

a) Zmie nazw widoku na ScaffoldingCreate

b) Zaznacz pole wyboru Create a strongly-typed view

c) Z listy dost pnych modeli wybierz pozycj CustomersRow

d) Z listy rozwijanej Scaffold template wybierz Create

e) Kliknij przycisk Add

4 Utworzony w ten sposoacuteb plik ScaffoldingCreatecshtml zmodyfikuj wed ugwzoru z listingu 186

Kup książkę Poleć książkę

312 Cz II Technologie bazodanowe w aplikacjach internetowych

Listing 186 Widok umo liwiaj cy wstawianie rekordoacutew do tabeli Customers

model NorthwindMVCModelsNorthwindDataSetCustomersRow

ViewBagTitle = ScaffoldingCreate

lth2gtScaffoldingCreatelth2gtlth2gtTworzenie rekordulth2gt

ltscript src=UrlContent(~Scriptsjqueryvalidateminjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~Scriptsjqueryvalidateunobtrusiveminjs)type=textjavascriptgtltscriptgt

using (HtmlBeginForm(DodajKlienta Home)) HtmlValidationSummary(true) ltfieldsetgt ltlegendgtDane klientaCustomersRowltlegendgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCustomerID) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCustomerID) HtmlValidationMessageFor(model =gt modelCustomerID) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCompanyName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCompanyName) HtmlValidationMessageFor(model =gt modelCompanyName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactName) HtmlValidationMessageFor(model =gt modelContactName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactTitle) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactTitle) HtmlValidationMessageFor(model =gt modelContactTitle) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelAddress) ltdivgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 313

ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelAddress) HtmlValidationMessageFor(model =gt modelAddress) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCity) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCity) HtmlValidationMessageFor(model =gt modelCity) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRegion) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRegion) HtmlValidationMessageFor(model =gt modelRegion) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPostalCode) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPostalCode) HtmlValidationMessageFor(model =gt modelPostalCode) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCountry) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCountry) HtmlValidationMessageFor(model =gt modelCountry) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPhone) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPhone) HtmlValidationMessageFor(model =gt modelPhone) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelFax) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelFax) HtmlValidationMessageFor(model =gt modelFax) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRowError) ltdivgt ltdiv class=editor-fieldgt

Kup książkę Poleć książkę

314 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlEditorFor(model =gt modelRowError) HtmlValidationMessageFor(model =gt modelRowError) ltdivgt

ltpgt ltinput type=submit value=CreateUtwoacuterz gt ltpgt ltfieldsetgt

ltdivgt HtmlActionLink(Back to List Index) HtmlActionLink(Powroacutet do listy ScaffoldingList)ltdivgt

5 Definicj kontrolera Home uzupe nij o polecenia z listingu 187

Listing 187 Wstawianie rekordoacutew do tabeli Customers

private char PobierzZnak(string lancuch int index) Random random = new Random() char znak

if (lancuchLength gt index) znak = lancuch[index] else znak = (char)randomNext(0 255)ToString()[0]

return znak

private void UtworzIdentyfikatorKlienta(ref NorthwindDataSetCustomersRowdaneKlienta)

string identyfikator = int indexZnaku = 0

identyfikator += PobierzZnak(daneKlientaCompanyName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactTitle indexZnaku) identyfikator += PobierzZnak(daneKlientaAddress indexZnaku) identyfikator += PobierzZnak(daneKlientaCity indexZnaku)

daneKlientaCustomerID = identyfikator

public ActionResult DodajKlienta(FormCollection daneKlienta string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersNewCustomersRow()

PrzepiszDaneKlienta(daneKlienta ref cdr)

UtworzIdentyfikatorKlienta(ref cdr)

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 315

customersTableAdapterInsert(cdrCustomerID cdrCompanyName cdrContactName cdrContactTitle cdrAddress cdrCity )

AktualizujDaneKlientow()

return ScaffoldingList()

Wstawienie rekordoacutew do tabeli Customers jest analogiczne do ich edycji Jedyn roacute -nic jest konieczno utworzenia identyfikatora klienta gdy nie jest on tworzonyautomatycznie jak to by o w przypadku tabeli Employees Identyfikatory rekordoacuteww tabeli Customers s pi cioelementowymi ci gami znakoacutew Tworz je na podstawiepierwszych liter poacutel CompanyName ContactName ContactTitle Address oraz City Je liw tych polach znajduj si puste ci gi to odpowiedni liter zast puj losowo wyge-nerowanym znakiem

W kolejnym podrozdziale poka w jaki sposoacuteb wy wietli informacje o rekordachpotomnych opieraj c si na relacji pomi dzy tabelami

Formularz z podformularzem(MasterDetail Form)

Jako podsumowanie tego rozdzia u utworz formularz z podformularzem tak zwanyformularz MasterDetail Jego dzia anie polega na tym e wy wietlanie danych od-bywa si na bazie co najmniej dwoacutech komponentoacutew (np blokoacutew czy tabel) oraz rela-cji mi dzy tabelami Pierwszy komponent prezentuje rekordy zawarte w tabeli g oacutew-nej (ang master) a drugi zawiera dane z tabeli podrz dnej (ang detail) Komponentzwi zany z tabel podrz dn ma zazwyczaj za zadanie prezentowa szczegoacute owe da-ne odpowiadaj ce rekordowi z tabeli nadrz dnej ktoacutery zosta wskazany przy pomocyzwi zanej z nim listy rekordoacutew Pola tych tabel musz by zatem uporz dkowane w takisposoacuteb aby pokazywa y informacj o tym samym rekordzie Uzyskuje si to przy po-mocy relacji mi dzy tabelami ktoacuterej zadaniem jest powi zanie informacji zawartychw bazie danych

W tym podrozdziale tabel nadrz dn b dzie tabela Customers a podrz dn OrdersPo klikni ciu na hiper cze z etykiet zamoacutewienia wy wietli si lista rekordoacutew tabeliOrders skojarzonych z danym klientem dania prezentacji zamoacutewie b d realizo-wane asynchronicznie

1 Plik widoku ScaffoldingListcshtml zmodyfikuj wed ug wzoru z listingu 188

Listing 188 Konfiguracja hiper cza umo liwiaj cego wy wietlenie listy zamoacutewie danego klienta

hellipforeach (var item in Model) lttrgt lttdgt

Kup książkę Poleć książkę

316 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlDisplayFor(modelItem =gt itemCustomerID) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCompanyName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactTitle) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemAddress) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCity) lttdgt lttdgt HtmlActionLink(Edytuj ScaffoldingEdit new id = itemCustomerID ) | AjaxActionLink(Zamoacutewienia ScaffoldingMasterDetail new id = itemCustomerID new AjaxOptions UpdateTargetId = zamowienia OnSuccess = documentgetElementById(zamowienia)scrollIntoView() ) | HtmlActionLink(Usu ScaffoldingDelete new id = itemCustomerID ) lttdgt lttrgtlttablegt

ltdiv id=zamowieniagtltdivgt

2 Utwoacuterz widok cz ciowy o nazwie ZamowieniaPartialViewcshtml i wstaww nim polecenia z listingu 189

Listing 189 Definicja widoku prezentuj cego list zamoacutewie

model IEnumerableltNorthwindMVCModelsNorthwindDataSetOrdersRowgt

if (Model == null) lth2gtBrak zamoacutewie lth2gtelse lth2gtLista zamoacutewie lth2gt

lttablegt lttrgt ltthgt OrderDate ltthgt ltthgt RequiredDate ltthgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 317

ltthgt ShippedDate ltthgt ltthgt ShipName ltthgt ltthgt ShipAddress ltthgt ltthgt ShipCity ltthgt ltthgtltthgt lttrgt

foreach (var item in Model) lttrgt lttdgt itemOrderDateToShortDateString() lttdgt lttdgt itemRequiredDateToShortDateString() lttdgt lttdgt itemShippedDateToShortDateString() lttdgt lttdgt itemShipName lttdgt lttdgt itemShipAddress lttdgt lttdgt itemShipCity lttdgt lttrgt lttablegt

3 Kontroler Home uzupe nij o metod ScaffoldingMasterDetail ktoacuterej definicjprzedstawi em na listingu 1810

Listing 1810 Pobranie i prezentacja rekordoacutew potomnych wybranego klienta

public ActionResult ScaffoldingMasterDetail(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) NorthwindDataSetOrdersRow[] zamowieniaPracownika = null

if (cdr = null) zamowieniaPracownika = (NorthwindDataSetOrdersRow[])cdrGetChildRows(FK_Orders_Customers)

Kup książkę Poleć książkę

318 Cz II Technologie bazodanowe w aplikacjach internetowych

if (RequestIsAjaxRequest()) return View(ZamowieniaPartialView zamowieniaPracownika) else return ScaffoldingList()

4 Sekcj ltheadgt pliku _Layoutcshtml uzupe nij o polecenia z listingu 1811

Listing 1811 Import skryptoacutew obs uguj cych dania asynchroniczne

ltscript src=UrlContent(~Scriptsjqueryunobtrusive-ajaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftAjaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftMvcAjaxjs)type=textjavascriptgtltscriptgt

5 Po skompilowaniu i uruchomieniu aplikacji powiniene uzyska efektanalogiczny do przedstawionego na rysunku 186

Rysunek 186 Przyk ad formularza typu MasterDetail

Kup książkę Poleć książkę

Skorowidz

AACL 149action methods 25ActiveX Data Object 238ADO 238ADONET 238

obiekty 238podstawy 237synchronizacja buforu ze roacuted em danych 273

adresy URLautoryzacja 157parametry 122trasowanie 121wzorce 122 123

agile programming 15AJAX 91

aktualizacja bloku witryny 113dodanie referencji do bibliotek JavaScript 94

akcjaCreate 354Delete 357Details 353dodaj ca nowy produkt 355Edit 356

aktualizacjazawarto ci elementu witryny 92

algorytmRSA 187

ambient transaction 329ankieta 102AntiXss 187aplikacje

bazodanowe 235bezpiecze stwo 335mechanizm transakcji 319scaffolding 301

synchronizacja ze roacuted em danych 273uwagi do projektowania 345

mo liwo edytowania wpisoacutew 441rejestrowanie zdarze i trasowanie 430

Application Domain 339architektura obiektowa 347ASPNET

konfiguracja aplikacji 161mechanizmy uwierzytelnienia 149metody globalne 107w czanie i wy czanie aplikacji 171

ASPNET AJAX 91ASPNET MVC 15

komponenty 16ASPX 21 30asynchroniczne przetwarzanie da http

jQuery 113Asynchronous JavaScript and XML 48Asynchronous Programming Model 464ataki

rodzaje 147SQL Injection 148 344wy udzenie informacji 148z o liwy kod 181

atrybut 347AcceptVerbs(HttpPost) 47AcceptVerbs(HttpVerbsPost) 65AssociationAttribute 58Authorize 200AuthorizeAttribute 128autoryzacyjny 145ConcurrencyCheckAttribute 58Confirm 95cookieless 154CustomValidationAttribute 58 66data-bind 230DataType 54 57

Kup książkę Poleć książkę

528 ASPNET MVC

atrybutDataTypeAttribute 58defaultRedirect 173defaultUrl 154DisplayAttribute 58DisplayColumnAttribute 58DisplayName 436EditableAttribute 58enableCrossAppRedirects 155EnumDataTypeAttribute 58FilterUIHintAttribute 58HandleError 138 175HandleErrorAttribute 129HttpMethod 95InsertionMode 95KeyAttribute 58klasy do konfiguracji metadanych 57 58LoadingElementDuration 110LoadingElementId 95 110Log

klasa implementuj ca 142loginUrl 154MetadataType 69MetadataTypeAttribute 58mode 153 173modelu 55name 155NonAction 26 135OnBegin 95OnComplete 95OnFailure 95OnSuccess 95 110OutputCache 133OutputCacheAttribute

parametry 134passwordFormat 156protection 155Range 54 66RangeAttribute 58redirectMode 173RegularExpressionAttribute 58Required 54 66RequiredAttribute 58RequireHttps 135requireSSL 155slidingExpiration 155StringLength 66StringLengthAttribute 58TestClass 29TestMethod 29ticketCompatibilityMode 155timeout 155TimestampAttribute 58UpdateTargetId 95

Url 95ValidateInput 185

atrybuty modeluwyra enia regularne 84

Attribute 347authentication ticket 151auto post back 217autocomplete textbox 115automatyczne uzupe nienie pola tekstowego 115autoryzacja 149 157

adresoacutew URL 157konfiguracja 157

grupy u ytkownikoacutew 158mechanizm filtrowania 158otwarta 460plikoacutew 157zdalna

powi zanie z portalem Facebook 461Azure 496

Bbazy danych 40 237

aktualizacja 41lista rekordoacutew 301Northwind 240

detale produktu 352dodawanie po cze 350pobieranie produktoacutew 351

po czenie ze roacuted em danych 241relacyjne 237schemat CRUD 301transakcje 319tworzenie 321

nowego rekordu 48schematu na bazie modelu encji 357

usuwanie danych 290regu y integralno ci 293

usuwanie powi zanych wierszyrekordy potomne 291

warstwa dost pu 42bezpiecze stwo

aplikacji internetowych 147ataki 147mechanizmy 149

biblioteka NETprogramowanie asynchroniczne 464

biblioteka skryptoacutewMapajs 32

bilet uwierzytelniaj cy 151b dy

dzia ania aplikacji 171strona b du 176tworzenie u ytkownika 202wprowadzenie z ego rekordu 268

Kup książkę Poleć książkę

Skorowidz 529

body 383buforowanie

danych ze roacutede zewn trznych 133bundling 475Business Intelligence 368

Ccallback 35CAS 151 338CDN 113Central Authentication Service 151centralna us uga uwierzytelnienia 151certyfikat 337CLR

procesy systemowe 466Code Access Security 338Confirm 96connString 341controllers 16Coordinated Universal Time 155Create Read Update Delete 301cross-site scripting 181CRUD 54 301Crystal Reports 368

Ddane

agregacja 378bezpo redni dost p do roacuted a 346eksport 413

do dokumentu tekstowego 419do PDF 420skoroszyt MS Excel 421tabele dynamiczne 418

integralno 288 319pomini cie sprawdzania 292regu y 291

modyfikacja 249platforma modelowania 347prezentacja

graficzna 406w postaci macierzowej 390

przekazywaniez formularza do roacuted a 46z kontrolera do widoku 437 439

serializacja i transfer struktur 117szyfrowanie 337typu

ActionResult 25walidacja 53weryfikacja 53wi zy integralno ci 306

wy wietlanie 315zabezpieczenie 338

Data Binding 389Data Definition Language 345Database Management System 237DBMS 237

wi zy integralno ci 238DDL 345denial of service 147detail 315Development Server 504DIE 53DisplayFormatAttribute 58document object model 92DOM 92domena aplikacji 339 466

instancja obiektoacutew 341tworzenie 339wspoacute dzielenie obiektu 341

dostawcy us ug 178dost p anonimowy 150DotNetOpenAuth 149DPAPI 187DRY 53dyrektywa

model 46

Eelement

customErrors 173success 115

elevation of privilege 147encapsulation 107encja 347

atrybuty 54bazodanowa 54KategoriaProduktu 358odwzorowanie w bazie danych 360Order_Details 362Orders 361Products 361Produkt 358

Entity 347Entity Framework 43 347

POCO 360potwierdzenie explicite 356technologie 349wersje 347

Entity Relationship Model 347Entity SQL 349ERM 347Event-based Asynchronous Pattern 465event-driven programming 17

Kup książkę Poleć książkę

530 ASPNET MVC

FFile Transfer Protocol 495filtry 127

akcji 127 139autoryzacyjne 127 144dynamiczne 395kolejno wykonywania 137

priorytety 138Log

metody 141LogAttribute

definicja klasy 140podstawowe atrybuty 128statyczne 395w asne 139wyj tkoacutew 128 144

niestandardowe 145wyniku 128 144

for 434foreach 51Forms Authentication Provider 149formularz

MasterDetail 315z podformularzem 315

funkcjadelay 217ListaPracownikoacutew 57Mid 390RolesIsUserInRole 217Today 390wyznaczaj ca tras 109zmienPrzynaleznoscDoGrupy 217 218

GGauge 383 403GDI 368graficzny interfejs u ytkownika 17 30Graphics Device Interface 368GridView 48grupy u ytkownikoacutew

autoryzacja 158GUI 17

Hhard-coding 167haszowanie 150helper methods 25html helper 455

Iidentyfikator

klienta 315rekordoacutew 315

IIS 121 149 495instalacja

ASPNET 445 498serwera w Windows 7 496serwera w Windows 8 496

mened er Windows 499uruchamianie aplikacji 503

serwer do rozwoju aplikacji 504information disclosure 147instancje aplikacji 465instancjonowanie modelu 39IntelliSense 247interfejs u ytkownika

przycisk umo liwiaj cy dodanie pracownika294

przycisk usuni cia wybranego rekordu 289Internet Information Services 121internetowe us ugi informacyjne 495in ynieria spo eczna 148Isolation Level 332izolacja 339 466

JJavaScript Object Notation 117jQM 457jQuery

autocomplete 116pliki roacuted owe 113

jQuery Mobile 457jQuery UI 367

wykorzystanie przyciskoacutew 284JSON 117

obiekt typu adres 118

KKey Performance Indicators 403klasa

AccountController 198ActionExecutingContext 143AdminController 212Ajax 94AjaxOptions 94

atrybuty 95AspNetHidden 442AssemblyName 170Assert 29

Kup książkę Poleć książkę

Skorowidz 531

AuthConfig 461BundleConfig 475Configuration 170ConfigurationManager 170ConfigurationSection 187 188ConnectionStringBuilder 345DpapiProtectedConfigurationProvider 187FiltryRaportuMacierzowego 397Form1 484FormsAuthentication 152Global 430HandleErrorInfo 133HtmlHelper 437HttpClient 483 486HttpResponseMessage 486kontekstu 362LogOnModel 198MarshallByRefObject 341Membership 152 198 211MvcApplication 430NorthwindContext 362ObjectContext 348ObjectQueryltTgt 348Order_Details 362Orders 361Osoba 228ParametryWatku 470Pracownik 484Products 361Produkt 230Raport 392RequestBrowser 460ResultExecutedContext 144ResultExecutingContext 144Roles 211RsaProtectedConfigurationProvider 187SQLConnCAS

definicja 340stowarzyszona z modelem 69SystemNetHttpFormattingJsonMediaTypeF

ormatter 491SystemTextRegularExpressions 74SystemWebSecurityRoles 159Task 465 472testuj ca 29Thread 465 469TransactionScope 327UrlRoutingModule 121ViewData 434 436 439WebApiConfig 478WebConfigurationManager 170Wpisy 427 436

klucze 237MAC 155obce 238podstawowe 238

kluczowe wska niki efektywno ci 403dynamiczna zmiana warto ci 404

Knockout 227wykorzystanie szablonoacutew JavaScript 230wywo anie skryptu 229

kodowanie danychprzekazywanych przez u ytkownikoacutew 186

komponentFormDanePracownika 489obiektu

PartialView 99typu ListBox 99

ReportViewer 368 375eksport danych 413nawigacja mi dzy stronami raportu 377

komponenty u ytkownika 30komunikaty o b dach 171

kod statusowy 174 175koncepcja programowania zdarzeniowego 16konfiguracja

po czenia z baz danych 241uprawnie puli aplikacji 454walidacji danych 66

konkurencyjno aplikacji 332kontekst wi zania 389kontrola wprowadzanych danych 263

metoda onColumnChanged 269wstrzymanie walidacji wiersza 267zako czenie edycji rekordu 267

wymuszenie 267kontroler 16 25

AccountController 195Admin 223AdminController 212aplikacja Kardy 63asynchroniczny 466

a zadania 472dane wyj ciowe 25domeny 150ErrorController 174Glosowania 103Home 182 224 228 231

Bezpiecze stwo 336filtr wyj tku 131

HomeController 184EksportDanych 415Northwind 245

interfejs Web API 477KsiegaGosciController 424

Kup książkę Poleć książkę

532 ASPNET MVC

kontrolerLista 93Mapa 33

autouzupe nianie 117modyfikacja 45

niedost pne metody publiczne 136obs uga POST 431panelu administracyjnego 212

zarz dzanie grupami u ytkownikoacutew 220Pracownicy 57 64PracownicyController

implementacja 481Produkty 351projektowanie 27przekazywanie danych do widoku

zmiany 439uwierzytelnienia 195

klasa 198model 196widoki 203

uzupe nienie o widok 31u ycie modelu odsy anego przez widok 440ValuesController 478weryfikacja funkcjonalno ci 28wi zanie adresu URL z akcj 430widoki 58

konwersja obrazu 278kreator

Add New Item 242Add View 59 302Application 162blokowania szczegoacute oacutew b doacutew 172dodanie u ytkownikoacutew 164grup u ytkownikoacutew 165Provider 162Publish Web 501Security 162tworzenia pracownika 59ustawie aplikacji 167widokoacutew 60wyboacuter dostawcoacutew us ug 178

kwerendy parametryczne 274 401

Llayout witryny 30LINQ

to Entities 349lista rekordoacutew 301

prezentacja 304logika

aplikacji 30bazodanowa 30biznesowa 44

a cuch QueryString 26

Mmaster 315mechanizm

automatycznych w a ciwo ci 57autoryzacji 157eksportu danych 413filtroacutew 127grupowania plikoacutew 475IntelliSense 119QuerynotString 117szyfruj cy 187transakcji 319 321

przelewy bankowe 326wyznaczania trasy przejzdu 34

meotdaInsert 299ProtectSection 191WersjonowanieDataRow

definicja widoku 265message authentication code 155metoda

on 262HtmlValidationSummary 204About 124AcceptChanges 255 263ActionLinkActionLink 61 63 353AddUserToRole 159akcji 25

parametry opcjonalne 27aktualizacja statystyk ankiety 105AktualizujZdjeciePracownika 288Application_AuthenticateRequest 108Application_BeginRequest 107 108Application_End 108Application_EndRequest 107Application_Error 108 172Application_Start 108 123 139 430asynchroniczna kontrolera 472AttachTo 356Authenticate 152AutoUzupelnienie 117

zapytanie LINQ 118BeginEdit 267BeginForm 47 94BeginTransaction 326 332CancelEdit 263ChangeObjectState 356

Kup książkę Poleć książkę

Skorowidz 533

ChangePassword 200hiper cze 208widok 206

ChangePasswordSuccesswidok 206

CreateNazwaEncji 354CreateRole 159CreateUser 153czyBazaDanychIstnieje 326daneDostawcyForm 262DBeginnotEdit 263Delete 270DeleteObject 357DeleteRole 159DeleteUser 153DeszyfrujPlikKonfiguracyjny 191DodajDostawce 255DodajElementDoListy 94 97 101DodajGrupe 223DodajKomentarz 185DodajPracownika 299 491DopiszDoPlikuLog 430Edit 356EdytujDaneDostawcy 261EdytujDanePracownika 493Eksportuj 418EmptyResult 26EndEdit 263EndForm 47ErrorCodeToString 201Fill 246FillByCityName 275FormatDateTime 390FormsAuthenticationSetCookie 199GenerujDane 468Get(int id) 478GetAllRoles 159GetAsync 486GetChildRecords 291GetSection 170GetSectionGroup 170GetUser 153GetUsersInRole 160globalna

aplikacji ASPNET 108Grupy 223HasVersion 263HtmlListBox 97HtmlRenderPartial 101HtmlValidationSummary 61HtmlHelperLabel 437ImiePierwszegoPracownika 246 247Include 475Index 47 79 97 101

kontrolera Mapa 34testowanie 28

IsAjaxRequest 101IsMatch 76IsNotNull 29IsUserInRole 159Label 35ListaDostawcow 252 255ListaPracownikow 248

hiper cze skojarzone 249LogOff 198LogOn 198Macierzowy 397mapowalna 26MetodaAsynchronicznaWatki 472ModelStateAddModelError 199MvcApplicationRegisterRoutes 430obs uga zapyta POST 431odczyt aktualnych bilansoacutew kont 323OdczytajStanyKont 326OnActionExecuted 143OnActionExecuting 127 143onColumnChanged 269OnResultExecuted 144OnResultExecuting 144onRowChanged 266onRowChanging 268OpenConfiguration 170otwarcie po czenia z baz danych 341OtworzPlikDanych 107Page_Load 399PartialViewResult 26PobierzDane 394

modyfikacja 401PobierzPlikLogu 141 143PobierzZdjecie 278PokazTrasy 51PokazWyniki 107pomocnicza 25 455

HtmlEncode 51wykorzystanie 456

PostAsJsonAsync 486PostAsXmlAsync 486PostAsync 486PostResolveRequestCache 121PracownicyWedlugMiast

przechowywanie warto ci filtru 285PutAsJsonAsync 493PutAsXmlAsync 493PutAsync 493ReadAsAsync 486ReadXml 107ReadXmlSchema 107RedirectFromLoginPage 152

Kup książkę Poleć książkę

534 ASPNET MVC

metodaRedirectResult 26RedirectToAction 26RedirectToLoginPage 152RedirectToRoute 26RedirectToRouteResult 26RefreshReport 384Register 199 478RegisterAuth 461 462RegisterBundles 475RegisterGlobalFilters 171RegisterRoutes 94 123RejectChanges 256 263rejestrowanie zdarze aplikacji 430RemoveUserFromRole 160Render 384 413 418RenderPartial 99ResponseWrite 223ResultExecuteResult 143RoleExists 159RolesIsUserInRole 216RolesRemoveUsersFromRole 223route 35RowsAdd 255RozpocznijEdycje 269

hiper cze uruchamiaj ce 267SaveChanges 354ScaffoldingMasterDetail 317Session_End 108Session_Start 108SetAuthCookie 152SetParameters 401 405SignOut 152SprawdzDopasowania 79SprawdzPoprawnoscDatyZatrudnienia 67SqlPermissionAdd 343SqlTransactionCommit 326SqlTransactionRollback 326StronaNieIstnieje 175submit 115SzyfrowaniePlikuKonfiguracyjnego 190szyfruj ca i deszyfruj ca 189SzyfrujPlikKonfiguracyjny 191TextBox 35ThreadSleep 469 472TransactionScopeComplete 329Transfer 36UpdateUser 153UstawParametryRaportu 399UsunGrupe 223UsunTrase 50 51UtworzPracownika 64Uzytkownicy 216ValidateUser 152 153

ValidationMessage 437ValidationMessageFor 61ValidationSummary 437ViewResult 26WebApiConfigRegister 478WersjonowanieDataRow 265

sparametryzowanie 266WpisyZapiszDoPlikuXml 430wykonywanie przelewoacutew 323WyswietlLog 141 142 143wyswietlMape 34 35WyswietlTrase 50

modyfikacja 135 166wyznaczTrase 35ZaktualizujWyniki 107Zapami tajNazw U ytkownika 432ZmienStanKont 328

Microsoft SQL Server 319sposoby uwierzytelnienia 344

MIME type 390minification 476minimalizacja 476model 16 39

APM 464ChangePasswordModel 196EAP 465integracja z elementami aplikacji 39LogOnModel 196obs uga plikoacutew XML 427przesy anie z kontrolera do widoku 432 435RegisterModel 196TAP 465

model binding 48model danych encji 348

dodawanie encji 353edycja encji 355kreator 348 349

czenie encji 359metody akcji 354opcje 361projektowanie relacji 43tworzenie 349

schematu bazy danych 357usuwanie encji 357wyboacuter tabel 350

model first 52model zwi zkoacutew encji 347models 16Model-View-Controller 15Model-View-ViewModel 227Model-Widok-Kontroler 15modu

UrlAuthorizationModule 157

Kup książkę Poleć książkę

Skorowidz 535

MVC 15a Web Forms 16 365 367 423

kod 442serwer internetowych us ug

informacyjnych 495wydajno 443wykorzystanie w projektach 444

ataki XSS 185autoryzacja 158 162bezpiecze stwo aplikacji 152buforowanie 134domy lne wzorce aplikacji 21kreator aplikacji 20mechanizm filtrowania 127Model Binder 355nazwa kontrolera 27obs uga interakcji klient-serwer 121parametry opcjonalne 27pobieranie parametru z adresu URL 26projektowanie aplikacji 18 52przetwarzanie dania aplikacji klienckiej 18sprawdzanie poprawno ci danych 68struktura modelu 39techniki walidacji danych 53utworzenie widoku 30uzupe nianie o komponenty graficzne 367walidacja 438wersja 4 449wyboacuter mechanizmu przetwarzaj cego widoki 21wzorce URL 122zbioacuter modeli szablonu aplikacji 196roacuted o danych 40

MVC4 449grupowanie i optymalizacja skryptoacutew 475kaskadowe arkuszye stylu 475przetwarzanie asynchroniczne 464przystosowanie do urz dze mobillnych 457testowanie aplikacji 457uwierzytelnianie 460

integracja z portalem Facebook 462wsparcie dla urz dze mobilnych 450zdalna autoryzacja 461

MVVM 227

Nnarz dzie

aspnet_regiis 187przetwarzanie tekstu 73

Northwindinstalacja 240kwerenda wybieraj ca 240pobieranie informacji o dostawcach 251

NuGET 483nullable-types 27

OOAuth 461obiekt

AppDomain 339 341Chart 406Command 239Connection 239 241

w a ciwo i 243ConnectionString 343

sposoby uwierzytelniania 344szyfrowanie informacji 335

DataAdapter 239DataGridView 491DataReader 239 273DataRow 255

kontrola wprowadzonych danych 263usuwanie rekordoacutew 270wersje 263wersja proponowana 265wersjonowanie 263w a ciwo ci 255

DataSet 239 244 345edycja rekordoacutew 257kreator konfiguracji TableAdapter 274modyfikacja danych 249tworzenie nowych rekordoacutew 250usuwanie rekordoacutew 271wstawianie rekordoacutew 251wymuszenie wi zoacutew integralno ci 292

DataTable 107DirectionsService 35dostawca 153FormCollection 47jqXHR 218List 389logiki biznesowej 348materializacja 348Matrix 390Membership 152MvcRouteHandler 121 122o okre lonym typie danych 244o silnej typizacji 244o s abej typizacji 247ObjectStateManager 348PartialView 98ReportViewer 368ReportViewerLocalReport 418Request 26 101 432Response 26Route 122ShippersRow 255SqlConnCAS 341SqlConnection 326

Kup książkę Poleć książkę

536 ASPNET MVC

obiektTableAdapter 239 244 273 274 345

edycja danych 279 286wstawianie danych 294

TransactionScope 329parametryzacja 331

typuadres 118AppDomain 466ConcurrentDictionary 479NorthwindDataSet 247ObjectSetltTgt 348Route 121Thread 466

UrlRoutingModule 121ViewBag 36

przekazywanie danych do widoku WebForms 376

ViewData 36 79 432Object Relational Mapping 347Object Services 348obs uga b doacutew

konfiguracja 132w czenie 129

odrzucenie informacji o transakcji 148od wie anie witryny

a fragment widoku 97aktualizacja zawarto ci 113cz ciowe 96

OnSuccess 96operator

await 474konkatenacji 382Top 411Top N 411

ORM 347

Pparametr

CountryName 401data 115filtr 117mapDivId 35maxIloscRekordow 117Order 137raportu 395scopeTimeOut 330

warto ci 330TransactionScopeOption

warto ci 329type 115

parametryzacja kwerend 274partial view 30

piaskownica 341Plain Old CLR Object 360platforma NET

us ugi uwierzytelniania 153plik

ascx 22aspx 22bmp 390cookie 151cookies 154 155cshtml 22 434css 475edmx 360jpg 390js 475konfiguracyjny

zabezpieczenie 187master 22png 390rdl 368rdlc 368tekstowy

wy wietlenie w przegl darce 143vbhtml 22

POCO 360pola klucza 237polecenie

HtmlEncode 187ScriptsRender 476StylesRender 476GET 18POST 18

po czenieze roacuted em danych 241

pomocnik HTML 455Portable Document Format 413po rednik 341poziom izolacji 332

Chaos 333konfiguracja 332ReadCommitted 333ReadUncommitted 333Serializable 333Snapshot 333Unspecified 333

poziom zaufania 339ograniczenie 340

proceduraajax 115AjaxBeginForm 96niemapowalna 26PartialView 26serialize 115

Kup książkę Poleć książkę

Skorowidz 537

proces 465programowanie

oparte na zdarzeniach 17zdarzeniowe 17

projekt aplikacji MVCankieta 102asynchroniczne przetwarzanie da HTTP 92Bezpiecze stwo 181 336

nawi zanie komunikacji ze roacuted emdanych 342

szyfrowanie pliku konfiguracyjnego 191dodawanie i wy wietlanie komentarzy 183domy lny 20EksportDanych 413Filtry 131formularz oceny 107Kadry

walidacja adresu e-mail 84Kardy 55KsiegaGosci_MVC3 424lista prezentuj ca dodawane elementy 97MojaNawigacja 18

blokowanie samodzielnego tworzeniakont 224

buforowanie danych 135implementacja warstwy dost pu 42instalacja na serwerze IIS 500komunikat powitalny 168komunikaty 110komunikaty o b dach 173mechanizm podpowiedzi 115model weryfikuj cy po wiadczenia

u ytkownikoacutew 196modele kontrolera uwierzytelnienia 196od wie enie widoku mapy 109struktura 21szablon 19szablon witryny 225trasowanie da HTTP 123uzupe nienie o baz danych 40uzupe nienie o walidacj danych 69widok b du 175zablokowanie nieautoryzowanego

dost pu 128zarz dzanie u ytkownikami 163zarz dzanie grupami u ytkownikoacutew 212zarz dzanie procesem logowania 198

MsAjax 92NorthwindMVC 241

lista rekordoacutew 301szablon witryny 250

POCO 361priorytety regu filtrowania 137

Raport 368szablon

mechanizmy uwierzytelnienia 156zarz dzanie grupami u ytkownikoacutew 159

Transakcje 319aktualizacja danych 328formularz aktualizacji 328szablon stron 320

uzupe nianie widokiem GridView 49WyrazeniaRegularne 76Zapytania_EF 349

projekt aplikacji MVC4AsynchronicznyKontroler 466

prezentacja danych 468AutoryzacjaOAuth 461implementacja serwisu sieciowego 479konfiguracja grupowania 475MobileMvc 450

testowanie 457pobranie zdj cia 452przygotowanie listy pracownikoacutew 452SerwisSieciowy 477

projekt aplikacji Windows Formsedycja danych 487KlientWebAPI 483tworzenie nowych pracownikoacutew 486

dania typuDELETE 493POST 486PUT 491

projektowaniekontrolera 27widoku 31

protokoacuteFTP 495Kerberos 150NTLM 150SMTP 495SSL 337

proxy 341przechowywanie

informacji o trasach 44wynikoacutew g osowania 107

przeci enie aplikacji 147przekazywanie

danych 44mi dzy widokiem a kontrolerem 36

parametroacutew do metod akcji kontrolera 26przestrze nazw

SystemThreading 465przyjazne linki 122publikowanie aplikacji 495 500

na serwerze IIS 497

Kup książkę Poleć książkę

538 ASPNET MVC

pule aplikacji 465 497konfiguracja 498Windows 7 499Windows 8 500

Rraporty

dane w postaci macierzowej 390data 386definicja

dynamiczna 418filtrowanie danych 394

na poziomie roacuted a 401 418filtry 395formaty prezentacji danych 379grupowanie danych 381hiper cza 387

nawigacyjne 376kolumny obliczeniowe 378konfiguracja

filtrowania dynamicznego 396typu 392roacuted a danych 368

kreator formu 382macierzowe 391numery stron 386obrazy 390parametry 383 394

konfiguracja 399paski narz dziowe 379pola

bazy danych 386formularza 398raportu 390

po czenie z aplikacj 368prezentowanie uk adu graficznego 383projektowanie 371

i prezentowanie 368przystosowanie strony do obs ugi raportoacutew

387renderowanie 368tryby definicji 368tworzenie

definicji lokalnej 368formu 378przy u yciu kreatora 372

uk ad 383wstawianie nag oacutewka i stopki 385wykresy 406wy wietlenie 375

Razor 21 30przetwarzanie definicji widoku 208

RDL 418rekordy

edycja 307lista 301tworzenie 311usuwanie 305

Relationship 347Report Definition Language 418Report Wizard 371repudiation 148request 442response 442responsywno 464rollback transaction 319routing 22 430routowanie 121

SSandBox 341scaffolding 301Secure Socket Layer 337sekcja

membership 178roleManager 179set 441

serwerSMTP

konfiguracja 171us ug informacyjnych 149

weryfikacja to samo ci u ytkownika 149Simple Mail Transfer Protocol 495s owo kluczowe

helper 455await 474using 47 329

spaghetti code 18spoofing 147SQL Server Reporting Services 367SSRS 367stan pola

typu CheckBox 269pobieranie 264

STRIDE 148strona startowa

MojaNawigacja 226strona wzorcowa 30

aplikacji Kadry 55referencja do bibliotek skryptoacutew 70

systemowy serwer us ug informacyjnych 121szyfrowanie po czenia 335

ze roacuted em danych 336

Kup książkę Poleć książkę

Skorowidz 539

Ttabela danych

Categories 418Customers 305deklaracje kaskadowych arkuszy stylu 275edycja

danych 279danych w wierszu 257rekordoacutew 307 310

Employees 240 288filtrowanie listy 275integralno danych 288Konta 321 326kwerenda wybieraj ca 240Orders 291 315OrdersDetails 307pobieranie fotografii 276pobranie danych z wykorzystaniem JScript 280prezentacja

danych 277 325informacji 252listy danych 248pierwszego rekordu 246rekordoacutew 317

przekazanie do widoku 248Shippers 251tworzenie rekordoacutew 311umieszczenie w bazie danych 321uruchomienie edycji danych 258usuwanie

danych 288rekordoacutew 271 305 306

widok b du 268wstawianie

danych 294rekordoacutew 251

wy wietlenie listykonfiguracja hiper cza 315

zako czenie edycji rekordu 267tablica asocjacyjna 479tablica bajtoacutew

konwersja do bitmapy 277tampering 147task pane 371Task-based Asynchronous Pattern 465TDD 15

test jednostkowy funkcjonalno ci kontrolera28

Test-Driven Development 15testowanie

aplikacji 29wzorcoacutew wyra e regularnych 76 78

Toolbox 274

transakcje 319automatyczne zarz dzanie 327otaczaj ce 329poziom izolacji 332tworzenie i r czna kontrola 319

trasowanie 121aplikacja 430blokowanie dost pu 124domy lne regu y 123Ksi gaGosci_MVC3 430w asne regu y 124

trasowanie adresoacutew URL 121T-SQL 319

czynno ci bazodanowe 345tworzenie

bazy danych 40interfejsu u ytkownika

jQM 459szablony 231wzorzec MVVM 227

u ytkownika 200kody b doacutew 201

widoku Index 231wzorcoacutew wyra e regularnych 76

typed DataSet 244typizacja

silna 46s aba 46

typy puste 27

Uujawnienie krytycznych informacji 147ukryte pola 441Uniform Resource Locator 18URL 18uruchomienie aplikacji 503us uga

AspNetSqlProvider 178ustawienia aplikacji 167

odczytanie z pliku konfiguracyjnego 169UTC 155uwierzytelnienie 149

centralny serwis 151certyfikaty 150formularze logowania 151

atrybuty elementu forms 154konfiguracja 153mechanizmy zintegrowane z ASPNET 149na bazie protoko u NTLM 150przekazywanie informacji 151proste 150skroacutecone 150us ugi systemu Windows 150

Kup książkę Poleć książkę

540 ASPNET MVC

Vvariable placeholders 122view engine 21views 16viewstate 442Visual Studio

kreator projektu 19Visual Studio Development Server 496VS 2012

instalacja 240kreator Add New Item 242

VSDS 496

Wwalidacja

adresue-mail 83URL 83WWW 84

danych 53a technologia Entity Framework 68konfiguracja 66modelu Pracownik 66odwo anenie do jQuery 61po stronie klienta 67wyra enia regularne 73

skrypty i style walidatoroacutew 438w asno ci klasy encji 435

w tek 465Web API 477

edycja danych 491klient 483konfiguracja interfejsu 478obs uga da typu POST 486pobranie danych z serwera 485serwis sieciowy 479usuwanie danych 493

web serwer 495Web Site Administration Tool 161

konfigurowanie uprawnie 165zarz dzanie

dostawcami us ug 178u ytkownikami 163

WebForms 17bezpiecze stwo aplikacji 152integracja komponentoacutew z MVC 367kontrolka Repeater 434obs uga wyj tkoacutew 172przetwarzanie dania aplikacji klienckiej 18separacja modelu 427weryfikacja poprawno ci projektu 434

weryfikacjakodu pocztowego 81to samo ci 151

widok 16 25 30aplikacji

MVC4 453przystosowanie do urz dze mobilnych

459Transakcje 326

cz ciowy 30dodawanie 31edycji klienta 307elementy 31formularz

dodawania wpisu 425logowania 203

kontroleraaplikacja Kadry 58panelu administracyjnego 222

kontrolera AdminController 213kontrolera Dopasowania 77kontrolera ErrorControler 174kontrolera Glosowania 103kontrolera Home 131 169 182 307

metodaWyswietlLog 142Raport 375Transakcje 320

kontrolera HomeController 246AsynchronicznyKontroler 468EksportDanych 417

kontrolera Lista 93kontrolera Mapa 33 34

formularz 70Trasa 50

kreatorakonta u ytkownika 205zmiany has a 206

listyklientoacutew 302pracownikoacutew 61wyznaczonych tras 48zamoacutewie 316

mapyod wie enie 108parametryzacja 34

mechanizm przetwarzania 30modyfikowanie formularza 437obs uga wyj tkoacutew 130Pracownicycshtml 453projektowanie 31transfer danych do kontrolera 36typu CRUD 52

Kup książkę Poleć książkę

Skorowidz 541

typu GridViewimplementacja 48

typy plikoacutew 30utworzenie 30uzupe nianie tre ci 33walidacja 435wi zanie z modelem 437wstawianie rekordoacutew 312wynikoacutew ankiety 105wy wietlanie wpisoacutew 432

wielodziedziczenie 360Windows Authentication Provider 149Windows Data Protection API 187Windows Forms

implementacja klienta 483Windows Live ID 149w a ciwo

ConnectionString 243IsMobileDevice 460ModelStateIsValid 47

wstawianie rekordoacutew 299wstrzykni cie kodu 181 185wykresy 406

konfiguracjaserii danych 407typu 407

pobranie danych roacuted owych 408wy czenie aplikacji 171wyra enia lambda 46wyra enia regularne 73

atrybuty modelu 84liczba wyst pie sk adnikoacutew 76wzorzec

adres URL 83imi e skie 81kod pocztowy 80tworzenie 76

znaki i cyfry 74znaki specjalne 74znaki w wyznaczonych miejscach a cucha 75

wzorzecodnajdywanie

znakoacutew i cyfr 74znakoacutew specjalnych 74znakoacutew w wyznaczonych miejscach

a cucha 75okre lanie

liczby wyst pie znakoacutew 76

XXSS 181

Zzabezpieczenia

aplikacji bazodanowych 335ataki XSS 187informacje o b dach 171kodu po redniego 338konfiguracja 161konfiguracja aplikacji

kreatory 162obs uga wyj tkoacutew 171pliku konfiguracyjnego 167 187przed atakami 148ustawienia aplikacji 167witryny 181zarz dzanie dostawcami us ug 178z o liwy kod 181

zarz dzanieu ytkownikami i grupami 211

dost p do panelu administracyjnego 216lista grup 221podzia na grupy 220pobieranie listy 213tworzenie nowej grupy 222zmiana przynale no ci do grupy 215

z o ono ci aplikacji 16zdarzenie

DataGridViewCellDoubleClick 491rejestrowanie 430

z o liwy koddzia anie 181

znacznikinput 288

znaki specjalneodnajdywanie 74

zwi zanie z modelem 48zwi zek 347

danie 25asynchroniczna obs uga 92 466 470

skrypty 318zadania 473

GET 64POST 64przetwarzanie 127zablokowanie obs ugi 124

Kup książkę Poleć książkę

Notatki

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 303

lttablegt lttrgt ltthgt CustomerID ltthgt ltthgt CompanyName ltthgt ltthgt ContactName ltthgt ltthgt ContactTitle ltthgt ltthgt Address ltthgt ltthgt City ltthgt ltthgt Region ltthgt ltthgt PostalCode ltthgt ltthgt Country ltthgt ltthgt Phone ltthgt ltthgt Fax ltthgt ltthgt RowError ltthgt ltthgt HasErrors ltthgt ltthgtltthgt lttrgt

foreach (var item in Model) lttrgt lttdgt HtmlDisplayFor(modelItem =gt itemCustomerID) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCompanyName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactName) lttdgt lttdgt

Kup książkę Poleć książkę

304 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlDisplayFor(modelItem =gt itemContactTitle) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemAddress) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCity) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemRegion) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemPostalCode) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCountry) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemPhone) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemFax) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemRowError) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemHasErrors) lttdgt lttdgt HtmlActionLink(Edytuj ScaffoldingEdit new id = itemCustomerID ) | HtmlActionLink(Zamoacutewienia ScaffoldingMasterDetail new id = itemCustomerID ) | HtmlActionLink(Usu ScaffoldingDelete new id = itemCustomerID ) lttdgt lttrgt

lttablegt

6 W pliku HomeControllercs

a) Utwoacuterz pole klasyCustomersTableAdapter customersTableAdapter = new CustomersTableAdapter()

b) Dodaj polecenia z listingu 182

Listing 182 Prezentacja listy klientoacutew

private void PobierzDaneKlientow() northwindDataSetEnforceConstraints = false customersTableAdapterFill(northwindDataSetCustomers)

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 305

northwindDataSetEnforceConstraints = true

public ActionResult ScaffoldingList() PobierzDaneKlientow() return View(ScaffoldingList northwindDataSetCustomers)

7 Skompiluj i uruchom aplikacj

Po uruchomieniu aplikacji i klikni ciu hiper cza z etykiet Scaffolding zostanie wy-wietlona lista klientoacutew ktoacuterej posta powinna by analogiczna do przedstawionej na

rysunku 182 W kolejnym kroku zaimplementujemy mo liwo usuwania edycji oraztworzenia rekordoacutew w tabeli Customers

Rysunek 182 Lista klientoacutew

Usuwanie rekordoacutewW celu zaimplementowania mo liwo ci usuwania rekordoacutew z tabeli Customers wyko-naj nast puj ce czynno ci

1 W widoku projektowania obiektu NorthwindDataSet skonfiguruj relacjpomi dzy tabelami Orders i Customers wed ug wzoru z rysunku 183

2 Klas kontrolera Home uzupe nij o polecenia z listingu 183

Kup książkę Poleć książkę

306 Cz II Technologie bazodanowe w aplikacjach internetowych

Rysunek 183Konfiguracja wi zoacutewintegralno ci danych

Listing 183 Usuwanie rekordoacutew z tabeli Customers

private void AktualizujDaneKlientow() northwindDataSetEnforceConstraints = false

orderDetailsTableAdapterUpdate(northwindDataSetOrder_Details) ordersTableAdapterUpdate(northwindDataSetOrders) customersTableAdapterUpdate(northwindDataSetCustomers)

northwindDataSetEnforceConstraints = true

public ActionResult ScaffoldingDelete(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) if (cdr = null) Usuwanie rekordoacutew potomnych DataRow[] zamowienia = cdrGetChildRows(northwindDataSetRelations[FK_Orders_Customers])

foreach (DataRow dr in zamowienia) drDelete()

Usuwanie rekordu klienta cdrDelete()

Aktualizacja wszystkich powi zanych tabel AktualizujDaneKlientow()

return ScaffoldingList()

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 307

Podczas usuwania danego rekordu nale y zadba o rekordy z innych tabel ktoacutere sz nim zwi zane relacjami Wiersze tabeli Customers s skojarzone z rekordami z tabelOrders oraz OrdersDetails Z tego powodu aktualizuj zawarto ci tych tabel po usu-ni ciu wybranego rekordu klienta Osierocone rekordy z tabeli Orders s usuwane ra-zem z nim

Edycja rekordoacutewDo edycji rekordoacutew w tabeli Customers potrzebny b dzie odpowiedni widok ktoacuteryprzygotuj na bazie automatycznie wygenerowanego kodu roacuted owego

1 Zgodnie z przepisem z podrozdzia u bdquoLista rekordoacutewrdquo utwoacuterz widokkontrolera Home i skonfiguruj go wed ug wzoru z rysunku 184

Rysunek 184Konfiguracja widokuedycji klienta

2 Wygenerowany automatycznie plik widoku ScaffoldingEditcshtmlzmodyfikuj zgodnie z listingiem 184

Listing 184 Definicja widoku edycji klienta

model NorthwindMVCModelsNorthwindDataSetCustomersRow

ViewBagTitle = ScaffoldingEdit

lth2gtScaffoldingEditlth2gtlth2gtEdycja rekordulth2gt

ltscript src=UrlContent(~Scriptsjqueryvalidateminjs)type=textjavascriptgtltscriptgt

Kup książkę Poleć książkę

308 Cz II Technologie bazodanowe w aplikacjach internetowych

ltscript src=UrlContent(~Scriptsjqueryvalidateunobtrusiveminjs)type=textjavascriptgtltscriptgt

using (HtmlBeginForm(EdytujDaneKlienta Home new id = ModelCustomerID)) HtmlValidationSummary(true) ltfieldsetgt ltlegendgtDane klientaCustomersRowltlegendgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCustomerID) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCustomerID) HtmlValidationMessageFor(model =gt modelCustomerID) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCompanyName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCompanyName) HtmlValidationMessageFor(model =gt modelCompanyName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactName) HtmlValidationMessageFor(model =gt modelContactName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactTitle) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactTitle) HtmlValidationMessageFor(model =gt modelContactTitle) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelAddress) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelAddress) HtmlValidationMessageFor(model =gt modelAddress) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCity) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCity) HtmlValidationMessageFor(model =gt modelCity) ltdivgt

ltdiv class=editor-labelgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 309

HtmlLabelFor(model =gt modelRegion) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRegion) HtmlValidationMessageFor(model =gt modelRegion) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPostalCode) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPostalCode) HtmlValidationMessageFor(model =gt modelPostalCode) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCountry) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCountry) HtmlValidationMessageFor(model =gt modelCountry) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPhone) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPhone) HtmlValidationMessageFor(model =gt modelPhone) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelFax) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelFax) HtmlValidationMessageFor(model =gt modelFax) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRowError) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRowError) HtmlValidationMessageFor(model =gt modelRowError) ltdivgt

ltpgt ltinput type=submit value=SaveZapisz gt ltpgt ltfieldsetgt

ltdivgt HtmlActionLink(Back to List Index) HtmlActionLink(Powroacutet do listy rekordow ScaffoldingList)ltdivgt

Kup książkę Poleć książkę

310 Cz II Technologie bazodanowe w aplikacjach internetowych

3 W kontrolerze Home zdefiniuj metody z listingu 185

Listing 185 Edycja danych klienta

public ActionResult ScaffoldingEdit(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id)

if (cdr = null) return View(ScaffoldingEdit cdr) else return ScaffoldingList()

private void PrzepiszDaneKlienta(FormCollection daneKlienta refNorthwindDataSetCustomersRow rekordKlienta)

rekordKlientaCompanyName = daneKlienta[CompanyName]ToString() rekordKlientaContactName = daneKlienta[ContactName]ToString() rekordKlientaContactTitle = daneKlienta[ContactTitle]ToString() rekordKlientaAddress = daneKlienta[Address]ToString() rekordKlientaCity = daneKlienta[City]ToString()

public ActionResult EdytujDaneKlienta(FormCollection daneKlienta string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) if (cdr = null) PrzepiszDaneKlienta(daneKlienta ref cdr) AktualizujDaneKlientow() return ScaffoldingList()

Proces edycji rekordu w bazie danych za pomoc technologii ADONET opiera si nainformacjach zebranych w poprzednich rozdzia ach wi c nie b d go tu szczegoacute owoopisywa Celem tego przyk adu by o automatyczne wygenerowanie widoku umo li-wiaj cego edycj danych klienta przystosowanie go do w asnych potrzeb oraz inte-gracja z kontrolerem

Separacja modelu widoku i kontrolera umo liwia narz dziom Visual Studio 2012 auto-matyczne generowanie widoku na podstawie definicji modelu Jednak e jak pokaza-em w tym podrozdziale kreator tworzy widok ktoacutery umo liwia edycj wszystkich poacutel

rekordu (nawet identyfikatora) co sprawia e w wi kszo ci przypadkoacutew nale y sa-modzielnie edytowa plik widoku w celu przystosowania go do potrzeb projektowanejaplikacji Jednak jak pokazuje powy szy przyk ad nie jest to rzecz skomplikowan

Integracja widoku z kontrolerem polega na odpowiednim przekazywaniu informacjio edytowanym rekordzie oraz warto ci jego poacutel Do tego celu wykorzysta em identy-fikator klienta ktoacutery jednoznacznie identyfikuje rekordy w tabeli Customers

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 311

Przyk adowy wynik polece zaimplementowanych w tym podrozdziale przedstawiarysunek 185

Rysunek 185Edycja danych klienta

Tworzenie rekordoacutewW poprzednich podrozdzia ach zaimplementowa em trzy spo roacuted czterech podstawo-wych elementoacutew schematu CRUD czyli odczytywanie (R) aktualizacj (U) oraz usu-wanie (D) rekordoacutew Ostatnim elementem jest tworzenie (C) nowych rekordoacutew W celuzaimplementowania procedury uzupe niania tabeli Customers nowymi rekordami na-le y post pi nast puj co

1 W Solution Explorer rozwi w ze Views a nast pnie kliknij prawymprzyciskiem myszy folder Home

2 Wybierz opcj Add a nast pnie Viewhellip z menu kontekstowego

3 W kreatorze Add View

a) Zmie nazw widoku na ScaffoldingCreate

b) Zaznacz pole wyboru Create a strongly-typed view

c) Z listy dost pnych modeli wybierz pozycj CustomersRow

d) Z listy rozwijanej Scaffold template wybierz Create

e) Kliknij przycisk Add

4 Utworzony w ten sposoacuteb plik ScaffoldingCreatecshtml zmodyfikuj wed ugwzoru z listingu 186

Kup książkę Poleć książkę

312 Cz II Technologie bazodanowe w aplikacjach internetowych

Listing 186 Widok umo liwiaj cy wstawianie rekordoacutew do tabeli Customers

model NorthwindMVCModelsNorthwindDataSetCustomersRow

ViewBagTitle = ScaffoldingCreate

lth2gtScaffoldingCreatelth2gtlth2gtTworzenie rekordulth2gt

ltscript src=UrlContent(~Scriptsjqueryvalidateminjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~Scriptsjqueryvalidateunobtrusiveminjs)type=textjavascriptgtltscriptgt

using (HtmlBeginForm(DodajKlienta Home)) HtmlValidationSummary(true) ltfieldsetgt ltlegendgtDane klientaCustomersRowltlegendgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCustomerID) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCustomerID) HtmlValidationMessageFor(model =gt modelCustomerID) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCompanyName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCompanyName) HtmlValidationMessageFor(model =gt modelCompanyName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactName) HtmlValidationMessageFor(model =gt modelContactName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactTitle) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactTitle) HtmlValidationMessageFor(model =gt modelContactTitle) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelAddress) ltdivgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 313

ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelAddress) HtmlValidationMessageFor(model =gt modelAddress) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCity) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCity) HtmlValidationMessageFor(model =gt modelCity) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRegion) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRegion) HtmlValidationMessageFor(model =gt modelRegion) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPostalCode) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPostalCode) HtmlValidationMessageFor(model =gt modelPostalCode) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCountry) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCountry) HtmlValidationMessageFor(model =gt modelCountry) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPhone) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPhone) HtmlValidationMessageFor(model =gt modelPhone) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelFax) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelFax) HtmlValidationMessageFor(model =gt modelFax) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRowError) ltdivgt ltdiv class=editor-fieldgt

Kup książkę Poleć książkę

314 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlEditorFor(model =gt modelRowError) HtmlValidationMessageFor(model =gt modelRowError) ltdivgt

ltpgt ltinput type=submit value=CreateUtwoacuterz gt ltpgt ltfieldsetgt

ltdivgt HtmlActionLink(Back to List Index) HtmlActionLink(Powroacutet do listy ScaffoldingList)ltdivgt

5 Definicj kontrolera Home uzupe nij o polecenia z listingu 187

Listing 187 Wstawianie rekordoacutew do tabeli Customers

private char PobierzZnak(string lancuch int index) Random random = new Random() char znak

if (lancuchLength gt index) znak = lancuch[index] else znak = (char)randomNext(0 255)ToString()[0]

return znak

private void UtworzIdentyfikatorKlienta(ref NorthwindDataSetCustomersRowdaneKlienta)

string identyfikator = int indexZnaku = 0

identyfikator += PobierzZnak(daneKlientaCompanyName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactTitle indexZnaku) identyfikator += PobierzZnak(daneKlientaAddress indexZnaku) identyfikator += PobierzZnak(daneKlientaCity indexZnaku)

daneKlientaCustomerID = identyfikator

public ActionResult DodajKlienta(FormCollection daneKlienta string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersNewCustomersRow()

PrzepiszDaneKlienta(daneKlienta ref cdr)

UtworzIdentyfikatorKlienta(ref cdr)

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 315

customersTableAdapterInsert(cdrCustomerID cdrCompanyName cdrContactName cdrContactTitle cdrAddress cdrCity )

AktualizujDaneKlientow()

return ScaffoldingList()

Wstawienie rekordoacutew do tabeli Customers jest analogiczne do ich edycji Jedyn roacute -nic jest konieczno utworzenia identyfikatora klienta gdy nie jest on tworzonyautomatycznie jak to by o w przypadku tabeli Employees Identyfikatory rekordoacuteww tabeli Customers s pi cioelementowymi ci gami znakoacutew Tworz je na podstawiepierwszych liter poacutel CompanyName ContactName ContactTitle Address oraz City Je liw tych polach znajduj si puste ci gi to odpowiedni liter zast puj losowo wyge-nerowanym znakiem

W kolejnym podrozdziale poka w jaki sposoacuteb wy wietli informacje o rekordachpotomnych opieraj c si na relacji pomi dzy tabelami

Formularz z podformularzem(MasterDetail Form)

Jako podsumowanie tego rozdzia u utworz formularz z podformularzem tak zwanyformularz MasterDetail Jego dzia anie polega na tym e wy wietlanie danych od-bywa si na bazie co najmniej dwoacutech komponentoacutew (np blokoacutew czy tabel) oraz rela-cji mi dzy tabelami Pierwszy komponent prezentuje rekordy zawarte w tabeli g oacutew-nej (ang master) a drugi zawiera dane z tabeli podrz dnej (ang detail) Komponentzwi zany z tabel podrz dn ma zazwyczaj za zadanie prezentowa szczegoacute owe da-ne odpowiadaj ce rekordowi z tabeli nadrz dnej ktoacutery zosta wskazany przy pomocyzwi zanej z nim listy rekordoacutew Pola tych tabel musz by zatem uporz dkowane w takisposoacuteb aby pokazywa y informacj o tym samym rekordzie Uzyskuje si to przy po-mocy relacji mi dzy tabelami ktoacuterej zadaniem jest powi zanie informacji zawartychw bazie danych

W tym podrozdziale tabel nadrz dn b dzie tabela Customers a podrz dn OrdersPo klikni ciu na hiper cze z etykiet zamoacutewienia wy wietli si lista rekordoacutew tabeliOrders skojarzonych z danym klientem dania prezentacji zamoacutewie b d realizo-wane asynchronicznie

1 Plik widoku ScaffoldingListcshtml zmodyfikuj wed ug wzoru z listingu 188

Listing 188 Konfiguracja hiper cza umo liwiaj cego wy wietlenie listy zamoacutewie danego klienta

hellipforeach (var item in Model) lttrgt lttdgt

Kup książkę Poleć książkę

316 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlDisplayFor(modelItem =gt itemCustomerID) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCompanyName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactTitle) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemAddress) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCity) lttdgt lttdgt HtmlActionLink(Edytuj ScaffoldingEdit new id = itemCustomerID ) | AjaxActionLink(Zamoacutewienia ScaffoldingMasterDetail new id = itemCustomerID new AjaxOptions UpdateTargetId = zamowienia OnSuccess = documentgetElementById(zamowienia)scrollIntoView() ) | HtmlActionLink(Usu ScaffoldingDelete new id = itemCustomerID ) lttdgt lttrgtlttablegt

ltdiv id=zamowieniagtltdivgt

2 Utwoacuterz widok cz ciowy o nazwie ZamowieniaPartialViewcshtml i wstaww nim polecenia z listingu 189

Listing 189 Definicja widoku prezentuj cego list zamoacutewie

model IEnumerableltNorthwindMVCModelsNorthwindDataSetOrdersRowgt

if (Model == null) lth2gtBrak zamoacutewie lth2gtelse lth2gtLista zamoacutewie lth2gt

lttablegt lttrgt ltthgt OrderDate ltthgt ltthgt RequiredDate ltthgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 317

ltthgt ShippedDate ltthgt ltthgt ShipName ltthgt ltthgt ShipAddress ltthgt ltthgt ShipCity ltthgt ltthgtltthgt lttrgt

foreach (var item in Model) lttrgt lttdgt itemOrderDateToShortDateString() lttdgt lttdgt itemRequiredDateToShortDateString() lttdgt lttdgt itemShippedDateToShortDateString() lttdgt lttdgt itemShipName lttdgt lttdgt itemShipAddress lttdgt lttdgt itemShipCity lttdgt lttrgt lttablegt

3 Kontroler Home uzupe nij o metod ScaffoldingMasterDetail ktoacuterej definicjprzedstawi em na listingu 1810

Listing 1810 Pobranie i prezentacja rekordoacutew potomnych wybranego klienta

public ActionResult ScaffoldingMasterDetail(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) NorthwindDataSetOrdersRow[] zamowieniaPracownika = null

if (cdr = null) zamowieniaPracownika = (NorthwindDataSetOrdersRow[])cdrGetChildRows(FK_Orders_Customers)

Kup książkę Poleć książkę

318 Cz II Technologie bazodanowe w aplikacjach internetowych

if (RequestIsAjaxRequest()) return View(ZamowieniaPartialView zamowieniaPracownika) else return ScaffoldingList()

4 Sekcj ltheadgt pliku _Layoutcshtml uzupe nij o polecenia z listingu 1811

Listing 1811 Import skryptoacutew obs uguj cych dania asynchroniczne

ltscript src=UrlContent(~Scriptsjqueryunobtrusive-ajaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftAjaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftMvcAjaxjs)type=textjavascriptgtltscriptgt

5 Po skompilowaniu i uruchomieniu aplikacji powiniene uzyska efektanalogiczny do przedstawionego na rysunku 186

Rysunek 186 Przyk ad formularza typu MasterDetail

Kup książkę Poleć książkę

Skorowidz

AACL 149action methods 25ActiveX Data Object 238ADO 238ADONET 238

obiekty 238podstawy 237synchronizacja buforu ze roacuted em danych 273

adresy URLautoryzacja 157parametry 122trasowanie 121wzorce 122 123

agile programming 15AJAX 91

aktualizacja bloku witryny 113dodanie referencji do bibliotek JavaScript 94

akcjaCreate 354Delete 357Details 353dodaj ca nowy produkt 355Edit 356

aktualizacjazawarto ci elementu witryny 92

algorytmRSA 187

ambient transaction 329ankieta 102AntiXss 187aplikacje

bazodanowe 235bezpiecze stwo 335mechanizm transakcji 319scaffolding 301

synchronizacja ze roacuted em danych 273uwagi do projektowania 345

mo liwo edytowania wpisoacutew 441rejestrowanie zdarze i trasowanie 430

Application Domain 339architektura obiektowa 347ASPNET

konfiguracja aplikacji 161mechanizmy uwierzytelnienia 149metody globalne 107w czanie i wy czanie aplikacji 171

ASPNET AJAX 91ASPNET MVC 15

komponenty 16ASPX 21 30asynchroniczne przetwarzanie da http

jQuery 113Asynchronous JavaScript and XML 48Asynchronous Programming Model 464ataki

rodzaje 147SQL Injection 148 344wy udzenie informacji 148z o liwy kod 181

atrybut 347AcceptVerbs(HttpPost) 47AcceptVerbs(HttpVerbsPost) 65AssociationAttribute 58Authorize 200AuthorizeAttribute 128autoryzacyjny 145ConcurrencyCheckAttribute 58Confirm 95cookieless 154CustomValidationAttribute 58 66data-bind 230DataType 54 57

Kup książkę Poleć książkę

528 ASPNET MVC

atrybutDataTypeAttribute 58defaultRedirect 173defaultUrl 154DisplayAttribute 58DisplayColumnAttribute 58DisplayName 436EditableAttribute 58enableCrossAppRedirects 155EnumDataTypeAttribute 58FilterUIHintAttribute 58HandleError 138 175HandleErrorAttribute 129HttpMethod 95InsertionMode 95KeyAttribute 58klasy do konfiguracji metadanych 57 58LoadingElementDuration 110LoadingElementId 95 110Log

klasa implementuj ca 142loginUrl 154MetadataType 69MetadataTypeAttribute 58mode 153 173modelu 55name 155NonAction 26 135OnBegin 95OnComplete 95OnFailure 95OnSuccess 95 110OutputCache 133OutputCacheAttribute

parametry 134passwordFormat 156protection 155Range 54 66RangeAttribute 58redirectMode 173RegularExpressionAttribute 58Required 54 66RequiredAttribute 58RequireHttps 135requireSSL 155slidingExpiration 155StringLength 66StringLengthAttribute 58TestClass 29TestMethod 29ticketCompatibilityMode 155timeout 155TimestampAttribute 58UpdateTargetId 95

Url 95ValidateInput 185

atrybuty modeluwyra enia regularne 84

Attribute 347authentication ticket 151auto post back 217autocomplete textbox 115automatyczne uzupe nienie pola tekstowego 115autoryzacja 149 157

adresoacutew URL 157konfiguracja 157

grupy u ytkownikoacutew 158mechanizm filtrowania 158otwarta 460plikoacutew 157zdalna

powi zanie z portalem Facebook 461Azure 496

Bbazy danych 40 237

aktualizacja 41lista rekordoacutew 301Northwind 240

detale produktu 352dodawanie po cze 350pobieranie produktoacutew 351

po czenie ze roacuted em danych 241relacyjne 237schemat CRUD 301transakcje 319tworzenie 321

nowego rekordu 48schematu na bazie modelu encji 357

usuwanie danych 290regu y integralno ci 293

usuwanie powi zanych wierszyrekordy potomne 291

warstwa dost pu 42bezpiecze stwo

aplikacji internetowych 147ataki 147mechanizmy 149

biblioteka NETprogramowanie asynchroniczne 464

biblioteka skryptoacutewMapajs 32

bilet uwierzytelniaj cy 151b dy

dzia ania aplikacji 171strona b du 176tworzenie u ytkownika 202wprowadzenie z ego rekordu 268

Kup książkę Poleć książkę

Skorowidz 529

body 383buforowanie

danych ze roacutede zewn trznych 133bundling 475Business Intelligence 368

Ccallback 35CAS 151 338CDN 113Central Authentication Service 151centralna us uga uwierzytelnienia 151certyfikat 337CLR

procesy systemowe 466Code Access Security 338Confirm 96connString 341controllers 16Coordinated Universal Time 155Create Read Update Delete 301cross-site scripting 181CRUD 54 301Crystal Reports 368

Ddane

agregacja 378bezpo redni dost p do roacuted a 346eksport 413

do dokumentu tekstowego 419do PDF 420skoroszyt MS Excel 421tabele dynamiczne 418

integralno 288 319pomini cie sprawdzania 292regu y 291

modyfikacja 249platforma modelowania 347prezentacja

graficzna 406w postaci macierzowej 390

przekazywaniez formularza do roacuted a 46z kontrolera do widoku 437 439

serializacja i transfer struktur 117szyfrowanie 337typu

ActionResult 25walidacja 53weryfikacja 53wi zy integralno ci 306

wy wietlanie 315zabezpieczenie 338

Data Binding 389Data Definition Language 345Database Management System 237DBMS 237

wi zy integralno ci 238DDL 345denial of service 147detail 315Development Server 504DIE 53DisplayFormatAttribute 58document object model 92DOM 92domena aplikacji 339 466

instancja obiektoacutew 341tworzenie 339wspoacute dzielenie obiektu 341

dostawcy us ug 178dost p anonimowy 150DotNetOpenAuth 149DPAPI 187DRY 53dyrektywa

model 46

Eelement

customErrors 173success 115

elevation of privilege 147encapsulation 107encja 347

atrybuty 54bazodanowa 54KategoriaProduktu 358odwzorowanie w bazie danych 360Order_Details 362Orders 361Products 361Produkt 358

Entity 347Entity Framework 43 347

POCO 360potwierdzenie explicite 356technologie 349wersje 347

Entity Relationship Model 347Entity SQL 349ERM 347Event-based Asynchronous Pattern 465event-driven programming 17

Kup książkę Poleć książkę

530 ASPNET MVC

FFile Transfer Protocol 495filtry 127

akcji 127 139autoryzacyjne 127 144dynamiczne 395kolejno wykonywania 137

priorytety 138Log

metody 141LogAttribute

definicja klasy 140podstawowe atrybuty 128statyczne 395w asne 139wyj tkoacutew 128 144

niestandardowe 145wyniku 128 144

for 434foreach 51Forms Authentication Provider 149formularz

MasterDetail 315z podformularzem 315

funkcjadelay 217ListaPracownikoacutew 57Mid 390RolesIsUserInRole 217Today 390wyznaczaj ca tras 109zmienPrzynaleznoscDoGrupy 217 218

GGauge 383 403GDI 368graficzny interfejs u ytkownika 17 30Graphics Device Interface 368GridView 48grupy u ytkownikoacutew

autoryzacja 158GUI 17

Hhard-coding 167haszowanie 150helper methods 25html helper 455

Iidentyfikator

klienta 315rekordoacutew 315

IIS 121 149 495instalacja

ASPNET 445 498serwera w Windows 7 496serwera w Windows 8 496

mened er Windows 499uruchamianie aplikacji 503

serwer do rozwoju aplikacji 504information disclosure 147instancje aplikacji 465instancjonowanie modelu 39IntelliSense 247interfejs u ytkownika

przycisk umo liwiaj cy dodanie pracownika294

przycisk usuni cia wybranego rekordu 289Internet Information Services 121internetowe us ugi informacyjne 495in ynieria spo eczna 148Isolation Level 332izolacja 339 466

JJavaScript Object Notation 117jQM 457jQuery

autocomplete 116pliki roacuted owe 113

jQuery Mobile 457jQuery UI 367

wykorzystanie przyciskoacutew 284JSON 117

obiekt typu adres 118

KKey Performance Indicators 403klasa

AccountController 198ActionExecutingContext 143AdminController 212Ajax 94AjaxOptions 94

atrybuty 95AspNetHidden 442AssemblyName 170Assert 29

Kup książkę Poleć książkę

Skorowidz 531

AuthConfig 461BundleConfig 475Configuration 170ConfigurationManager 170ConfigurationSection 187 188ConnectionStringBuilder 345DpapiProtectedConfigurationProvider 187FiltryRaportuMacierzowego 397Form1 484FormsAuthentication 152Global 430HandleErrorInfo 133HtmlHelper 437HttpClient 483 486HttpResponseMessage 486kontekstu 362LogOnModel 198MarshallByRefObject 341Membership 152 198 211MvcApplication 430NorthwindContext 362ObjectContext 348ObjectQueryltTgt 348Order_Details 362Orders 361Osoba 228ParametryWatku 470Pracownik 484Products 361Produkt 230Raport 392RequestBrowser 460ResultExecutedContext 144ResultExecutingContext 144Roles 211RsaProtectedConfigurationProvider 187SQLConnCAS

definicja 340stowarzyszona z modelem 69SystemNetHttpFormattingJsonMediaTypeF

ormatter 491SystemTextRegularExpressions 74SystemWebSecurityRoles 159Task 465 472testuj ca 29Thread 465 469TransactionScope 327UrlRoutingModule 121ViewData 434 436 439WebApiConfig 478WebConfigurationManager 170Wpisy 427 436

klucze 237MAC 155obce 238podstawowe 238

kluczowe wska niki efektywno ci 403dynamiczna zmiana warto ci 404

Knockout 227wykorzystanie szablonoacutew JavaScript 230wywo anie skryptu 229

kodowanie danychprzekazywanych przez u ytkownikoacutew 186

komponentFormDanePracownika 489obiektu

PartialView 99typu ListBox 99

ReportViewer 368 375eksport danych 413nawigacja mi dzy stronami raportu 377

komponenty u ytkownika 30komunikaty o b dach 171

kod statusowy 174 175koncepcja programowania zdarzeniowego 16konfiguracja

po czenia z baz danych 241uprawnie puli aplikacji 454walidacji danych 66

konkurencyjno aplikacji 332kontekst wi zania 389kontrola wprowadzanych danych 263

metoda onColumnChanged 269wstrzymanie walidacji wiersza 267zako czenie edycji rekordu 267

wymuszenie 267kontroler 16 25

AccountController 195Admin 223AdminController 212aplikacja Kardy 63asynchroniczny 466

a zadania 472dane wyj ciowe 25domeny 150ErrorController 174Glosowania 103Home 182 224 228 231

Bezpiecze stwo 336filtr wyj tku 131

HomeController 184EksportDanych 415Northwind 245

interfejs Web API 477KsiegaGosciController 424

Kup książkę Poleć książkę

532 ASPNET MVC

kontrolerLista 93Mapa 33

autouzupe nianie 117modyfikacja 45

niedost pne metody publiczne 136obs uga POST 431panelu administracyjnego 212

zarz dzanie grupami u ytkownikoacutew 220Pracownicy 57 64PracownicyController

implementacja 481Produkty 351projektowanie 27przekazywanie danych do widoku

zmiany 439uwierzytelnienia 195

klasa 198model 196widoki 203

uzupe nienie o widok 31u ycie modelu odsy anego przez widok 440ValuesController 478weryfikacja funkcjonalno ci 28wi zanie adresu URL z akcj 430widoki 58

konwersja obrazu 278kreator

Add New Item 242Add View 59 302Application 162blokowania szczegoacute oacutew b doacutew 172dodanie u ytkownikoacutew 164grup u ytkownikoacutew 165Provider 162Publish Web 501Security 162tworzenia pracownika 59ustawie aplikacji 167widokoacutew 60wyboacuter dostawcoacutew us ug 178

kwerendy parametryczne 274 401

Llayout witryny 30LINQ

to Entities 349lista rekordoacutew 301

prezentacja 304logika

aplikacji 30bazodanowa 30biznesowa 44

a cuch QueryString 26

Mmaster 315mechanizm

automatycznych w a ciwo ci 57autoryzacji 157eksportu danych 413filtroacutew 127grupowania plikoacutew 475IntelliSense 119QuerynotString 117szyfruj cy 187transakcji 319 321

przelewy bankowe 326wyznaczania trasy przejzdu 34

meotdaInsert 299ProtectSection 191WersjonowanieDataRow

definicja widoku 265message authentication code 155metoda

on 262HtmlValidationSummary 204About 124AcceptChanges 255 263ActionLinkActionLink 61 63 353AddUserToRole 159akcji 25

parametry opcjonalne 27aktualizacja statystyk ankiety 105AktualizujZdjeciePracownika 288Application_AuthenticateRequest 108Application_BeginRequest 107 108Application_End 108Application_EndRequest 107Application_Error 108 172Application_Start 108 123 139 430asynchroniczna kontrolera 472AttachTo 356Authenticate 152AutoUzupelnienie 117

zapytanie LINQ 118BeginEdit 267BeginForm 47 94BeginTransaction 326 332CancelEdit 263ChangeObjectState 356

Kup książkę Poleć książkę

Skorowidz 533

ChangePassword 200hiper cze 208widok 206

ChangePasswordSuccesswidok 206

CreateNazwaEncji 354CreateRole 159CreateUser 153czyBazaDanychIstnieje 326daneDostawcyForm 262DBeginnotEdit 263Delete 270DeleteObject 357DeleteRole 159DeleteUser 153DeszyfrujPlikKonfiguracyjny 191DodajDostawce 255DodajElementDoListy 94 97 101DodajGrupe 223DodajKomentarz 185DodajPracownika 299 491DopiszDoPlikuLog 430Edit 356EdytujDaneDostawcy 261EdytujDanePracownika 493Eksportuj 418EmptyResult 26EndEdit 263EndForm 47ErrorCodeToString 201Fill 246FillByCityName 275FormatDateTime 390FormsAuthenticationSetCookie 199GenerujDane 468Get(int id) 478GetAllRoles 159GetAsync 486GetChildRecords 291GetSection 170GetSectionGroup 170GetUser 153GetUsersInRole 160globalna

aplikacji ASPNET 108Grupy 223HasVersion 263HtmlListBox 97HtmlRenderPartial 101HtmlValidationSummary 61HtmlHelperLabel 437ImiePierwszegoPracownika 246 247Include 475Index 47 79 97 101

kontrolera Mapa 34testowanie 28

IsAjaxRequest 101IsMatch 76IsNotNull 29IsUserInRole 159Label 35ListaDostawcow 252 255ListaPracownikow 248

hiper cze skojarzone 249LogOff 198LogOn 198Macierzowy 397mapowalna 26MetodaAsynchronicznaWatki 472ModelStateAddModelError 199MvcApplicationRegisterRoutes 430obs uga zapyta POST 431odczyt aktualnych bilansoacutew kont 323OdczytajStanyKont 326OnActionExecuted 143OnActionExecuting 127 143onColumnChanged 269OnResultExecuted 144OnResultExecuting 144onRowChanged 266onRowChanging 268OpenConfiguration 170otwarcie po czenia z baz danych 341OtworzPlikDanych 107Page_Load 399PartialViewResult 26PobierzDane 394

modyfikacja 401PobierzPlikLogu 141 143PobierzZdjecie 278PokazTrasy 51PokazWyniki 107pomocnicza 25 455

HtmlEncode 51wykorzystanie 456

PostAsJsonAsync 486PostAsXmlAsync 486PostAsync 486PostResolveRequestCache 121PracownicyWedlugMiast

przechowywanie warto ci filtru 285PutAsJsonAsync 493PutAsXmlAsync 493PutAsync 493ReadAsAsync 486ReadXml 107ReadXmlSchema 107RedirectFromLoginPage 152

Kup książkę Poleć książkę

534 ASPNET MVC

metodaRedirectResult 26RedirectToAction 26RedirectToLoginPage 152RedirectToRoute 26RedirectToRouteResult 26RefreshReport 384Register 199 478RegisterAuth 461 462RegisterBundles 475RegisterGlobalFilters 171RegisterRoutes 94 123RejectChanges 256 263rejestrowanie zdarze aplikacji 430RemoveUserFromRole 160Render 384 413 418RenderPartial 99ResponseWrite 223ResultExecuteResult 143RoleExists 159RolesIsUserInRole 216RolesRemoveUsersFromRole 223route 35RowsAdd 255RozpocznijEdycje 269

hiper cze uruchamiaj ce 267SaveChanges 354ScaffoldingMasterDetail 317Session_End 108Session_Start 108SetAuthCookie 152SetParameters 401 405SignOut 152SprawdzDopasowania 79SprawdzPoprawnoscDatyZatrudnienia 67SqlPermissionAdd 343SqlTransactionCommit 326SqlTransactionRollback 326StronaNieIstnieje 175submit 115SzyfrowaniePlikuKonfiguracyjnego 190szyfruj ca i deszyfruj ca 189SzyfrujPlikKonfiguracyjny 191TextBox 35ThreadSleep 469 472TransactionScopeComplete 329Transfer 36UpdateUser 153UstawParametryRaportu 399UsunGrupe 223UsunTrase 50 51UtworzPracownika 64Uzytkownicy 216ValidateUser 152 153

ValidationMessage 437ValidationMessageFor 61ValidationSummary 437ViewResult 26WebApiConfigRegister 478WersjonowanieDataRow 265

sparametryzowanie 266WpisyZapiszDoPlikuXml 430wykonywanie przelewoacutew 323WyswietlLog 141 142 143wyswietlMape 34 35WyswietlTrase 50

modyfikacja 135 166wyznaczTrase 35ZaktualizujWyniki 107Zapami tajNazw U ytkownika 432ZmienStanKont 328

Microsoft SQL Server 319sposoby uwierzytelnienia 344

MIME type 390minification 476minimalizacja 476model 16 39

APM 464ChangePasswordModel 196EAP 465integracja z elementami aplikacji 39LogOnModel 196obs uga plikoacutew XML 427przesy anie z kontrolera do widoku 432 435RegisterModel 196TAP 465

model binding 48model danych encji 348

dodawanie encji 353edycja encji 355kreator 348 349

czenie encji 359metody akcji 354opcje 361projektowanie relacji 43tworzenie 349

schematu bazy danych 357usuwanie encji 357wyboacuter tabel 350

model first 52model zwi zkoacutew encji 347models 16Model-View-Controller 15Model-View-ViewModel 227Model-Widok-Kontroler 15modu

UrlAuthorizationModule 157

Kup książkę Poleć książkę

Skorowidz 535

MVC 15a Web Forms 16 365 367 423

kod 442serwer internetowych us ug

informacyjnych 495wydajno 443wykorzystanie w projektach 444

ataki XSS 185autoryzacja 158 162bezpiecze stwo aplikacji 152buforowanie 134domy lne wzorce aplikacji 21kreator aplikacji 20mechanizm filtrowania 127Model Binder 355nazwa kontrolera 27obs uga interakcji klient-serwer 121parametry opcjonalne 27pobieranie parametru z adresu URL 26projektowanie aplikacji 18 52przetwarzanie dania aplikacji klienckiej 18sprawdzanie poprawno ci danych 68struktura modelu 39techniki walidacji danych 53utworzenie widoku 30uzupe nianie o komponenty graficzne 367walidacja 438wersja 4 449wyboacuter mechanizmu przetwarzaj cego widoki 21wzorce URL 122zbioacuter modeli szablonu aplikacji 196roacuted o danych 40

MVC4 449grupowanie i optymalizacja skryptoacutew 475kaskadowe arkuszye stylu 475przetwarzanie asynchroniczne 464przystosowanie do urz dze mobillnych 457testowanie aplikacji 457uwierzytelnianie 460

integracja z portalem Facebook 462wsparcie dla urz dze mobilnych 450zdalna autoryzacja 461

MVVM 227

Nnarz dzie

aspnet_regiis 187przetwarzanie tekstu 73

Northwindinstalacja 240kwerenda wybieraj ca 240pobieranie informacji o dostawcach 251

NuGET 483nullable-types 27

OOAuth 461obiekt

AppDomain 339 341Chart 406Command 239Connection 239 241

w a ciwo i 243ConnectionString 343

sposoby uwierzytelniania 344szyfrowanie informacji 335

DataAdapter 239DataGridView 491DataReader 239 273DataRow 255

kontrola wprowadzonych danych 263usuwanie rekordoacutew 270wersje 263wersja proponowana 265wersjonowanie 263w a ciwo ci 255

DataSet 239 244 345edycja rekordoacutew 257kreator konfiguracji TableAdapter 274modyfikacja danych 249tworzenie nowych rekordoacutew 250usuwanie rekordoacutew 271wstawianie rekordoacutew 251wymuszenie wi zoacutew integralno ci 292

DataTable 107DirectionsService 35dostawca 153FormCollection 47jqXHR 218List 389logiki biznesowej 348materializacja 348Matrix 390Membership 152MvcRouteHandler 121 122o okre lonym typie danych 244o silnej typizacji 244o s abej typizacji 247ObjectStateManager 348PartialView 98ReportViewer 368ReportViewerLocalReport 418Request 26 101 432Response 26Route 122ShippersRow 255SqlConnCAS 341SqlConnection 326

Kup książkę Poleć książkę

536 ASPNET MVC

obiektTableAdapter 239 244 273 274 345

edycja danych 279 286wstawianie danych 294

TransactionScope 329parametryzacja 331

typuadres 118AppDomain 466ConcurrentDictionary 479NorthwindDataSet 247ObjectSetltTgt 348Route 121Thread 466

UrlRoutingModule 121ViewBag 36

przekazywanie danych do widoku WebForms 376

ViewData 36 79 432Object Relational Mapping 347Object Services 348obs uga b doacutew

konfiguracja 132w czenie 129

odrzucenie informacji o transakcji 148od wie anie witryny

a fragment widoku 97aktualizacja zawarto ci 113cz ciowe 96

OnSuccess 96operator

await 474konkatenacji 382Top 411Top N 411

ORM 347

Pparametr

CountryName 401data 115filtr 117mapDivId 35maxIloscRekordow 117Order 137raportu 395scopeTimeOut 330

warto ci 330TransactionScopeOption

warto ci 329type 115

parametryzacja kwerend 274partial view 30

piaskownica 341Plain Old CLR Object 360platforma NET

us ugi uwierzytelniania 153plik

ascx 22aspx 22bmp 390cookie 151cookies 154 155cshtml 22 434css 475edmx 360jpg 390js 475konfiguracyjny

zabezpieczenie 187master 22png 390rdl 368rdlc 368tekstowy

wy wietlenie w przegl darce 143vbhtml 22

POCO 360pola klucza 237polecenie

HtmlEncode 187ScriptsRender 476StylesRender 476GET 18POST 18

po czenieze roacuted em danych 241

pomocnik HTML 455Portable Document Format 413po rednik 341poziom izolacji 332

Chaos 333konfiguracja 332ReadCommitted 333ReadUncommitted 333Serializable 333Snapshot 333Unspecified 333

poziom zaufania 339ograniczenie 340

proceduraajax 115AjaxBeginForm 96niemapowalna 26PartialView 26serialize 115

Kup książkę Poleć książkę

Skorowidz 537

proces 465programowanie

oparte na zdarzeniach 17zdarzeniowe 17

projekt aplikacji MVCankieta 102asynchroniczne przetwarzanie da HTTP 92Bezpiecze stwo 181 336

nawi zanie komunikacji ze roacuted emdanych 342

szyfrowanie pliku konfiguracyjnego 191dodawanie i wy wietlanie komentarzy 183domy lny 20EksportDanych 413Filtry 131formularz oceny 107Kadry

walidacja adresu e-mail 84Kardy 55KsiegaGosci_MVC3 424lista prezentuj ca dodawane elementy 97MojaNawigacja 18

blokowanie samodzielnego tworzeniakont 224

buforowanie danych 135implementacja warstwy dost pu 42instalacja na serwerze IIS 500komunikat powitalny 168komunikaty 110komunikaty o b dach 173mechanizm podpowiedzi 115model weryfikuj cy po wiadczenia

u ytkownikoacutew 196modele kontrolera uwierzytelnienia 196od wie enie widoku mapy 109struktura 21szablon 19szablon witryny 225trasowanie da HTTP 123uzupe nienie o baz danych 40uzupe nienie o walidacj danych 69widok b du 175zablokowanie nieautoryzowanego

dost pu 128zarz dzanie u ytkownikami 163zarz dzanie grupami u ytkownikoacutew 212zarz dzanie procesem logowania 198

MsAjax 92NorthwindMVC 241

lista rekordoacutew 301szablon witryny 250

POCO 361priorytety regu filtrowania 137

Raport 368szablon

mechanizmy uwierzytelnienia 156zarz dzanie grupami u ytkownikoacutew 159

Transakcje 319aktualizacja danych 328formularz aktualizacji 328szablon stron 320

uzupe nianie widokiem GridView 49WyrazeniaRegularne 76Zapytania_EF 349

projekt aplikacji MVC4AsynchronicznyKontroler 466

prezentacja danych 468AutoryzacjaOAuth 461implementacja serwisu sieciowego 479konfiguracja grupowania 475MobileMvc 450

testowanie 457pobranie zdj cia 452przygotowanie listy pracownikoacutew 452SerwisSieciowy 477

projekt aplikacji Windows Formsedycja danych 487KlientWebAPI 483tworzenie nowych pracownikoacutew 486

dania typuDELETE 493POST 486PUT 491

projektowaniekontrolera 27widoku 31

protokoacuteFTP 495Kerberos 150NTLM 150SMTP 495SSL 337

proxy 341przechowywanie

informacji o trasach 44wynikoacutew g osowania 107

przeci enie aplikacji 147przekazywanie

danych 44mi dzy widokiem a kontrolerem 36

parametroacutew do metod akcji kontrolera 26przestrze nazw

SystemThreading 465przyjazne linki 122publikowanie aplikacji 495 500

na serwerze IIS 497

Kup książkę Poleć książkę

538 ASPNET MVC

pule aplikacji 465 497konfiguracja 498Windows 7 499Windows 8 500

Rraporty

dane w postaci macierzowej 390data 386definicja

dynamiczna 418filtrowanie danych 394

na poziomie roacuted a 401 418filtry 395formaty prezentacji danych 379grupowanie danych 381hiper cza 387

nawigacyjne 376kolumny obliczeniowe 378konfiguracja

filtrowania dynamicznego 396typu 392roacuted a danych 368

kreator formu 382macierzowe 391numery stron 386obrazy 390parametry 383 394

konfiguracja 399paski narz dziowe 379pola

bazy danych 386formularza 398raportu 390

po czenie z aplikacj 368prezentowanie uk adu graficznego 383projektowanie 371

i prezentowanie 368przystosowanie strony do obs ugi raportoacutew

387renderowanie 368tryby definicji 368tworzenie

definicji lokalnej 368formu 378przy u yciu kreatora 372

uk ad 383wstawianie nag oacutewka i stopki 385wykresy 406wy wietlenie 375

Razor 21 30przetwarzanie definicji widoku 208

RDL 418rekordy

edycja 307lista 301tworzenie 311usuwanie 305

Relationship 347Report Definition Language 418Report Wizard 371repudiation 148request 442response 442responsywno 464rollback transaction 319routing 22 430routowanie 121

SSandBox 341scaffolding 301Secure Socket Layer 337sekcja

membership 178roleManager 179set 441

serwerSMTP

konfiguracja 171us ug informacyjnych 149

weryfikacja to samo ci u ytkownika 149Simple Mail Transfer Protocol 495s owo kluczowe

helper 455await 474using 47 329

spaghetti code 18spoofing 147SQL Server Reporting Services 367SSRS 367stan pola

typu CheckBox 269pobieranie 264

STRIDE 148strona startowa

MojaNawigacja 226strona wzorcowa 30

aplikacji Kadry 55referencja do bibliotek skryptoacutew 70

systemowy serwer us ug informacyjnych 121szyfrowanie po czenia 335

ze roacuted em danych 336

Kup książkę Poleć książkę

Skorowidz 539

Ttabela danych

Categories 418Customers 305deklaracje kaskadowych arkuszy stylu 275edycja

danych 279danych w wierszu 257rekordoacutew 307 310

Employees 240 288filtrowanie listy 275integralno danych 288Konta 321 326kwerenda wybieraj ca 240Orders 291 315OrdersDetails 307pobieranie fotografii 276pobranie danych z wykorzystaniem JScript 280prezentacja

danych 277 325informacji 252listy danych 248pierwszego rekordu 246rekordoacutew 317

przekazanie do widoku 248Shippers 251tworzenie rekordoacutew 311umieszczenie w bazie danych 321uruchomienie edycji danych 258usuwanie

danych 288rekordoacutew 271 305 306

widok b du 268wstawianie

danych 294rekordoacutew 251

wy wietlenie listykonfiguracja hiper cza 315

zako czenie edycji rekordu 267tablica asocjacyjna 479tablica bajtoacutew

konwersja do bitmapy 277tampering 147task pane 371Task-based Asynchronous Pattern 465TDD 15

test jednostkowy funkcjonalno ci kontrolera28

Test-Driven Development 15testowanie

aplikacji 29wzorcoacutew wyra e regularnych 76 78

Toolbox 274

transakcje 319automatyczne zarz dzanie 327otaczaj ce 329poziom izolacji 332tworzenie i r czna kontrola 319

trasowanie 121aplikacja 430blokowanie dost pu 124domy lne regu y 123Ksi gaGosci_MVC3 430w asne regu y 124

trasowanie adresoacutew URL 121T-SQL 319

czynno ci bazodanowe 345tworzenie

bazy danych 40interfejsu u ytkownika

jQM 459szablony 231wzorzec MVVM 227

u ytkownika 200kody b doacutew 201

widoku Index 231wzorcoacutew wyra e regularnych 76

typed DataSet 244typizacja

silna 46s aba 46

typy puste 27

Uujawnienie krytycznych informacji 147ukryte pola 441Uniform Resource Locator 18URL 18uruchomienie aplikacji 503us uga

AspNetSqlProvider 178ustawienia aplikacji 167

odczytanie z pliku konfiguracyjnego 169UTC 155uwierzytelnienie 149

centralny serwis 151certyfikaty 150formularze logowania 151

atrybuty elementu forms 154konfiguracja 153mechanizmy zintegrowane z ASPNET 149na bazie protoko u NTLM 150przekazywanie informacji 151proste 150skroacutecone 150us ugi systemu Windows 150

Kup książkę Poleć książkę

540 ASPNET MVC

Vvariable placeholders 122view engine 21views 16viewstate 442Visual Studio

kreator projektu 19Visual Studio Development Server 496VS 2012

instalacja 240kreator Add New Item 242

VSDS 496

Wwalidacja

adresue-mail 83URL 83WWW 84

danych 53a technologia Entity Framework 68konfiguracja 66modelu Pracownik 66odwo anenie do jQuery 61po stronie klienta 67wyra enia regularne 73

skrypty i style walidatoroacutew 438w asno ci klasy encji 435

w tek 465Web API 477

edycja danych 491klient 483konfiguracja interfejsu 478obs uga da typu POST 486pobranie danych z serwera 485serwis sieciowy 479usuwanie danych 493

web serwer 495Web Site Administration Tool 161

konfigurowanie uprawnie 165zarz dzanie

dostawcami us ug 178u ytkownikami 163

WebForms 17bezpiecze stwo aplikacji 152integracja komponentoacutew z MVC 367kontrolka Repeater 434obs uga wyj tkoacutew 172przetwarzanie dania aplikacji klienckiej 18separacja modelu 427weryfikacja poprawno ci projektu 434

weryfikacjakodu pocztowego 81to samo ci 151

widok 16 25 30aplikacji

MVC4 453przystosowanie do urz dze mobilnych

459Transakcje 326

cz ciowy 30dodawanie 31edycji klienta 307elementy 31formularz

dodawania wpisu 425logowania 203

kontroleraaplikacja Kadry 58panelu administracyjnego 222

kontrolera AdminController 213kontrolera Dopasowania 77kontrolera ErrorControler 174kontrolera Glosowania 103kontrolera Home 131 169 182 307

metodaWyswietlLog 142Raport 375Transakcje 320

kontrolera HomeController 246AsynchronicznyKontroler 468EksportDanych 417

kontrolera Lista 93kontrolera Mapa 33 34

formularz 70Trasa 50

kreatorakonta u ytkownika 205zmiany has a 206

listyklientoacutew 302pracownikoacutew 61wyznaczonych tras 48zamoacutewie 316

mapyod wie enie 108parametryzacja 34

mechanizm przetwarzania 30modyfikowanie formularza 437obs uga wyj tkoacutew 130Pracownicycshtml 453projektowanie 31transfer danych do kontrolera 36typu CRUD 52

Kup książkę Poleć książkę

Skorowidz 541

typu GridViewimplementacja 48

typy plikoacutew 30utworzenie 30uzupe nianie tre ci 33walidacja 435wi zanie z modelem 437wstawianie rekordoacutew 312wynikoacutew ankiety 105wy wietlanie wpisoacutew 432

wielodziedziczenie 360Windows Authentication Provider 149Windows Data Protection API 187Windows Forms

implementacja klienta 483Windows Live ID 149w a ciwo

ConnectionString 243IsMobileDevice 460ModelStateIsValid 47

wstawianie rekordoacutew 299wstrzykni cie kodu 181 185wykresy 406

konfiguracjaserii danych 407typu 407

pobranie danych roacuted owych 408wy czenie aplikacji 171wyra enia lambda 46wyra enia regularne 73

atrybuty modelu 84liczba wyst pie sk adnikoacutew 76wzorzec

adres URL 83imi e skie 81kod pocztowy 80tworzenie 76

znaki i cyfry 74znaki specjalne 74znaki w wyznaczonych miejscach a cucha 75

wzorzecodnajdywanie

znakoacutew i cyfr 74znakoacutew specjalnych 74znakoacutew w wyznaczonych miejscach

a cucha 75okre lanie

liczby wyst pie znakoacutew 76

XXSS 181

Zzabezpieczenia

aplikacji bazodanowych 335ataki XSS 187informacje o b dach 171kodu po redniego 338konfiguracja 161konfiguracja aplikacji

kreatory 162obs uga wyj tkoacutew 171pliku konfiguracyjnego 167 187przed atakami 148ustawienia aplikacji 167witryny 181zarz dzanie dostawcami us ug 178z o liwy kod 181

zarz dzanieu ytkownikami i grupami 211

dost p do panelu administracyjnego 216lista grup 221podzia na grupy 220pobieranie listy 213tworzenie nowej grupy 222zmiana przynale no ci do grupy 215

z o ono ci aplikacji 16zdarzenie

DataGridViewCellDoubleClick 491rejestrowanie 430

z o liwy koddzia anie 181

znacznikinput 288

znaki specjalneodnajdywanie 74

zwi zanie z modelem 48zwi zek 347

danie 25asynchroniczna obs uga 92 466 470

skrypty 318zadania 473

GET 64POST 64przetwarzanie 127zablokowanie obs ugi 124

Kup książkę Poleć książkę

Notatki

Kup książkę Poleć książkę

304 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlDisplayFor(modelItem =gt itemContactTitle) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemAddress) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCity) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemRegion) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemPostalCode) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCountry) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemPhone) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemFax) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemRowError) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemHasErrors) lttdgt lttdgt HtmlActionLink(Edytuj ScaffoldingEdit new id = itemCustomerID ) | HtmlActionLink(Zamoacutewienia ScaffoldingMasterDetail new id = itemCustomerID ) | HtmlActionLink(Usu ScaffoldingDelete new id = itemCustomerID ) lttdgt lttrgt

lttablegt

6 W pliku HomeControllercs

a) Utwoacuterz pole klasyCustomersTableAdapter customersTableAdapter = new CustomersTableAdapter()

b) Dodaj polecenia z listingu 182

Listing 182 Prezentacja listy klientoacutew

private void PobierzDaneKlientow() northwindDataSetEnforceConstraints = false customersTableAdapterFill(northwindDataSetCustomers)

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 305

northwindDataSetEnforceConstraints = true

public ActionResult ScaffoldingList() PobierzDaneKlientow() return View(ScaffoldingList northwindDataSetCustomers)

7 Skompiluj i uruchom aplikacj

Po uruchomieniu aplikacji i klikni ciu hiper cza z etykiet Scaffolding zostanie wy-wietlona lista klientoacutew ktoacuterej posta powinna by analogiczna do przedstawionej na

rysunku 182 W kolejnym kroku zaimplementujemy mo liwo usuwania edycji oraztworzenia rekordoacutew w tabeli Customers

Rysunek 182 Lista klientoacutew

Usuwanie rekordoacutewW celu zaimplementowania mo liwo ci usuwania rekordoacutew z tabeli Customers wyko-naj nast puj ce czynno ci

1 W widoku projektowania obiektu NorthwindDataSet skonfiguruj relacjpomi dzy tabelami Orders i Customers wed ug wzoru z rysunku 183

2 Klas kontrolera Home uzupe nij o polecenia z listingu 183

Kup książkę Poleć książkę

306 Cz II Technologie bazodanowe w aplikacjach internetowych

Rysunek 183Konfiguracja wi zoacutewintegralno ci danych

Listing 183 Usuwanie rekordoacutew z tabeli Customers

private void AktualizujDaneKlientow() northwindDataSetEnforceConstraints = false

orderDetailsTableAdapterUpdate(northwindDataSetOrder_Details) ordersTableAdapterUpdate(northwindDataSetOrders) customersTableAdapterUpdate(northwindDataSetCustomers)

northwindDataSetEnforceConstraints = true

public ActionResult ScaffoldingDelete(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) if (cdr = null) Usuwanie rekordoacutew potomnych DataRow[] zamowienia = cdrGetChildRows(northwindDataSetRelations[FK_Orders_Customers])

foreach (DataRow dr in zamowienia) drDelete()

Usuwanie rekordu klienta cdrDelete()

Aktualizacja wszystkich powi zanych tabel AktualizujDaneKlientow()

return ScaffoldingList()

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 307

Podczas usuwania danego rekordu nale y zadba o rekordy z innych tabel ktoacutere sz nim zwi zane relacjami Wiersze tabeli Customers s skojarzone z rekordami z tabelOrders oraz OrdersDetails Z tego powodu aktualizuj zawarto ci tych tabel po usu-ni ciu wybranego rekordu klienta Osierocone rekordy z tabeli Orders s usuwane ra-zem z nim

Edycja rekordoacutewDo edycji rekordoacutew w tabeli Customers potrzebny b dzie odpowiedni widok ktoacuteryprzygotuj na bazie automatycznie wygenerowanego kodu roacuted owego

1 Zgodnie z przepisem z podrozdzia u bdquoLista rekordoacutewrdquo utwoacuterz widokkontrolera Home i skonfiguruj go wed ug wzoru z rysunku 184

Rysunek 184Konfiguracja widokuedycji klienta

2 Wygenerowany automatycznie plik widoku ScaffoldingEditcshtmlzmodyfikuj zgodnie z listingiem 184

Listing 184 Definicja widoku edycji klienta

model NorthwindMVCModelsNorthwindDataSetCustomersRow

ViewBagTitle = ScaffoldingEdit

lth2gtScaffoldingEditlth2gtlth2gtEdycja rekordulth2gt

ltscript src=UrlContent(~Scriptsjqueryvalidateminjs)type=textjavascriptgtltscriptgt

Kup książkę Poleć książkę

308 Cz II Technologie bazodanowe w aplikacjach internetowych

ltscript src=UrlContent(~Scriptsjqueryvalidateunobtrusiveminjs)type=textjavascriptgtltscriptgt

using (HtmlBeginForm(EdytujDaneKlienta Home new id = ModelCustomerID)) HtmlValidationSummary(true) ltfieldsetgt ltlegendgtDane klientaCustomersRowltlegendgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCustomerID) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCustomerID) HtmlValidationMessageFor(model =gt modelCustomerID) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCompanyName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCompanyName) HtmlValidationMessageFor(model =gt modelCompanyName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactName) HtmlValidationMessageFor(model =gt modelContactName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactTitle) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactTitle) HtmlValidationMessageFor(model =gt modelContactTitle) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelAddress) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelAddress) HtmlValidationMessageFor(model =gt modelAddress) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCity) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCity) HtmlValidationMessageFor(model =gt modelCity) ltdivgt

ltdiv class=editor-labelgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 309

HtmlLabelFor(model =gt modelRegion) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRegion) HtmlValidationMessageFor(model =gt modelRegion) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPostalCode) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPostalCode) HtmlValidationMessageFor(model =gt modelPostalCode) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCountry) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCountry) HtmlValidationMessageFor(model =gt modelCountry) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPhone) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPhone) HtmlValidationMessageFor(model =gt modelPhone) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelFax) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelFax) HtmlValidationMessageFor(model =gt modelFax) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRowError) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRowError) HtmlValidationMessageFor(model =gt modelRowError) ltdivgt

ltpgt ltinput type=submit value=SaveZapisz gt ltpgt ltfieldsetgt

ltdivgt HtmlActionLink(Back to List Index) HtmlActionLink(Powroacutet do listy rekordow ScaffoldingList)ltdivgt

Kup książkę Poleć książkę

310 Cz II Technologie bazodanowe w aplikacjach internetowych

3 W kontrolerze Home zdefiniuj metody z listingu 185

Listing 185 Edycja danych klienta

public ActionResult ScaffoldingEdit(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id)

if (cdr = null) return View(ScaffoldingEdit cdr) else return ScaffoldingList()

private void PrzepiszDaneKlienta(FormCollection daneKlienta refNorthwindDataSetCustomersRow rekordKlienta)

rekordKlientaCompanyName = daneKlienta[CompanyName]ToString() rekordKlientaContactName = daneKlienta[ContactName]ToString() rekordKlientaContactTitle = daneKlienta[ContactTitle]ToString() rekordKlientaAddress = daneKlienta[Address]ToString() rekordKlientaCity = daneKlienta[City]ToString()

public ActionResult EdytujDaneKlienta(FormCollection daneKlienta string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) if (cdr = null) PrzepiszDaneKlienta(daneKlienta ref cdr) AktualizujDaneKlientow() return ScaffoldingList()

Proces edycji rekordu w bazie danych za pomoc technologii ADONET opiera si nainformacjach zebranych w poprzednich rozdzia ach wi c nie b d go tu szczegoacute owoopisywa Celem tego przyk adu by o automatyczne wygenerowanie widoku umo li-wiaj cego edycj danych klienta przystosowanie go do w asnych potrzeb oraz inte-gracja z kontrolerem

Separacja modelu widoku i kontrolera umo liwia narz dziom Visual Studio 2012 auto-matyczne generowanie widoku na podstawie definicji modelu Jednak e jak pokaza-em w tym podrozdziale kreator tworzy widok ktoacutery umo liwia edycj wszystkich poacutel

rekordu (nawet identyfikatora) co sprawia e w wi kszo ci przypadkoacutew nale y sa-modzielnie edytowa plik widoku w celu przystosowania go do potrzeb projektowanejaplikacji Jednak jak pokazuje powy szy przyk ad nie jest to rzecz skomplikowan

Integracja widoku z kontrolerem polega na odpowiednim przekazywaniu informacjio edytowanym rekordzie oraz warto ci jego poacutel Do tego celu wykorzysta em identy-fikator klienta ktoacutery jednoznacznie identyfikuje rekordy w tabeli Customers

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 311

Przyk adowy wynik polece zaimplementowanych w tym podrozdziale przedstawiarysunek 185

Rysunek 185Edycja danych klienta

Tworzenie rekordoacutewW poprzednich podrozdzia ach zaimplementowa em trzy spo roacuted czterech podstawo-wych elementoacutew schematu CRUD czyli odczytywanie (R) aktualizacj (U) oraz usu-wanie (D) rekordoacutew Ostatnim elementem jest tworzenie (C) nowych rekordoacutew W celuzaimplementowania procedury uzupe niania tabeli Customers nowymi rekordami na-le y post pi nast puj co

1 W Solution Explorer rozwi w ze Views a nast pnie kliknij prawymprzyciskiem myszy folder Home

2 Wybierz opcj Add a nast pnie Viewhellip z menu kontekstowego

3 W kreatorze Add View

a) Zmie nazw widoku na ScaffoldingCreate

b) Zaznacz pole wyboru Create a strongly-typed view

c) Z listy dost pnych modeli wybierz pozycj CustomersRow

d) Z listy rozwijanej Scaffold template wybierz Create

e) Kliknij przycisk Add

4 Utworzony w ten sposoacuteb plik ScaffoldingCreatecshtml zmodyfikuj wed ugwzoru z listingu 186

Kup książkę Poleć książkę

312 Cz II Technologie bazodanowe w aplikacjach internetowych

Listing 186 Widok umo liwiaj cy wstawianie rekordoacutew do tabeli Customers

model NorthwindMVCModelsNorthwindDataSetCustomersRow

ViewBagTitle = ScaffoldingCreate

lth2gtScaffoldingCreatelth2gtlth2gtTworzenie rekordulth2gt

ltscript src=UrlContent(~Scriptsjqueryvalidateminjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~Scriptsjqueryvalidateunobtrusiveminjs)type=textjavascriptgtltscriptgt

using (HtmlBeginForm(DodajKlienta Home)) HtmlValidationSummary(true) ltfieldsetgt ltlegendgtDane klientaCustomersRowltlegendgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCustomerID) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCustomerID) HtmlValidationMessageFor(model =gt modelCustomerID) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCompanyName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCompanyName) HtmlValidationMessageFor(model =gt modelCompanyName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactName) HtmlValidationMessageFor(model =gt modelContactName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactTitle) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactTitle) HtmlValidationMessageFor(model =gt modelContactTitle) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelAddress) ltdivgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 313

ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelAddress) HtmlValidationMessageFor(model =gt modelAddress) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCity) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCity) HtmlValidationMessageFor(model =gt modelCity) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRegion) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRegion) HtmlValidationMessageFor(model =gt modelRegion) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPostalCode) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPostalCode) HtmlValidationMessageFor(model =gt modelPostalCode) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCountry) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCountry) HtmlValidationMessageFor(model =gt modelCountry) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPhone) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPhone) HtmlValidationMessageFor(model =gt modelPhone) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelFax) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelFax) HtmlValidationMessageFor(model =gt modelFax) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRowError) ltdivgt ltdiv class=editor-fieldgt

Kup książkę Poleć książkę

314 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlEditorFor(model =gt modelRowError) HtmlValidationMessageFor(model =gt modelRowError) ltdivgt

ltpgt ltinput type=submit value=CreateUtwoacuterz gt ltpgt ltfieldsetgt

ltdivgt HtmlActionLink(Back to List Index) HtmlActionLink(Powroacutet do listy ScaffoldingList)ltdivgt

5 Definicj kontrolera Home uzupe nij o polecenia z listingu 187

Listing 187 Wstawianie rekordoacutew do tabeli Customers

private char PobierzZnak(string lancuch int index) Random random = new Random() char znak

if (lancuchLength gt index) znak = lancuch[index] else znak = (char)randomNext(0 255)ToString()[0]

return znak

private void UtworzIdentyfikatorKlienta(ref NorthwindDataSetCustomersRowdaneKlienta)

string identyfikator = int indexZnaku = 0

identyfikator += PobierzZnak(daneKlientaCompanyName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactTitle indexZnaku) identyfikator += PobierzZnak(daneKlientaAddress indexZnaku) identyfikator += PobierzZnak(daneKlientaCity indexZnaku)

daneKlientaCustomerID = identyfikator

public ActionResult DodajKlienta(FormCollection daneKlienta string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersNewCustomersRow()

PrzepiszDaneKlienta(daneKlienta ref cdr)

UtworzIdentyfikatorKlienta(ref cdr)

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 315

customersTableAdapterInsert(cdrCustomerID cdrCompanyName cdrContactName cdrContactTitle cdrAddress cdrCity )

AktualizujDaneKlientow()

return ScaffoldingList()

Wstawienie rekordoacutew do tabeli Customers jest analogiczne do ich edycji Jedyn roacute -nic jest konieczno utworzenia identyfikatora klienta gdy nie jest on tworzonyautomatycznie jak to by o w przypadku tabeli Employees Identyfikatory rekordoacuteww tabeli Customers s pi cioelementowymi ci gami znakoacutew Tworz je na podstawiepierwszych liter poacutel CompanyName ContactName ContactTitle Address oraz City Je liw tych polach znajduj si puste ci gi to odpowiedni liter zast puj losowo wyge-nerowanym znakiem

W kolejnym podrozdziale poka w jaki sposoacuteb wy wietli informacje o rekordachpotomnych opieraj c si na relacji pomi dzy tabelami

Formularz z podformularzem(MasterDetail Form)

Jako podsumowanie tego rozdzia u utworz formularz z podformularzem tak zwanyformularz MasterDetail Jego dzia anie polega na tym e wy wietlanie danych od-bywa si na bazie co najmniej dwoacutech komponentoacutew (np blokoacutew czy tabel) oraz rela-cji mi dzy tabelami Pierwszy komponent prezentuje rekordy zawarte w tabeli g oacutew-nej (ang master) a drugi zawiera dane z tabeli podrz dnej (ang detail) Komponentzwi zany z tabel podrz dn ma zazwyczaj za zadanie prezentowa szczegoacute owe da-ne odpowiadaj ce rekordowi z tabeli nadrz dnej ktoacutery zosta wskazany przy pomocyzwi zanej z nim listy rekordoacutew Pola tych tabel musz by zatem uporz dkowane w takisposoacuteb aby pokazywa y informacj o tym samym rekordzie Uzyskuje si to przy po-mocy relacji mi dzy tabelami ktoacuterej zadaniem jest powi zanie informacji zawartychw bazie danych

W tym podrozdziale tabel nadrz dn b dzie tabela Customers a podrz dn OrdersPo klikni ciu na hiper cze z etykiet zamoacutewienia wy wietli si lista rekordoacutew tabeliOrders skojarzonych z danym klientem dania prezentacji zamoacutewie b d realizo-wane asynchronicznie

1 Plik widoku ScaffoldingListcshtml zmodyfikuj wed ug wzoru z listingu 188

Listing 188 Konfiguracja hiper cza umo liwiaj cego wy wietlenie listy zamoacutewie danego klienta

hellipforeach (var item in Model) lttrgt lttdgt

Kup książkę Poleć książkę

316 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlDisplayFor(modelItem =gt itemCustomerID) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCompanyName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactTitle) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemAddress) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCity) lttdgt lttdgt HtmlActionLink(Edytuj ScaffoldingEdit new id = itemCustomerID ) | AjaxActionLink(Zamoacutewienia ScaffoldingMasterDetail new id = itemCustomerID new AjaxOptions UpdateTargetId = zamowienia OnSuccess = documentgetElementById(zamowienia)scrollIntoView() ) | HtmlActionLink(Usu ScaffoldingDelete new id = itemCustomerID ) lttdgt lttrgtlttablegt

ltdiv id=zamowieniagtltdivgt

2 Utwoacuterz widok cz ciowy o nazwie ZamowieniaPartialViewcshtml i wstaww nim polecenia z listingu 189

Listing 189 Definicja widoku prezentuj cego list zamoacutewie

model IEnumerableltNorthwindMVCModelsNorthwindDataSetOrdersRowgt

if (Model == null) lth2gtBrak zamoacutewie lth2gtelse lth2gtLista zamoacutewie lth2gt

lttablegt lttrgt ltthgt OrderDate ltthgt ltthgt RequiredDate ltthgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 317

ltthgt ShippedDate ltthgt ltthgt ShipName ltthgt ltthgt ShipAddress ltthgt ltthgt ShipCity ltthgt ltthgtltthgt lttrgt

foreach (var item in Model) lttrgt lttdgt itemOrderDateToShortDateString() lttdgt lttdgt itemRequiredDateToShortDateString() lttdgt lttdgt itemShippedDateToShortDateString() lttdgt lttdgt itemShipName lttdgt lttdgt itemShipAddress lttdgt lttdgt itemShipCity lttdgt lttrgt lttablegt

3 Kontroler Home uzupe nij o metod ScaffoldingMasterDetail ktoacuterej definicjprzedstawi em na listingu 1810

Listing 1810 Pobranie i prezentacja rekordoacutew potomnych wybranego klienta

public ActionResult ScaffoldingMasterDetail(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) NorthwindDataSetOrdersRow[] zamowieniaPracownika = null

if (cdr = null) zamowieniaPracownika = (NorthwindDataSetOrdersRow[])cdrGetChildRows(FK_Orders_Customers)

Kup książkę Poleć książkę

318 Cz II Technologie bazodanowe w aplikacjach internetowych

if (RequestIsAjaxRequest()) return View(ZamowieniaPartialView zamowieniaPracownika) else return ScaffoldingList()

4 Sekcj ltheadgt pliku _Layoutcshtml uzupe nij o polecenia z listingu 1811

Listing 1811 Import skryptoacutew obs uguj cych dania asynchroniczne

ltscript src=UrlContent(~Scriptsjqueryunobtrusive-ajaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftAjaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftMvcAjaxjs)type=textjavascriptgtltscriptgt

5 Po skompilowaniu i uruchomieniu aplikacji powiniene uzyska efektanalogiczny do przedstawionego na rysunku 186

Rysunek 186 Przyk ad formularza typu MasterDetail

Kup książkę Poleć książkę

Skorowidz

AACL 149action methods 25ActiveX Data Object 238ADO 238ADONET 238

obiekty 238podstawy 237synchronizacja buforu ze roacuted em danych 273

adresy URLautoryzacja 157parametry 122trasowanie 121wzorce 122 123

agile programming 15AJAX 91

aktualizacja bloku witryny 113dodanie referencji do bibliotek JavaScript 94

akcjaCreate 354Delete 357Details 353dodaj ca nowy produkt 355Edit 356

aktualizacjazawarto ci elementu witryny 92

algorytmRSA 187

ambient transaction 329ankieta 102AntiXss 187aplikacje

bazodanowe 235bezpiecze stwo 335mechanizm transakcji 319scaffolding 301

synchronizacja ze roacuted em danych 273uwagi do projektowania 345

mo liwo edytowania wpisoacutew 441rejestrowanie zdarze i trasowanie 430

Application Domain 339architektura obiektowa 347ASPNET

konfiguracja aplikacji 161mechanizmy uwierzytelnienia 149metody globalne 107w czanie i wy czanie aplikacji 171

ASPNET AJAX 91ASPNET MVC 15

komponenty 16ASPX 21 30asynchroniczne przetwarzanie da http

jQuery 113Asynchronous JavaScript and XML 48Asynchronous Programming Model 464ataki

rodzaje 147SQL Injection 148 344wy udzenie informacji 148z o liwy kod 181

atrybut 347AcceptVerbs(HttpPost) 47AcceptVerbs(HttpVerbsPost) 65AssociationAttribute 58Authorize 200AuthorizeAttribute 128autoryzacyjny 145ConcurrencyCheckAttribute 58Confirm 95cookieless 154CustomValidationAttribute 58 66data-bind 230DataType 54 57

Kup książkę Poleć książkę

528 ASPNET MVC

atrybutDataTypeAttribute 58defaultRedirect 173defaultUrl 154DisplayAttribute 58DisplayColumnAttribute 58DisplayName 436EditableAttribute 58enableCrossAppRedirects 155EnumDataTypeAttribute 58FilterUIHintAttribute 58HandleError 138 175HandleErrorAttribute 129HttpMethod 95InsertionMode 95KeyAttribute 58klasy do konfiguracji metadanych 57 58LoadingElementDuration 110LoadingElementId 95 110Log

klasa implementuj ca 142loginUrl 154MetadataType 69MetadataTypeAttribute 58mode 153 173modelu 55name 155NonAction 26 135OnBegin 95OnComplete 95OnFailure 95OnSuccess 95 110OutputCache 133OutputCacheAttribute

parametry 134passwordFormat 156protection 155Range 54 66RangeAttribute 58redirectMode 173RegularExpressionAttribute 58Required 54 66RequiredAttribute 58RequireHttps 135requireSSL 155slidingExpiration 155StringLength 66StringLengthAttribute 58TestClass 29TestMethod 29ticketCompatibilityMode 155timeout 155TimestampAttribute 58UpdateTargetId 95

Url 95ValidateInput 185

atrybuty modeluwyra enia regularne 84

Attribute 347authentication ticket 151auto post back 217autocomplete textbox 115automatyczne uzupe nienie pola tekstowego 115autoryzacja 149 157

adresoacutew URL 157konfiguracja 157

grupy u ytkownikoacutew 158mechanizm filtrowania 158otwarta 460plikoacutew 157zdalna

powi zanie z portalem Facebook 461Azure 496

Bbazy danych 40 237

aktualizacja 41lista rekordoacutew 301Northwind 240

detale produktu 352dodawanie po cze 350pobieranie produktoacutew 351

po czenie ze roacuted em danych 241relacyjne 237schemat CRUD 301transakcje 319tworzenie 321

nowego rekordu 48schematu na bazie modelu encji 357

usuwanie danych 290regu y integralno ci 293

usuwanie powi zanych wierszyrekordy potomne 291

warstwa dost pu 42bezpiecze stwo

aplikacji internetowych 147ataki 147mechanizmy 149

biblioteka NETprogramowanie asynchroniczne 464

biblioteka skryptoacutewMapajs 32

bilet uwierzytelniaj cy 151b dy

dzia ania aplikacji 171strona b du 176tworzenie u ytkownika 202wprowadzenie z ego rekordu 268

Kup książkę Poleć książkę

Skorowidz 529

body 383buforowanie

danych ze roacutede zewn trznych 133bundling 475Business Intelligence 368

Ccallback 35CAS 151 338CDN 113Central Authentication Service 151centralna us uga uwierzytelnienia 151certyfikat 337CLR

procesy systemowe 466Code Access Security 338Confirm 96connString 341controllers 16Coordinated Universal Time 155Create Read Update Delete 301cross-site scripting 181CRUD 54 301Crystal Reports 368

Ddane

agregacja 378bezpo redni dost p do roacuted a 346eksport 413

do dokumentu tekstowego 419do PDF 420skoroszyt MS Excel 421tabele dynamiczne 418

integralno 288 319pomini cie sprawdzania 292regu y 291

modyfikacja 249platforma modelowania 347prezentacja

graficzna 406w postaci macierzowej 390

przekazywaniez formularza do roacuted a 46z kontrolera do widoku 437 439

serializacja i transfer struktur 117szyfrowanie 337typu

ActionResult 25walidacja 53weryfikacja 53wi zy integralno ci 306

wy wietlanie 315zabezpieczenie 338

Data Binding 389Data Definition Language 345Database Management System 237DBMS 237

wi zy integralno ci 238DDL 345denial of service 147detail 315Development Server 504DIE 53DisplayFormatAttribute 58document object model 92DOM 92domena aplikacji 339 466

instancja obiektoacutew 341tworzenie 339wspoacute dzielenie obiektu 341

dostawcy us ug 178dost p anonimowy 150DotNetOpenAuth 149DPAPI 187DRY 53dyrektywa

model 46

Eelement

customErrors 173success 115

elevation of privilege 147encapsulation 107encja 347

atrybuty 54bazodanowa 54KategoriaProduktu 358odwzorowanie w bazie danych 360Order_Details 362Orders 361Products 361Produkt 358

Entity 347Entity Framework 43 347

POCO 360potwierdzenie explicite 356technologie 349wersje 347

Entity Relationship Model 347Entity SQL 349ERM 347Event-based Asynchronous Pattern 465event-driven programming 17

Kup książkę Poleć książkę

530 ASPNET MVC

FFile Transfer Protocol 495filtry 127

akcji 127 139autoryzacyjne 127 144dynamiczne 395kolejno wykonywania 137

priorytety 138Log

metody 141LogAttribute

definicja klasy 140podstawowe atrybuty 128statyczne 395w asne 139wyj tkoacutew 128 144

niestandardowe 145wyniku 128 144

for 434foreach 51Forms Authentication Provider 149formularz

MasterDetail 315z podformularzem 315

funkcjadelay 217ListaPracownikoacutew 57Mid 390RolesIsUserInRole 217Today 390wyznaczaj ca tras 109zmienPrzynaleznoscDoGrupy 217 218

GGauge 383 403GDI 368graficzny interfejs u ytkownika 17 30Graphics Device Interface 368GridView 48grupy u ytkownikoacutew

autoryzacja 158GUI 17

Hhard-coding 167haszowanie 150helper methods 25html helper 455

Iidentyfikator

klienta 315rekordoacutew 315

IIS 121 149 495instalacja

ASPNET 445 498serwera w Windows 7 496serwera w Windows 8 496

mened er Windows 499uruchamianie aplikacji 503

serwer do rozwoju aplikacji 504information disclosure 147instancje aplikacji 465instancjonowanie modelu 39IntelliSense 247interfejs u ytkownika

przycisk umo liwiaj cy dodanie pracownika294

przycisk usuni cia wybranego rekordu 289Internet Information Services 121internetowe us ugi informacyjne 495in ynieria spo eczna 148Isolation Level 332izolacja 339 466

JJavaScript Object Notation 117jQM 457jQuery

autocomplete 116pliki roacuted owe 113

jQuery Mobile 457jQuery UI 367

wykorzystanie przyciskoacutew 284JSON 117

obiekt typu adres 118

KKey Performance Indicators 403klasa

AccountController 198ActionExecutingContext 143AdminController 212Ajax 94AjaxOptions 94

atrybuty 95AspNetHidden 442AssemblyName 170Assert 29

Kup książkę Poleć książkę

Skorowidz 531

AuthConfig 461BundleConfig 475Configuration 170ConfigurationManager 170ConfigurationSection 187 188ConnectionStringBuilder 345DpapiProtectedConfigurationProvider 187FiltryRaportuMacierzowego 397Form1 484FormsAuthentication 152Global 430HandleErrorInfo 133HtmlHelper 437HttpClient 483 486HttpResponseMessage 486kontekstu 362LogOnModel 198MarshallByRefObject 341Membership 152 198 211MvcApplication 430NorthwindContext 362ObjectContext 348ObjectQueryltTgt 348Order_Details 362Orders 361Osoba 228ParametryWatku 470Pracownik 484Products 361Produkt 230Raport 392RequestBrowser 460ResultExecutedContext 144ResultExecutingContext 144Roles 211RsaProtectedConfigurationProvider 187SQLConnCAS

definicja 340stowarzyszona z modelem 69SystemNetHttpFormattingJsonMediaTypeF

ormatter 491SystemTextRegularExpressions 74SystemWebSecurityRoles 159Task 465 472testuj ca 29Thread 465 469TransactionScope 327UrlRoutingModule 121ViewData 434 436 439WebApiConfig 478WebConfigurationManager 170Wpisy 427 436

klucze 237MAC 155obce 238podstawowe 238

kluczowe wska niki efektywno ci 403dynamiczna zmiana warto ci 404

Knockout 227wykorzystanie szablonoacutew JavaScript 230wywo anie skryptu 229

kodowanie danychprzekazywanych przez u ytkownikoacutew 186

komponentFormDanePracownika 489obiektu

PartialView 99typu ListBox 99

ReportViewer 368 375eksport danych 413nawigacja mi dzy stronami raportu 377

komponenty u ytkownika 30komunikaty o b dach 171

kod statusowy 174 175koncepcja programowania zdarzeniowego 16konfiguracja

po czenia z baz danych 241uprawnie puli aplikacji 454walidacji danych 66

konkurencyjno aplikacji 332kontekst wi zania 389kontrola wprowadzanych danych 263

metoda onColumnChanged 269wstrzymanie walidacji wiersza 267zako czenie edycji rekordu 267

wymuszenie 267kontroler 16 25

AccountController 195Admin 223AdminController 212aplikacja Kardy 63asynchroniczny 466

a zadania 472dane wyj ciowe 25domeny 150ErrorController 174Glosowania 103Home 182 224 228 231

Bezpiecze stwo 336filtr wyj tku 131

HomeController 184EksportDanych 415Northwind 245

interfejs Web API 477KsiegaGosciController 424

Kup książkę Poleć książkę

532 ASPNET MVC

kontrolerLista 93Mapa 33

autouzupe nianie 117modyfikacja 45

niedost pne metody publiczne 136obs uga POST 431panelu administracyjnego 212

zarz dzanie grupami u ytkownikoacutew 220Pracownicy 57 64PracownicyController

implementacja 481Produkty 351projektowanie 27przekazywanie danych do widoku

zmiany 439uwierzytelnienia 195

klasa 198model 196widoki 203

uzupe nienie o widok 31u ycie modelu odsy anego przez widok 440ValuesController 478weryfikacja funkcjonalno ci 28wi zanie adresu URL z akcj 430widoki 58

konwersja obrazu 278kreator

Add New Item 242Add View 59 302Application 162blokowania szczegoacute oacutew b doacutew 172dodanie u ytkownikoacutew 164grup u ytkownikoacutew 165Provider 162Publish Web 501Security 162tworzenia pracownika 59ustawie aplikacji 167widokoacutew 60wyboacuter dostawcoacutew us ug 178

kwerendy parametryczne 274 401

Llayout witryny 30LINQ

to Entities 349lista rekordoacutew 301

prezentacja 304logika

aplikacji 30bazodanowa 30biznesowa 44

a cuch QueryString 26

Mmaster 315mechanizm

automatycznych w a ciwo ci 57autoryzacji 157eksportu danych 413filtroacutew 127grupowania plikoacutew 475IntelliSense 119QuerynotString 117szyfruj cy 187transakcji 319 321

przelewy bankowe 326wyznaczania trasy przejzdu 34

meotdaInsert 299ProtectSection 191WersjonowanieDataRow

definicja widoku 265message authentication code 155metoda

on 262HtmlValidationSummary 204About 124AcceptChanges 255 263ActionLinkActionLink 61 63 353AddUserToRole 159akcji 25

parametry opcjonalne 27aktualizacja statystyk ankiety 105AktualizujZdjeciePracownika 288Application_AuthenticateRequest 108Application_BeginRequest 107 108Application_End 108Application_EndRequest 107Application_Error 108 172Application_Start 108 123 139 430asynchroniczna kontrolera 472AttachTo 356Authenticate 152AutoUzupelnienie 117

zapytanie LINQ 118BeginEdit 267BeginForm 47 94BeginTransaction 326 332CancelEdit 263ChangeObjectState 356

Kup książkę Poleć książkę

Skorowidz 533

ChangePassword 200hiper cze 208widok 206

ChangePasswordSuccesswidok 206

CreateNazwaEncji 354CreateRole 159CreateUser 153czyBazaDanychIstnieje 326daneDostawcyForm 262DBeginnotEdit 263Delete 270DeleteObject 357DeleteRole 159DeleteUser 153DeszyfrujPlikKonfiguracyjny 191DodajDostawce 255DodajElementDoListy 94 97 101DodajGrupe 223DodajKomentarz 185DodajPracownika 299 491DopiszDoPlikuLog 430Edit 356EdytujDaneDostawcy 261EdytujDanePracownika 493Eksportuj 418EmptyResult 26EndEdit 263EndForm 47ErrorCodeToString 201Fill 246FillByCityName 275FormatDateTime 390FormsAuthenticationSetCookie 199GenerujDane 468Get(int id) 478GetAllRoles 159GetAsync 486GetChildRecords 291GetSection 170GetSectionGroup 170GetUser 153GetUsersInRole 160globalna

aplikacji ASPNET 108Grupy 223HasVersion 263HtmlListBox 97HtmlRenderPartial 101HtmlValidationSummary 61HtmlHelperLabel 437ImiePierwszegoPracownika 246 247Include 475Index 47 79 97 101

kontrolera Mapa 34testowanie 28

IsAjaxRequest 101IsMatch 76IsNotNull 29IsUserInRole 159Label 35ListaDostawcow 252 255ListaPracownikow 248

hiper cze skojarzone 249LogOff 198LogOn 198Macierzowy 397mapowalna 26MetodaAsynchronicznaWatki 472ModelStateAddModelError 199MvcApplicationRegisterRoutes 430obs uga zapyta POST 431odczyt aktualnych bilansoacutew kont 323OdczytajStanyKont 326OnActionExecuted 143OnActionExecuting 127 143onColumnChanged 269OnResultExecuted 144OnResultExecuting 144onRowChanged 266onRowChanging 268OpenConfiguration 170otwarcie po czenia z baz danych 341OtworzPlikDanych 107Page_Load 399PartialViewResult 26PobierzDane 394

modyfikacja 401PobierzPlikLogu 141 143PobierzZdjecie 278PokazTrasy 51PokazWyniki 107pomocnicza 25 455

HtmlEncode 51wykorzystanie 456

PostAsJsonAsync 486PostAsXmlAsync 486PostAsync 486PostResolveRequestCache 121PracownicyWedlugMiast

przechowywanie warto ci filtru 285PutAsJsonAsync 493PutAsXmlAsync 493PutAsync 493ReadAsAsync 486ReadXml 107ReadXmlSchema 107RedirectFromLoginPage 152

Kup książkę Poleć książkę

534 ASPNET MVC

metodaRedirectResult 26RedirectToAction 26RedirectToLoginPage 152RedirectToRoute 26RedirectToRouteResult 26RefreshReport 384Register 199 478RegisterAuth 461 462RegisterBundles 475RegisterGlobalFilters 171RegisterRoutes 94 123RejectChanges 256 263rejestrowanie zdarze aplikacji 430RemoveUserFromRole 160Render 384 413 418RenderPartial 99ResponseWrite 223ResultExecuteResult 143RoleExists 159RolesIsUserInRole 216RolesRemoveUsersFromRole 223route 35RowsAdd 255RozpocznijEdycje 269

hiper cze uruchamiaj ce 267SaveChanges 354ScaffoldingMasterDetail 317Session_End 108Session_Start 108SetAuthCookie 152SetParameters 401 405SignOut 152SprawdzDopasowania 79SprawdzPoprawnoscDatyZatrudnienia 67SqlPermissionAdd 343SqlTransactionCommit 326SqlTransactionRollback 326StronaNieIstnieje 175submit 115SzyfrowaniePlikuKonfiguracyjnego 190szyfruj ca i deszyfruj ca 189SzyfrujPlikKonfiguracyjny 191TextBox 35ThreadSleep 469 472TransactionScopeComplete 329Transfer 36UpdateUser 153UstawParametryRaportu 399UsunGrupe 223UsunTrase 50 51UtworzPracownika 64Uzytkownicy 216ValidateUser 152 153

ValidationMessage 437ValidationMessageFor 61ValidationSummary 437ViewResult 26WebApiConfigRegister 478WersjonowanieDataRow 265

sparametryzowanie 266WpisyZapiszDoPlikuXml 430wykonywanie przelewoacutew 323WyswietlLog 141 142 143wyswietlMape 34 35WyswietlTrase 50

modyfikacja 135 166wyznaczTrase 35ZaktualizujWyniki 107Zapami tajNazw U ytkownika 432ZmienStanKont 328

Microsoft SQL Server 319sposoby uwierzytelnienia 344

MIME type 390minification 476minimalizacja 476model 16 39

APM 464ChangePasswordModel 196EAP 465integracja z elementami aplikacji 39LogOnModel 196obs uga plikoacutew XML 427przesy anie z kontrolera do widoku 432 435RegisterModel 196TAP 465

model binding 48model danych encji 348

dodawanie encji 353edycja encji 355kreator 348 349

czenie encji 359metody akcji 354opcje 361projektowanie relacji 43tworzenie 349

schematu bazy danych 357usuwanie encji 357wyboacuter tabel 350

model first 52model zwi zkoacutew encji 347models 16Model-View-Controller 15Model-View-ViewModel 227Model-Widok-Kontroler 15modu

UrlAuthorizationModule 157

Kup książkę Poleć książkę

Skorowidz 535

MVC 15a Web Forms 16 365 367 423

kod 442serwer internetowych us ug

informacyjnych 495wydajno 443wykorzystanie w projektach 444

ataki XSS 185autoryzacja 158 162bezpiecze stwo aplikacji 152buforowanie 134domy lne wzorce aplikacji 21kreator aplikacji 20mechanizm filtrowania 127Model Binder 355nazwa kontrolera 27obs uga interakcji klient-serwer 121parametry opcjonalne 27pobieranie parametru z adresu URL 26projektowanie aplikacji 18 52przetwarzanie dania aplikacji klienckiej 18sprawdzanie poprawno ci danych 68struktura modelu 39techniki walidacji danych 53utworzenie widoku 30uzupe nianie o komponenty graficzne 367walidacja 438wersja 4 449wyboacuter mechanizmu przetwarzaj cego widoki 21wzorce URL 122zbioacuter modeli szablonu aplikacji 196roacuted o danych 40

MVC4 449grupowanie i optymalizacja skryptoacutew 475kaskadowe arkuszye stylu 475przetwarzanie asynchroniczne 464przystosowanie do urz dze mobillnych 457testowanie aplikacji 457uwierzytelnianie 460

integracja z portalem Facebook 462wsparcie dla urz dze mobilnych 450zdalna autoryzacja 461

MVVM 227

Nnarz dzie

aspnet_regiis 187przetwarzanie tekstu 73

Northwindinstalacja 240kwerenda wybieraj ca 240pobieranie informacji o dostawcach 251

NuGET 483nullable-types 27

OOAuth 461obiekt

AppDomain 339 341Chart 406Command 239Connection 239 241

w a ciwo i 243ConnectionString 343

sposoby uwierzytelniania 344szyfrowanie informacji 335

DataAdapter 239DataGridView 491DataReader 239 273DataRow 255

kontrola wprowadzonych danych 263usuwanie rekordoacutew 270wersje 263wersja proponowana 265wersjonowanie 263w a ciwo ci 255

DataSet 239 244 345edycja rekordoacutew 257kreator konfiguracji TableAdapter 274modyfikacja danych 249tworzenie nowych rekordoacutew 250usuwanie rekordoacutew 271wstawianie rekordoacutew 251wymuszenie wi zoacutew integralno ci 292

DataTable 107DirectionsService 35dostawca 153FormCollection 47jqXHR 218List 389logiki biznesowej 348materializacja 348Matrix 390Membership 152MvcRouteHandler 121 122o okre lonym typie danych 244o silnej typizacji 244o s abej typizacji 247ObjectStateManager 348PartialView 98ReportViewer 368ReportViewerLocalReport 418Request 26 101 432Response 26Route 122ShippersRow 255SqlConnCAS 341SqlConnection 326

Kup książkę Poleć książkę

536 ASPNET MVC

obiektTableAdapter 239 244 273 274 345

edycja danych 279 286wstawianie danych 294

TransactionScope 329parametryzacja 331

typuadres 118AppDomain 466ConcurrentDictionary 479NorthwindDataSet 247ObjectSetltTgt 348Route 121Thread 466

UrlRoutingModule 121ViewBag 36

przekazywanie danych do widoku WebForms 376

ViewData 36 79 432Object Relational Mapping 347Object Services 348obs uga b doacutew

konfiguracja 132w czenie 129

odrzucenie informacji o transakcji 148od wie anie witryny

a fragment widoku 97aktualizacja zawarto ci 113cz ciowe 96

OnSuccess 96operator

await 474konkatenacji 382Top 411Top N 411

ORM 347

Pparametr

CountryName 401data 115filtr 117mapDivId 35maxIloscRekordow 117Order 137raportu 395scopeTimeOut 330

warto ci 330TransactionScopeOption

warto ci 329type 115

parametryzacja kwerend 274partial view 30

piaskownica 341Plain Old CLR Object 360platforma NET

us ugi uwierzytelniania 153plik

ascx 22aspx 22bmp 390cookie 151cookies 154 155cshtml 22 434css 475edmx 360jpg 390js 475konfiguracyjny

zabezpieczenie 187master 22png 390rdl 368rdlc 368tekstowy

wy wietlenie w przegl darce 143vbhtml 22

POCO 360pola klucza 237polecenie

HtmlEncode 187ScriptsRender 476StylesRender 476GET 18POST 18

po czenieze roacuted em danych 241

pomocnik HTML 455Portable Document Format 413po rednik 341poziom izolacji 332

Chaos 333konfiguracja 332ReadCommitted 333ReadUncommitted 333Serializable 333Snapshot 333Unspecified 333

poziom zaufania 339ograniczenie 340

proceduraajax 115AjaxBeginForm 96niemapowalna 26PartialView 26serialize 115

Kup książkę Poleć książkę

Skorowidz 537

proces 465programowanie

oparte na zdarzeniach 17zdarzeniowe 17

projekt aplikacji MVCankieta 102asynchroniczne przetwarzanie da HTTP 92Bezpiecze stwo 181 336

nawi zanie komunikacji ze roacuted emdanych 342

szyfrowanie pliku konfiguracyjnego 191dodawanie i wy wietlanie komentarzy 183domy lny 20EksportDanych 413Filtry 131formularz oceny 107Kadry

walidacja adresu e-mail 84Kardy 55KsiegaGosci_MVC3 424lista prezentuj ca dodawane elementy 97MojaNawigacja 18

blokowanie samodzielnego tworzeniakont 224

buforowanie danych 135implementacja warstwy dost pu 42instalacja na serwerze IIS 500komunikat powitalny 168komunikaty 110komunikaty o b dach 173mechanizm podpowiedzi 115model weryfikuj cy po wiadczenia

u ytkownikoacutew 196modele kontrolera uwierzytelnienia 196od wie enie widoku mapy 109struktura 21szablon 19szablon witryny 225trasowanie da HTTP 123uzupe nienie o baz danych 40uzupe nienie o walidacj danych 69widok b du 175zablokowanie nieautoryzowanego

dost pu 128zarz dzanie u ytkownikami 163zarz dzanie grupami u ytkownikoacutew 212zarz dzanie procesem logowania 198

MsAjax 92NorthwindMVC 241

lista rekordoacutew 301szablon witryny 250

POCO 361priorytety regu filtrowania 137

Raport 368szablon

mechanizmy uwierzytelnienia 156zarz dzanie grupami u ytkownikoacutew 159

Transakcje 319aktualizacja danych 328formularz aktualizacji 328szablon stron 320

uzupe nianie widokiem GridView 49WyrazeniaRegularne 76Zapytania_EF 349

projekt aplikacji MVC4AsynchronicznyKontroler 466

prezentacja danych 468AutoryzacjaOAuth 461implementacja serwisu sieciowego 479konfiguracja grupowania 475MobileMvc 450

testowanie 457pobranie zdj cia 452przygotowanie listy pracownikoacutew 452SerwisSieciowy 477

projekt aplikacji Windows Formsedycja danych 487KlientWebAPI 483tworzenie nowych pracownikoacutew 486

dania typuDELETE 493POST 486PUT 491

projektowaniekontrolera 27widoku 31

protokoacuteFTP 495Kerberos 150NTLM 150SMTP 495SSL 337

proxy 341przechowywanie

informacji o trasach 44wynikoacutew g osowania 107

przeci enie aplikacji 147przekazywanie

danych 44mi dzy widokiem a kontrolerem 36

parametroacutew do metod akcji kontrolera 26przestrze nazw

SystemThreading 465przyjazne linki 122publikowanie aplikacji 495 500

na serwerze IIS 497

Kup książkę Poleć książkę

538 ASPNET MVC

pule aplikacji 465 497konfiguracja 498Windows 7 499Windows 8 500

Rraporty

dane w postaci macierzowej 390data 386definicja

dynamiczna 418filtrowanie danych 394

na poziomie roacuted a 401 418filtry 395formaty prezentacji danych 379grupowanie danych 381hiper cza 387

nawigacyjne 376kolumny obliczeniowe 378konfiguracja

filtrowania dynamicznego 396typu 392roacuted a danych 368

kreator formu 382macierzowe 391numery stron 386obrazy 390parametry 383 394

konfiguracja 399paski narz dziowe 379pola

bazy danych 386formularza 398raportu 390

po czenie z aplikacj 368prezentowanie uk adu graficznego 383projektowanie 371

i prezentowanie 368przystosowanie strony do obs ugi raportoacutew

387renderowanie 368tryby definicji 368tworzenie

definicji lokalnej 368formu 378przy u yciu kreatora 372

uk ad 383wstawianie nag oacutewka i stopki 385wykresy 406wy wietlenie 375

Razor 21 30przetwarzanie definicji widoku 208

RDL 418rekordy

edycja 307lista 301tworzenie 311usuwanie 305

Relationship 347Report Definition Language 418Report Wizard 371repudiation 148request 442response 442responsywno 464rollback transaction 319routing 22 430routowanie 121

SSandBox 341scaffolding 301Secure Socket Layer 337sekcja

membership 178roleManager 179set 441

serwerSMTP

konfiguracja 171us ug informacyjnych 149

weryfikacja to samo ci u ytkownika 149Simple Mail Transfer Protocol 495s owo kluczowe

helper 455await 474using 47 329

spaghetti code 18spoofing 147SQL Server Reporting Services 367SSRS 367stan pola

typu CheckBox 269pobieranie 264

STRIDE 148strona startowa

MojaNawigacja 226strona wzorcowa 30

aplikacji Kadry 55referencja do bibliotek skryptoacutew 70

systemowy serwer us ug informacyjnych 121szyfrowanie po czenia 335

ze roacuted em danych 336

Kup książkę Poleć książkę

Skorowidz 539

Ttabela danych

Categories 418Customers 305deklaracje kaskadowych arkuszy stylu 275edycja

danych 279danych w wierszu 257rekordoacutew 307 310

Employees 240 288filtrowanie listy 275integralno danych 288Konta 321 326kwerenda wybieraj ca 240Orders 291 315OrdersDetails 307pobieranie fotografii 276pobranie danych z wykorzystaniem JScript 280prezentacja

danych 277 325informacji 252listy danych 248pierwszego rekordu 246rekordoacutew 317

przekazanie do widoku 248Shippers 251tworzenie rekordoacutew 311umieszczenie w bazie danych 321uruchomienie edycji danych 258usuwanie

danych 288rekordoacutew 271 305 306

widok b du 268wstawianie

danych 294rekordoacutew 251

wy wietlenie listykonfiguracja hiper cza 315

zako czenie edycji rekordu 267tablica asocjacyjna 479tablica bajtoacutew

konwersja do bitmapy 277tampering 147task pane 371Task-based Asynchronous Pattern 465TDD 15

test jednostkowy funkcjonalno ci kontrolera28

Test-Driven Development 15testowanie

aplikacji 29wzorcoacutew wyra e regularnych 76 78

Toolbox 274

transakcje 319automatyczne zarz dzanie 327otaczaj ce 329poziom izolacji 332tworzenie i r czna kontrola 319

trasowanie 121aplikacja 430blokowanie dost pu 124domy lne regu y 123Ksi gaGosci_MVC3 430w asne regu y 124

trasowanie adresoacutew URL 121T-SQL 319

czynno ci bazodanowe 345tworzenie

bazy danych 40interfejsu u ytkownika

jQM 459szablony 231wzorzec MVVM 227

u ytkownika 200kody b doacutew 201

widoku Index 231wzorcoacutew wyra e regularnych 76

typed DataSet 244typizacja

silna 46s aba 46

typy puste 27

Uujawnienie krytycznych informacji 147ukryte pola 441Uniform Resource Locator 18URL 18uruchomienie aplikacji 503us uga

AspNetSqlProvider 178ustawienia aplikacji 167

odczytanie z pliku konfiguracyjnego 169UTC 155uwierzytelnienie 149

centralny serwis 151certyfikaty 150formularze logowania 151

atrybuty elementu forms 154konfiguracja 153mechanizmy zintegrowane z ASPNET 149na bazie protoko u NTLM 150przekazywanie informacji 151proste 150skroacutecone 150us ugi systemu Windows 150

Kup książkę Poleć książkę

540 ASPNET MVC

Vvariable placeholders 122view engine 21views 16viewstate 442Visual Studio

kreator projektu 19Visual Studio Development Server 496VS 2012

instalacja 240kreator Add New Item 242

VSDS 496

Wwalidacja

adresue-mail 83URL 83WWW 84

danych 53a technologia Entity Framework 68konfiguracja 66modelu Pracownik 66odwo anenie do jQuery 61po stronie klienta 67wyra enia regularne 73

skrypty i style walidatoroacutew 438w asno ci klasy encji 435

w tek 465Web API 477

edycja danych 491klient 483konfiguracja interfejsu 478obs uga da typu POST 486pobranie danych z serwera 485serwis sieciowy 479usuwanie danych 493

web serwer 495Web Site Administration Tool 161

konfigurowanie uprawnie 165zarz dzanie

dostawcami us ug 178u ytkownikami 163

WebForms 17bezpiecze stwo aplikacji 152integracja komponentoacutew z MVC 367kontrolka Repeater 434obs uga wyj tkoacutew 172przetwarzanie dania aplikacji klienckiej 18separacja modelu 427weryfikacja poprawno ci projektu 434

weryfikacjakodu pocztowego 81to samo ci 151

widok 16 25 30aplikacji

MVC4 453przystosowanie do urz dze mobilnych

459Transakcje 326

cz ciowy 30dodawanie 31edycji klienta 307elementy 31formularz

dodawania wpisu 425logowania 203

kontroleraaplikacja Kadry 58panelu administracyjnego 222

kontrolera AdminController 213kontrolera Dopasowania 77kontrolera ErrorControler 174kontrolera Glosowania 103kontrolera Home 131 169 182 307

metodaWyswietlLog 142Raport 375Transakcje 320

kontrolera HomeController 246AsynchronicznyKontroler 468EksportDanych 417

kontrolera Lista 93kontrolera Mapa 33 34

formularz 70Trasa 50

kreatorakonta u ytkownika 205zmiany has a 206

listyklientoacutew 302pracownikoacutew 61wyznaczonych tras 48zamoacutewie 316

mapyod wie enie 108parametryzacja 34

mechanizm przetwarzania 30modyfikowanie formularza 437obs uga wyj tkoacutew 130Pracownicycshtml 453projektowanie 31transfer danych do kontrolera 36typu CRUD 52

Kup książkę Poleć książkę

Skorowidz 541

typu GridViewimplementacja 48

typy plikoacutew 30utworzenie 30uzupe nianie tre ci 33walidacja 435wi zanie z modelem 437wstawianie rekordoacutew 312wynikoacutew ankiety 105wy wietlanie wpisoacutew 432

wielodziedziczenie 360Windows Authentication Provider 149Windows Data Protection API 187Windows Forms

implementacja klienta 483Windows Live ID 149w a ciwo

ConnectionString 243IsMobileDevice 460ModelStateIsValid 47

wstawianie rekordoacutew 299wstrzykni cie kodu 181 185wykresy 406

konfiguracjaserii danych 407typu 407

pobranie danych roacuted owych 408wy czenie aplikacji 171wyra enia lambda 46wyra enia regularne 73

atrybuty modelu 84liczba wyst pie sk adnikoacutew 76wzorzec

adres URL 83imi e skie 81kod pocztowy 80tworzenie 76

znaki i cyfry 74znaki specjalne 74znaki w wyznaczonych miejscach a cucha 75

wzorzecodnajdywanie

znakoacutew i cyfr 74znakoacutew specjalnych 74znakoacutew w wyznaczonych miejscach

a cucha 75okre lanie

liczby wyst pie znakoacutew 76

XXSS 181

Zzabezpieczenia

aplikacji bazodanowych 335ataki XSS 187informacje o b dach 171kodu po redniego 338konfiguracja 161konfiguracja aplikacji

kreatory 162obs uga wyj tkoacutew 171pliku konfiguracyjnego 167 187przed atakami 148ustawienia aplikacji 167witryny 181zarz dzanie dostawcami us ug 178z o liwy kod 181

zarz dzanieu ytkownikami i grupami 211

dost p do panelu administracyjnego 216lista grup 221podzia na grupy 220pobieranie listy 213tworzenie nowej grupy 222zmiana przynale no ci do grupy 215

z o ono ci aplikacji 16zdarzenie

DataGridViewCellDoubleClick 491rejestrowanie 430

z o liwy koddzia anie 181

znacznikinput 288

znaki specjalneodnajdywanie 74

zwi zanie z modelem 48zwi zek 347

danie 25asynchroniczna obs uga 92 466 470

skrypty 318zadania 473

GET 64POST 64przetwarzanie 127zablokowanie obs ugi 124

Kup książkę Poleć książkę

Notatki

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 305

northwindDataSetEnforceConstraints = true

public ActionResult ScaffoldingList() PobierzDaneKlientow() return View(ScaffoldingList northwindDataSetCustomers)

7 Skompiluj i uruchom aplikacj

Po uruchomieniu aplikacji i klikni ciu hiper cza z etykiet Scaffolding zostanie wy-wietlona lista klientoacutew ktoacuterej posta powinna by analogiczna do przedstawionej na

rysunku 182 W kolejnym kroku zaimplementujemy mo liwo usuwania edycji oraztworzenia rekordoacutew w tabeli Customers

Rysunek 182 Lista klientoacutew

Usuwanie rekordoacutewW celu zaimplementowania mo liwo ci usuwania rekordoacutew z tabeli Customers wyko-naj nast puj ce czynno ci

1 W widoku projektowania obiektu NorthwindDataSet skonfiguruj relacjpomi dzy tabelami Orders i Customers wed ug wzoru z rysunku 183

2 Klas kontrolera Home uzupe nij o polecenia z listingu 183

Kup książkę Poleć książkę

306 Cz II Technologie bazodanowe w aplikacjach internetowych

Rysunek 183Konfiguracja wi zoacutewintegralno ci danych

Listing 183 Usuwanie rekordoacutew z tabeli Customers

private void AktualizujDaneKlientow() northwindDataSetEnforceConstraints = false

orderDetailsTableAdapterUpdate(northwindDataSetOrder_Details) ordersTableAdapterUpdate(northwindDataSetOrders) customersTableAdapterUpdate(northwindDataSetCustomers)

northwindDataSetEnforceConstraints = true

public ActionResult ScaffoldingDelete(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) if (cdr = null) Usuwanie rekordoacutew potomnych DataRow[] zamowienia = cdrGetChildRows(northwindDataSetRelations[FK_Orders_Customers])

foreach (DataRow dr in zamowienia) drDelete()

Usuwanie rekordu klienta cdrDelete()

Aktualizacja wszystkich powi zanych tabel AktualizujDaneKlientow()

return ScaffoldingList()

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 307

Podczas usuwania danego rekordu nale y zadba o rekordy z innych tabel ktoacutere sz nim zwi zane relacjami Wiersze tabeli Customers s skojarzone z rekordami z tabelOrders oraz OrdersDetails Z tego powodu aktualizuj zawarto ci tych tabel po usu-ni ciu wybranego rekordu klienta Osierocone rekordy z tabeli Orders s usuwane ra-zem z nim

Edycja rekordoacutewDo edycji rekordoacutew w tabeli Customers potrzebny b dzie odpowiedni widok ktoacuteryprzygotuj na bazie automatycznie wygenerowanego kodu roacuted owego

1 Zgodnie z przepisem z podrozdzia u bdquoLista rekordoacutewrdquo utwoacuterz widokkontrolera Home i skonfiguruj go wed ug wzoru z rysunku 184

Rysunek 184Konfiguracja widokuedycji klienta

2 Wygenerowany automatycznie plik widoku ScaffoldingEditcshtmlzmodyfikuj zgodnie z listingiem 184

Listing 184 Definicja widoku edycji klienta

model NorthwindMVCModelsNorthwindDataSetCustomersRow

ViewBagTitle = ScaffoldingEdit

lth2gtScaffoldingEditlth2gtlth2gtEdycja rekordulth2gt

ltscript src=UrlContent(~Scriptsjqueryvalidateminjs)type=textjavascriptgtltscriptgt

Kup książkę Poleć książkę

308 Cz II Technologie bazodanowe w aplikacjach internetowych

ltscript src=UrlContent(~Scriptsjqueryvalidateunobtrusiveminjs)type=textjavascriptgtltscriptgt

using (HtmlBeginForm(EdytujDaneKlienta Home new id = ModelCustomerID)) HtmlValidationSummary(true) ltfieldsetgt ltlegendgtDane klientaCustomersRowltlegendgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCustomerID) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCustomerID) HtmlValidationMessageFor(model =gt modelCustomerID) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCompanyName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCompanyName) HtmlValidationMessageFor(model =gt modelCompanyName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactName) HtmlValidationMessageFor(model =gt modelContactName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactTitle) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactTitle) HtmlValidationMessageFor(model =gt modelContactTitle) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelAddress) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelAddress) HtmlValidationMessageFor(model =gt modelAddress) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCity) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCity) HtmlValidationMessageFor(model =gt modelCity) ltdivgt

ltdiv class=editor-labelgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 309

HtmlLabelFor(model =gt modelRegion) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRegion) HtmlValidationMessageFor(model =gt modelRegion) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPostalCode) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPostalCode) HtmlValidationMessageFor(model =gt modelPostalCode) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCountry) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCountry) HtmlValidationMessageFor(model =gt modelCountry) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPhone) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPhone) HtmlValidationMessageFor(model =gt modelPhone) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelFax) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelFax) HtmlValidationMessageFor(model =gt modelFax) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRowError) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRowError) HtmlValidationMessageFor(model =gt modelRowError) ltdivgt

ltpgt ltinput type=submit value=SaveZapisz gt ltpgt ltfieldsetgt

ltdivgt HtmlActionLink(Back to List Index) HtmlActionLink(Powroacutet do listy rekordow ScaffoldingList)ltdivgt

Kup książkę Poleć książkę

310 Cz II Technologie bazodanowe w aplikacjach internetowych

3 W kontrolerze Home zdefiniuj metody z listingu 185

Listing 185 Edycja danych klienta

public ActionResult ScaffoldingEdit(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id)

if (cdr = null) return View(ScaffoldingEdit cdr) else return ScaffoldingList()

private void PrzepiszDaneKlienta(FormCollection daneKlienta refNorthwindDataSetCustomersRow rekordKlienta)

rekordKlientaCompanyName = daneKlienta[CompanyName]ToString() rekordKlientaContactName = daneKlienta[ContactName]ToString() rekordKlientaContactTitle = daneKlienta[ContactTitle]ToString() rekordKlientaAddress = daneKlienta[Address]ToString() rekordKlientaCity = daneKlienta[City]ToString()

public ActionResult EdytujDaneKlienta(FormCollection daneKlienta string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) if (cdr = null) PrzepiszDaneKlienta(daneKlienta ref cdr) AktualizujDaneKlientow() return ScaffoldingList()

Proces edycji rekordu w bazie danych za pomoc technologii ADONET opiera si nainformacjach zebranych w poprzednich rozdzia ach wi c nie b d go tu szczegoacute owoopisywa Celem tego przyk adu by o automatyczne wygenerowanie widoku umo li-wiaj cego edycj danych klienta przystosowanie go do w asnych potrzeb oraz inte-gracja z kontrolerem

Separacja modelu widoku i kontrolera umo liwia narz dziom Visual Studio 2012 auto-matyczne generowanie widoku na podstawie definicji modelu Jednak e jak pokaza-em w tym podrozdziale kreator tworzy widok ktoacutery umo liwia edycj wszystkich poacutel

rekordu (nawet identyfikatora) co sprawia e w wi kszo ci przypadkoacutew nale y sa-modzielnie edytowa plik widoku w celu przystosowania go do potrzeb projektowanejaplikacji Jednak jak pokazuje powy szy przyk ad nie jest to rzecz skomplikowan

Integracja widoku z kontrolerem polega na odpowiednim przekazywaniu informacjio edytowanym rekordzie oraz warto ci jego poacutel Do tego celu wykorzysta em identy-fikator klienta ktoacutery jednoznacznie identyfikuje rekordy w tabeli Customers

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 311

Przyk adowy wynik polece zaimplementowanych w tym podrozdziale przedstawiarysunek 185

Rysunek 185Edycja danych klienta

Tworzenie rekordoacutewW poprzednich podrozdzia ach zaimplementowa em trzy spo roacuted czterech podstawo-wych elementoacutew schematu CRUD czyli odczytywanie (R) aktualizacj (U) oraz usu-wanie (D) rekordoacutew Ostatnim elementem jest tworzenie (C) nowych rekordoacutew W celuzaimplementowania procedury uzupe niania tabeli Customers nowymi rekordami na-le y post pi nast puj co

1 W Solution Explorer rozwi w ze Views a nast pnie kliknij prawymprzyciskiem myszy folder Home

2 Wybierz opcj Add a nast pnie Viewhellip z menu kontekstowego

3 W kreatorze Add View

a) Zmie nazw widoku na ScaffoldingCreate

b) Zaznacz pole wyboru Create a strongly-typed view

c) Z listy dost pnych modeli wybierz pozycj CustomersRow

d) Z listy rozwijanej Scaffold template wybierz Create

e) Kliknij przycisk Add

4 Utworzony w ten sposoacuteb plik ScaffoldingCreatecshtml zmodyfikuj wed ugwzoru z listingu 186

Kup książkę Poleć książkę

312 Cz II Technologie bazodanowe w aplikacjach internetowych

Listing 186 Widok umo liwiaj cy wstawianie rekordoacutew do tabeli Customers

model NorthwindMVCModelsNorthwindDataSetCustomersRow

ViewBagTitle = ScaffoldingCreate

lth2gtScaffoldingCreatelth2gtlth2gtTworzenie rekordulth2gt

ltscript src=UrlContent(~Scriptsjqueryvalidateminjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~Scriptsjqueryvalidateunobtrusiveminjs)type=textjavascriptgtltscriptgt

using (HtmlBeginForm(DodajKlienta Home)) HtmlValidationSummary(true) ltfieldsetgt ltlegendgtDane klientaCustomersRowltlegendgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCustomerID) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCustomerID) HtmlValidationMessageFor(model =gt modelCustomerID) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCompanyName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCompanyName) HtmlValidationMessageFor(model =gt modelCompanyName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactName) HtmlValidationMessageFor(model =gt modelContactName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactTitle) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactTitle) HtmlValidationMessageFor(model =gt modelContactTitle) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelAddress) ltdivgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 313

ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelAddress) HtmlValidationMessageFor(model =gt modelAddress) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCity) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCity) HtmlValidationMessageFor(model =gt modelCity) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRegion) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRegion) HtmlValidationMessageFor(model =gt modelRegion) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPostalCode) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPostalCode) HtmlValidationMessageFor(model =gt modelPostalCode) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCountry) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCountry) HtmlValidationMessageFor(model =gt modelCountry) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPhone) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPhone) HtmlValidationMessageFor(model =gt modelPhone) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelFax) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelFax) HtmlValidationMessageFor(model =gt modelFax) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRowError) ltdivgt ltdiv class=editor-fieldgt

Kup książkę Poleć książkę

314 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlEditorFor(model =gt modelRowError) HtmlValidationMessageFor(model =gt modelRowError) ltdivgt

ltpgt ltinput type=submit value=CreateUtwoacuterz gt ltpgt ltfieldsetgt

ltdivgt HtmlActionLink(Back to List Index) HtmlActionLink(Powroacutet do listy ScaffoldingList)ltdivgt

5 Definicj kontrolera Home uzupe nij o polecenia z listingu 187

Listing 187 Wstawianie rekordoacutew do tabeli Customers

private char PobierzZnak(string lancuch int index) Random random = new Random() char znak

if (lancuchLength gt index) znak = lancuch[index] else znak = (char)randomNext(0 255)ToString()[0]

return znak

private void UtworzIdentyfikatorKlienta(ref NorthwindDataSetCustomersRowdaneKlienta)

string identyfikator = int indexZnaku = 0

identyfikator += PobierzZnak(daneKlientaCompanyName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactTitle indexZnaku) identyfikator += PobierzZnak(daneKlientaAddress indexZnaku) identyfikator += PobierzZnak(daneKlientaCity indexZnaku)

daneKlientaCustomerID = identyfikator

public ActionResult DodajKlienta(FormCollection daneKlienta string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersNewCustomersRow()

PrzepiszDaneKlienta(daneKlienta ref cdr)

UtworzIdentyfikatorKlienta(ref cdr)

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 315

customersTableAdapterInsert(cdrCustomerID cdrCompanyName cdrContactName cdrContactTitle cdrAddress cdrCity )

AktualizujDaneKlientow()

return ScaffoldingList()

Wstawienie rekordoacutew do tabeli Customers jest analogiczne do ich edycji Jedyn roacute -nic jest konieczno utworzenia identyfikatora klienta gdy nie jest on tworzonyautomatycznie jak to by o w przypadku tabeli Employees Identyfikatory rekordoacuteww tabeli Customers s pi cioelementowymi ci gami znakoacutew Tworz je na podstawiepierwszych liter poacutel CompanyName ContactName ContactTitle Address oraz City Je liw tych polach znajduj si puste ci gi to odpowiedni liter zast puj losowo wyge-nerowanym znakiem

W kolejnym podrozdziale poka w jaki sposoacuteb wy wietli informacje o rekordachpotomnych opieraj c si na relacji pomi dzy tabelami

Formularz z podformularzem(MasterDetail Form)

Jako podsumowanie tego rozdzia u utworz formularz z podformularzem tak zwanyformularz MasterDetail Jego dzia anie polega na tym e wy wietlanie danych od-bywa si na bazie co najmniej dwoacutech komponentoacutew (np blokoacutew czy tabel) oraz rela-cji mi dzy tabelami Pierwszy komponent prezentuje rekordy zawarte w tabeli g oacutew-nej (ang master) a drugi zawiera dane z tabeli podrz dnej (ang detail) Komponentzwi zany z tabel podrz dn ma zazwyczaj za zadanie prezentowa szczegoacute owe da-ne odpowiadaj ce rekordowi z tabeli nadrz dnej ktoacutery zosta wskazany przy pomocyzwi zanej z nim listy rekordoacutew Pola tych tabel musz by zatem uporz dkowane w takisposoacuteb aby pokazywa y informacj o tym samym rekordzie Uzyskuje si to przy po-mocy relacji mi dzy tabelami ktoacuterej zadaniem jest powi zanie informacji zawartychw bazie danych

W tym podrozdziale tabel nadrz dn b dzie tabela Customers a podrz dn OrdersPo klikni ciu na hiper cze z etykiet zamoacutewienia wy wietli si lista rekordoacutew tabeliOrders skojarzonych z danym klientem dania prezentacji zamoacutewie b d realizo-wane asynchronicznie

1 Plik widoku ScaffoldingListcshtml zmodyfikuj wed ug wzoru z listingu 188

Listing 188 Konfiguracja hiper cza umo liwiaj cego wy wietlenie listy zamoacutewie danego klienta

hellipforeach (var item in Model) lttrgt lttdgt

Kup książkę Poleć książkę

316 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlDisplayFor(modelItem =gt itemCustomerID) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCompanyName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactTitle) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemAddress) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCity) lttdgt lttdgt HtmlActionLink(Edytuj ScaffoldingEdit new id = itemCustomerID ) | AjaxActionLink(Zamoacutewienia ScaffoldingMasterDetail new id = itemCustomerID new AjaxOptions UpdateTargetId = zamowienia OnSuccess = documentgetElementById(zamowienia)scrollIntoView() ) | HtmlActionLink(Usu ScaffoldingDelete new id = itemCustomerID ) lttdgt lttrgtlttablegt

ltdiv id=zamowieniagtltdivgt

2 Utwoacuterz widok cz ciowy o nazwie ZamowieniaPartialViewcshtml i wstaww nim polecenia z listingu 189

Listing 189 Definicja widoku prezentuj cego list zamoacutewie

model IEnumerableltNorthwindMVCModelsNorthwindDataSetOrdersRowgt

if (Model == null) lth2gtBrak zamoacutewie lth2gtelse lth2gtLista zamoacutewie lth2gt

lttablegt lttrgt ltthgt OrderDate ltthgt ltthgt RequiredDate ltthgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 317

ltthgt ShippedDate ltthgt ltthgt ShipName ltthgt ltthgt ShipAddress ltthgt ltthgt ShipCity ltthgt ltthgtltthgt lttrgt

foreach (var item in Model) lttrgt lttdgt itemOrderDateToShortDateString() lttdgt lttdgt itemRequiredDateToShortDateString() lttdgt lttdgt itemShippedDateToShortDateString() lttdgt lttdgt itemShipName lttdgt lttdgt itemShipAddress lttdgt lttdgt itemShipCity lttdgt lttrgt lttablegt

3 Kontroler Home uzupe nij o metod ScaffoldingMasterDetail ktoacuterej definicjprzedstawi em na listingu 1810

Listing 1810 Pobranie i prezentacja rekordoacutew potomnych wybranego klienta

public ActionResult ScaffoldingMasterDetail(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) NorthwindDataSetOrdersRow[] zamowieniaPracownika = null

if (cdr = null) zamowieniaPracownika = (NorthwindDataSetOrdersRow[])cdrGetChildRows(FK_Orders_Customers)

Kup książkę Poleć książkę

318 Cz II Technologie bazodanowe w aplikacjach internetowych

if (RequestIsAjaxRequest()) return View(ZamowieniaPartialView zamowieniaPracownika) else return ScaffoldingList()

4 Sekcj ltheadgt pliku _Layoutcshtml uzupe nij o polecenia z listingu 1811

Listing 1811 Import skryptoacutew obs uguj cych dania asynchroniczne

ltscript src=UrlContent(~Scriptsjqueryunobtrusive-ajaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftAjaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftMvcAjaxjs)type=textjavascriptgtltscriptgt

5 Po skompilowaniu i uruchomieniu aplikacji powiniene uzyska efektanalogiczny do przedstawionego na rysunku 186

Rysunek 186 Przyk ad formularza typu MasterDetail

Kup książkę Poleć książkę

Skorowidz

AACL 149action methods 25ActiveX Data Object 238ADO 238ADONET 238

obiekty 238podstawy 237synchronizacja buforu ze roacuted em danych 273

adresy URLautoryzacja 157parametry 122trasowanie 121wzorce 122 123

agile programming 15AJAX 91

aktualizacja bloku witryny 113dodanie referencji do bibliotek JavaScript 94

akcjaCreate 354Delete 357Details 353dodaj ca nowy produkt 355Edit 356

aktualizacjazawarto ci elementu witryny 92

algorytmRSA 187

ambient transaction 329ankieta 102AntiXss 187aplikacje

bazodanowe 235bezpiecze stwo 335mechanizm transakcji 319scaffolding 301

synchronizacja ze roacuted em danych 273uwagi do projektowania 345

mo liwo edytowania wpisoacutew 441rejestrowanie zdarze i trasowanie 430

Application Domain 339architektura obiektowa 347ASPNET

konfiguracja aplikacji 161mechanizmy uwierzytelnienia 149metody globalne 107w czanie i wy czanie aplikacji 171

ASPNET AJAX 91ASPNET MVC 15

komponenty 16ASPX 21 30asynchroniczne przetwarzanie da http

jQuery 113Asynchronous JavaScript and XML 48Asynchronous Programming Model 464ataki

rodzaje 147SQL Injection 148 344wy udzenie informacji 148z o liwy kod 181

atrybut 347AcceptVerbs(HttpPost) 47AcceptVerbs(HttpVerbsPost) 65AssociationAttribute 58Authorize 200AuthorizeAttribute 128autoryzacyjny 145ConcurrencyCheckAttribute 58Confirm 95cookieless 154CustomValidationAttribute 58 66data-bind 230DataType 54 57

Kup książkę Poleć książkę

528 ASPNET MVC

atrybutDataTypeAttribute 58defaultRedirect 173defaultUrl 154DisplayAttribute 58DisplayColumnAttribute 58DisplayName 436EditableAttribute 58enableCrossAppRedirects 155EnumDataTypeAttribute 58FilterUIHintAttribute 58HandleError 138 175HandleErrorAttribute 129HttpMethod 95InsertionMode 95KeyAttribute 58klasy do konfiguracji metadanych 57 58LoadingElementDuration 110LoadingElementId 95 110Log

klasa implementuj ca 142loginUrl 154MetadataType 69MetadataTypeAttribute 58mode 153 173modelu 55name 155NonAction 26 135OnBegin 95OnComplete 95OnFailure 95OnSuccess 95 110OutputCache 133OutputCacheAttribute

parametry 134passwordFormat 156protection 155Range 54 66RangeAttribute 58redirectMode 173RegularExpressionAttribute 58Required 54 66RequiredAttribute 58RequireHttps 135requireSSL 155slidingExpiration 155StringLength 66StringLengthAttribute 58TestClass 29TestMethod 29ticketCompatibilityMode 155timeout 155TimestampAttribute 58UpdateTargetId 95

Url 95ValidateInput 185

atrybuty modeluwyra enia regularne 84

Attribute 347authentication ticket 151auto post back 217autocomplete textbox 115automatyczne uzupe nienie pola tekstowego 115autoryzacja 149 157

adresoacutew URL 157konfiguracja 157

grupy u ytkownikoacutew 158mechanizm filtrowania 158otwarta 460plikoacutew 157zdalna

powi zanie z portalem Facebook 461Azure 496

Bbazy danych 40 237

aktualizacja 41lista rekordoacutew 301Northwind 240

detale produktu 352dodawanie po cze 350pobieranie produktoacutew 351

po czenie ze roacuted em danych 241relacyjne 237schemat CRUD 301transakcje 319tworzenie 321

nowego rekordu 48schematu na bazie modelu encji 357

usuwanie danych 290regu y integralno ci 293

usuwanie powi zanych wierszyrekordy potomne 291

warstwa dost pu 42bezpiecze stwo

aplikacji internetowych 147ataki 147mechanizmy 149

biblioteka NETprogramowanie asynchroniczne 464

biblioteka skryptoacutewMapajs 32

bilet uwierzytelniaj cy 151b dy

dzia ania aplikacji 171strona b du 176tworzenie u ytkownika 202wprowadzenie z ego rekordu 268

Kup książkę Poleć książkę

Skorowidz 529

body 383buforowanie

danych ze roacutede zewn trznych 133bundling 475Business Intelligence 368

Ccallback 35CAS 151 338CDN 113Central Authentication Service 151centralna us uga uwierzytelnienia 151certyfikat 337CLR

procesy systemowe 466Code Access Security 338Confirm 96connString 341controllers 16Coordinated Universal Time 155Create Read Update Delete 301cross-site scripting 181CRUD 54 301Crystal Reports 368

Ddane

agregacja 378bezpo redni dost p do roacuted a 346eksport 413

do dokumentu tekstowego 419do PDF 420skoroszyt MS Excel 421tabele dynamiczne 418

integralno 288 319pomini cie sprawdzania 292regu y 291

modyfikacja 249platforma modelowania 347prezentacja

graficzna 406w postaci macierzowej 390

przekazywaniez formularza do roacuted a 46z kontrolera do widoku 437 439

serializacja i transfer struktur 117szyfrowanie 337typu

ActionResult 25walidacja 53weryfikacja 53wi zy integralno ci 306

wy wietlanie 315zabezpieczenie 338

Data Binding 389Data Definition Language 345Database Management System 237DBMS 237

wi zy integralno ci 238DDL 345denial of service 147detail 315Development Server 504DIE 53DisplayFormatAttribute 58document object model 92DOM 92domena aplikacji 339 466

instancja obiektoacutew 341tworzenie 339wspoacute dzielenie obiektu 341

dostawcy us ug 178dost p anonimowy 150DotNetOpenAuth 149DPAPI 187DRY 53dyrektywa

model 46

Eelement

customErrors 173success 115

elevation of privilege 147encapsulation 107encja 347

atrybuty 54bazodanowa 54KategoriaProduktu 358odwzorowanie w bazie danych 360Order_Details 362Orders 361Products 361Produkt 358

Entity 347Entity Framework 43 347

POCO 360potwierdzenie explicite 356technologie 349wersje 347

Entity Relationship Model 347Entity SQL 349ERM 347Event-based Asynchronous Pattern 465event-driven programming 17

Kup książkę Poleć książkę

530 ASPNET MVC

FFile Transfer Protocol 495filtry 127

akcji 127 139autoryzacyjne 127 144dynamiczne 395kolejno wykonywania 137

priorytety 138Log

metody 141LogAttribute

definicja klasy 140podstawowe atrybuty 128statyczne 395w asne 139wyj tkoacutew 128 144

niestandardowe 145wyniku 128 144

for 434foreach 51Forms Authentication Provider 149formularz

MasterDetail 315z podformularzem 315

funkcjadelay 217ListaPracownikoacutew 57Mid 390RolesIsUserInRole 217Today 390wyznaczaj ca tras 109zmienPrzynaleznoscDoGrupy 217 218

GGauge 383 403GDI 368graficzny interfejs u ytkownika 17 30Graphics Device Interface 368GridView 48grupy u ytkownikoacutew

autoryzacja 158GUI 17

Hhard-coding 167haszowanie 150helper methods 25html helper 455

Iidentyfikator

klienta 315rekordoacutew 315

IIS 121 149 495instalacja

ASPNET 445 498serwera w Windows 7 496serwera w Windows 8 496

mened er Windows 499uruchamianie aplikacji 503

serwer do rozwoju aplikacji 504information disclosure 147instancje aplikacji 465instancjonowanie modelu 39IntelliSense 247interfejs u ytkownika

przycisk umo liwiaj cy dodanie pracownika294

przycisk usuni cia wybranego rekordu 289Internet Information Services 121internetowe us ugi informacyjne 495in ynieria spo eczna 148Isolation Level 332izolacja 339 466

JJavaScript Object Notation 117jQM 457jQuery

autocomplete 116pliki roacuted owe 113

jQuery Mobile 457jQuery UI 367

wykorzystanie przyciskoacutew 284JSON 117

obiekt typu adres 118

KKey Performance Indicators 403klasa

AccountController 198ActionExecutingContext 143AdminController 212Ajax 94AjaxOptions 94

atrybuty 95AspNetHidden 442AssemblyName 170Assert 29

Kup książkę Poleć książkę

Skorowidz 531

AuthConfig 461BundleConfig 475Configuration 170ConfigurationManager 170ConfigurationSection 187 188ConnectionStringBuilder 345DpapiProtectedConfigurationProvider 187FiltryRaportuMacierzowego 397Form1 484FormsAuthentication 152Global 430HandleErrorInfo 133HtmlHelper 437HttpClient 483 486HttpResponseMessage 486kontekstu 362LogOnModel 198MarshallByRefObject 341Membership 152 198 211MvcApplication 430NorthwindContext 362ObjectContext 348ObjectQueryltTgt 348Order_Details 362Orders 361Osoba 228ParametryWatku 470Pracownik 484Products 361Produkt 230Raport 392RequestBrowser 460ResultExecutedContext 144ResultExecutingContext 144Roles 211RsaProtectedConfigurationProvider 187SQLConnCAS

definicja 340stowarzyszona z modelem 69SystemNetHttpFormattingJsonMediaTypeF

ormatter 491SystemTextRegularExpressions 74SystemWebSecurityRoles 159Task 465 472testuj ca 29Thread 465 469TransactionScope 327UrlRoutingModule 121ViewData 434 436 439WebApiConfig 478WebConfigurationManager 170Wpisy 427 436

klucze 237MAC 155obce 238podstawowe 238

kluczowe wska niki efektywno ci 403dynamiczna zmiana warto ci 404

Knockout 227wykorzystanie szablonoacutew JavaScript 230wywo anie skryptu 229

kodowanie danychprzekazywanych przez u ytkownikoacutew 186

komponentFormDanePracownika 489obiektu

PartialView 99typu ListBox 99

ReportViewer 368 375eksport danych 413nawigacja mi dzy stronami raportu 377

komponenty u ytkownika 30komunikaty o b dach 171

kod statusowy 174 175koncepcja programowania zdarzeniowego 16konfiguracja

po czenia z baz danych 241uprawnie puli aplikacji 454walidacji danych 66

konkurencyjno aplikacji 332kontekst wi zania 389kontrola wprowadzanych danych 263

metoda onColumnChanged 269wstrzymanie walidacji wiersza 267zako czenie edycji rekordu 267

wymuszenie 267kontroler 16 25

AccountController 195Admin 223AdminController 212aplikacja Kardy 63asynchroniczny 466

a zadania 472dane wyj ciowe 25domeny 150ErrorController 174Glosowania 103Home 182 224 228 231

Bezpiecze stwo 336filtr wyj tku 131

HomeController 184EksportDanych 415Northwind 245

interfejs Web API 477KsiegaGosciController 424

Kup książkę Poleć książkę

532 ASPNET MVC

kontrolerLista 93Mapa 33

autouzupe nianie 117modyfikacja 45

niedost pne metody publiczne 136obs uga POST 431panelu administracyjnego 212

zarz dzanie grupami u ytkownikoacutew 220Pracownicy 57 64PracownicyController

implementacja 481Produkty 351projektowanie 27przekazywanie danych do widoku

zmiany 439uwierzytelnienia 195

klasa 198model 196widoki 203

uzupe nienie o widok 31u ycie modelu odsy anego przez widok 440ValuesController 478weryfikacja funkcjonalno ci 28wi zanie adresu URL z akcj 430widoki 58

konwersja obrazu 278kreator

Add New Item 242Add View 59 302Application 162blokowania szczegoacute oacutew b doacutew 172dodanie u ytkownikoacutew 164grup u ytkownikoacutew 165Provider 162Publish Web 501Security 162tworzenia pracownika 59ustawie aplikacji 167widokoacutew 60wyboacuter dostawcoacutew us ug 178

kwerendy parametryczne 274 401

Llayout witryny 30LINQ

to Entities 349lista rekordoacutew 301

prezentacja 304logika

aplikacji 30bazodanowa 30biznesowa 44

a cuch QueryString 26

Mmaster 315mechanizm

automatycznych w a ciwo ci 57autoryzacji 157eksportu danych 413filtroacutew 127grupowania plikoacutew 475IntelliSense 119QuerynotString 117szyfruj cy 187transakcji 319 321

przelewy bankowe 326wyznaczania trasy przejzdu 34

meotdaInsert 299ProtectSection 191WersjonowanieDataRow

definicja widoku 265message authentication code 155metoda

on 262HtmlValidationSummary 204About 124AcceptChanges 255 263ActionLinkActionLink 61 63 353AddUserToRole 159akcji 25

parametry opcjonalne 27aktualizacja statystyk ankiety 105AktualizujZdjeciePracownika 288Application_AuthenticateRequest 108Application_BeginRequest 107 108Application_End 108Application_EndRequest 107Application_Error 108 172Application_Start 108 123 139 430asynchroniczna kontrolera 472AttachTo 356Authenticate 152AutoUzupelnienie 117

zapytanie LINQ 118BeginEdit 267BeginForm 47 94BeginTransaction 326 332CancelEdit 263ChangeObjectState 356

Kup książkę Poleć książkę

Skorowidz 533

ChangePassword 200hiper cze 208widok 206

ChangePasswordSuccesswidok 206

CreateNazwaEncji 354CreateRole 159CreateUser 153czyBazaDanychIstnieje 326daneDostawcyForm 262DBeginnotEdit 263Delete 270DeleteObject 357DeleteRole 159DeleteUser 153DeszyfrujPlikKonfiguracyjny 191DodajDostawce 255DodajElementDoListy 94 97 101DodajGrupe 223DodajKomentarz 185DodajPracownika 299 491DopiszDoPlikuLog 430Edit 356EdytujDaneDostawcy 261EdytujDanePracownika 493Eksportuj 418EmptyResult 26EndEdit 263EndForm 47ErrorCodeToString 201Fill 246FillByCityName 275FormatDateTime 390FormsAuthenticationSetCookie 199GenerujDane 468Get(int id) 478GetAllRoles 159GetAsync 486GetChildRecords 291GetSection 170GetSectionGroup 170GetUser 153GetUsersInRole 160globalna

aplikacji ASPNET 108Grupy 223HasVersion 263HtmlListBox 97HtmlRenderPartial 101HtmlValidationSummary 61HtmlHelperLabel 437ImiePierwszegoPracownika 246 247Include 475Index 47 79 97 101

kontrolera Mapa 34testowanie 28

IsAjaxRequest 101IsMatch 76IsNotNull 29IsUserInRole 159Label 35ListaDostawcow 252 255ListaPracownikow 248

hiper cze skojarzone 249LogOff 198LogOn 198Macierzowy 397mapowalna 26MetodaAsynchronicznaWatki 472ModelStateAddModelError 199MvcApplicationRegisterRoutes 430obs uga zapyta POST 431odczyt aktualnych bilansoacutew kont 323OdczytajStanyKont 326OnActionExecuted 143OnActionExecuting 127 143onColumnChanged 269OnResultExecuted 144OnResultExecuting 144onRowChanged 266onRowChanging 268OpenConfiguration 170otwarcie po czenia z baz danych 341OtworzPlikDanych 107Page_Load 399PartialViewResult 26PobierzDane 394

modyfikacja 401PobierzPlikLogu 141 143PobierzZdjecie 278PokazTrasy 51PokazWyniki 107pomocnicza 25 455

HtmlEncode 51wykorzystanie 456

PostAsJsonAsync 486PostAsXmlAsync 486PostAsync 486PostResolveRequestCache 121PracownicyWedlugMiast

przechowywanie warto ci filtru 285PutAsJsonAsync 493PutAsXmlAsync 493PutAsync 493ReadAsAsync 486ReadXml 107ReadXmlSchema 107RedirectFromLoginPage 152

Kup książkę Poleć książkę

534 ASPNET MVC

metodaRedirectResult 26RedirectToAction 26RedirectToLoginPage 152RedirectToRoute 26RedirectToRouteResult 26RefreshReport 384Register 199 478RegisterAuth 461 462RegisterBundles 475RegisterGlobalFilters 171RegisterRoutes 94 123RejectChanges 256 263rejestrowanie zdarze aplikacji 430RemoveUserFromRole 160Render 384 413 418RenderPartial 99ResponseWrite 223ResultExecuteResult 143RoleExists 159RolesIsUserInRole 216RolesRemoveUsersFromRole 223route 35RowsAdd 255RozpocznijEdycje 269

hiper cze uruchamiaj ce 267SaveChanges 354ScaffoldingMasterDetail 317Session_End 108Session_Start 108SetAuthCookie 152SetParameters 401 405SignOut 152SprawdzDopasowania 79SprawdzPoprawnoscDatyZatrudnienia 67SqlPermissionAdd 343SqlTransactionCommit 326SqlTransactionRollback 326StronaNieIstnieje 175submit 115SzyfrowaniePlikuKonfiguracyjnego 190szyfruj ca i deszyfruj ca 189SzyfrujPlikKonfiguracyjny 191TextBox 35ThreadSleep 469 472TransactionScopeComplete 329Transfer 36UpdateUser 153UstawParametryRaportu 399UsunGrupe 223UsunTrase 50 51UtworzPracownika 64Uzytkownicy 216ValidateUser 152 153

ValidationMessage 437ValidationMessageFor 61ValidationSummary 437ViewResult 26WebApiConfigRegister 478WersjonowanieDataRow 265

sparametryzowanie 266WpisyZapiszDoPlikuXml 430wykonywanie przelewoacutew 323WyswietlLog 141 142 143wyswietlMape 34 35WyswietlTrase 50

modyfikacja 135 166wyznaczTrase 35ZaktualizujWyniki 107Zapami tajNazw U ytkownika 432ZmienStanKont 328

Microsoft SQL Server 319sposoby uwierzytelnienia 344

MIME type 390minification 476minimalizacja 476model 16 39

APM 464ChangePasswordModel 196EAP 465integracja z elementami aplikacji 39LogOnModel 196obs uga plikoacutew XML 427przesy anie z kontrolera do widoku 432 435RegisterModel 196TAP 465

model binding 48model danych encji 348

dodawanie encji 353edycja encji 355kreator 348 349

czenie encji 359metody akcji 354opcje 361projektowanie relacji 43tworzenie 349

schematu bazy danych 357usuwanie encji 357wyboacuter tabel 350

model first 52model zwi zkoacutew encji 347models 16Model-View-Controller 15Model-View-ViewModel 227Model-Widok-Kontroler 15modu

UrlAuthorizationModule 157

Kup książkę Poleć książkę

Skorowidz 535

MVC 15a Web Forms 16 365 367 423

kod 442serwer internetowych us ug

informacyjnych 495wydajno 443wykorzystanie w projektach 444

ataki XSS 185autoryzacja 158 162bezpiecze stwo aplikacji 152buforowanie 134domy lne wzorce aplikacji 21kreator aplikacji 20mechanizm filtrowania 127Model Binder 355nazwa kontrolera 27obs uga interakcji klient-serwer 121parametry opcjonalne 27pobieranie parametru z adresu URL 26projektowanie aplikacji 18 52przetwarzanie dania aplikacji klienckiej 18sprawdzanie poprawno ci danych 68struktura modelu 39techniki walidacji danych 53utworzenie widoku 30uzupe nianie o komponenty graficzne 367walidacja 438wersja 4 449wyboacuter mechanizmu przetwarzaj cego widoki 21wzorce URL 122zbioacuter modeli szablonu aplikacji 196roacuted o danych 40

MVC4 449grupowanie i optymalizacja skryptoacutew 475kaskadowe arkuszye stylu 475przetwarzanie asynchroniczne 464przystosowanie do urz dze mobillnych 457testowanie aplikacji 457uwierzytelnianie 460

integracja z portalem Facebook 462wsparcie dla urz dze mobilnych 450zdalna autoryzacja 461

MVVM 227

Nnarz dzie

aspnet_regiis 187przetwarzanie tekstu 73

Northwindinstalacja 240kwerenda wybieraj ca 240pobieranie informacji o dostawcach 251

NuGET 483nullable-types 27

OOAuth 461obiekt

AppDomain 339 341Chart 406Command 239Connection 239 241

w a ciwo i 243ConnectionString 343

sposoby uwierzytelniania 344szyfrowanie informacji 335

DataAdapter 239DataGridView 491DataReader 239 273DataRow 255

kontrola wprowadzonych danych 263usuwanie rekordoacutew 270wersje 263wersja proponowana 265wersjonowanie 263w a ciwo ci 255

DataSet 239 244 345edycja rekordoacutew 257kreator konfiguracji TableAdapter 274modyfikacja danych 249tworzenie nowych rekordoacutew 250usuwanie rekordoacutew 271wstawianie rekordoacutew 251wymuszenie wi zoacutew integralno ci 292

DataTable 107DirectionsService 35dostawca 153FormCollection 47jqXHR 218List 389logiki biznesowej 348materializacja 348Matrix 390Membership 152MvcRouteHandler 121 122o okre lonym typie danych 244o silnej typizacji 244o s abej typizacji 247ObjectStateManager 348PartialView 98ReportViewer 368ReportViewerLocalReport 418Request 26 101 432Response 26Route 122ShippersRow 255SqlConnCAS 341SqlConnection 326

Kup książkę Poleć książkę

536 ASPNET MVC

obiektTableAdapter 239 244 273 274 345

edycja danych 279 286wstawianie danych 294

TransactionScope 329parametryzacja 331

typuadres 118AppDomain 466ConcurrentDictionary 479NorthwindDataSet 247ObjectSetltTgt 348Route 121Thread 466

UrlRoutingModule 121ViewBag 36

przekazywanie danych do widoku WebForms 376

ViewData 36 79 432Object Relational Mapping 347Object Services 348obs uga b doacutew

konfiguracja 132w czenie 129

odrzucenie informacji o transakcji 148od wie anie witryny

a fragment widoku 97aktualizacja zawarto ci 113cz ciowe 96

OnSuccess 96operator

await 474konkatenacji 382Top 411Top N 411

ORM 347

Pparametr

CountryName 401data 115filtr 117mapDivId 35maxIloscRekordow 117Order 137raportu 395scopeTimeOut 330

warto ci 330TransactionScopeOption

warto ci 329type 115

parametryzacja kwerend 274partial view 30

piaskownica 341Plain Old CLR Object 360platforma NET

us ugi uwierzytelniania 153plik

ascx 22aspx 22bmp 390cookie 151cookies 154 155cshtml 22 434css 475edmx 360jpg 390js 475konfiguracyjny

zabezpieczenie 187master 22png 390rdl 368rdlc 368tekstowy

wy wietlenie w przegl darce 143vbhtml 22

POCO 360pola klucza 237polecenie

HtmlEncode 187ScriptsRender 476StylesRender 476GET 18POST 18

po czenieze roacuted em danych 241

pomocnik HTML 455Portable Document Format 413po rednik 341poziom izolacji 332

Chaos 333konfiguracja 332ReadCommitted 333ReadUncommitted 333Serializable 333Snapshot 333Unspecified 333

poziom zaufania 339ograniczenie 340

proceduraajax 115AjaxBeginForm 96niemapowalna 26PartialView 26serialize 115

Kup książkę Poleć książkę

Skorowidz 537

proces 465programowanie

oparte na zdarzeniach 17zdarzeniowe 17

projekt aplikacji MVCankieta 102asynchroniczne przetwarzanie da HTTP 92Bezpiecze stwo 181 336

nawi zanie komunikacji ze roacuted emdanych 342

szyfrowanie pliku konfiguracyjnego 191dodawanie i wy wietlanie komentarzy 183domy lny 20EksportDanych 413Filtry 131formularz oceny 107Kadry

walidacja adresu e-mail 84Kardy 55KsiegaGosci_MVC3 424lista prezentuj ca dodawane elementy 97MojaNawigacja 18

blokowanie samodzielnego tworzeniakont 224

buforowanie danych 135implementacja warstwy dost pu 42instalacja na serwerze IIS 500komunikat powitalny 168komunikaty 110komunikaty o b dach 173mechanizm podpowiedzi 115model weryfikuj cy po wiadczenia

u ytkownikoacutew 196modele kontrolera uwierzytelnienia 196od wie enie widoku mapy 109struktura 21szablon 19szablon witryny 225trasowanie da HTTP 123uzupe nienie o baz danych 40uzupe nienie o walidacj danych 69widok b du 175zablokowanie nieautoryzowanego

dost pu 128zarz dzanie u ytkownikami 163zarz dzanie grupami u ytkownikoacutew 212zarz dzanie procesem logowania 198

MsAjax 92NorthwindMVC 241

lista rekordoacutew 301szablon witryny 250

POCO 361priorytety regu filtrowania 137

Raport 368szablon

mechanizmy uwierzytelnienia 156zarz dzanie grupami u ytkownikoacutew 159

Transakcje 319aktualizacja danych 328formularz aktualizacji 328szablon stron 320

uzupe nianie widokiem GridView 49WyrazeniaRegularne 76Zapytania_EF 349

projekt aplikacji MVC4AsynchronicznyKontroler 466

prezentacja danych 468AutoryzacjaOAuth 461implementacja serwisu sieciowego 479konfiguracja grupowania 475MobileMvc 450

testowanie 457pobranie zdj cia 452przygotowanie listy pracownikoacutew 452SerwisSieciowy 477

projekt aplikacji Windows Formsedycja danych 487KlientWebAPI 483tworzenie nowych pracownikoacutew 486

dania typuDELETE 493POST 486PUT 491

projektowaniekontrolera 27widoku 31

protokoacuteFTP 495Kerberos 150NTLM 150SMTP 495SSL 337

proxy 341przechowywanie

informacji o trasach 44wynikoacutew g osowania 107

przeci enie aplikacji 147przekazywanie

danych 44mi dzy widokiem a kontrolerem 36

parametroacutew do metod akcji kontrolera 26przestrze nazw

SystemThreading 465przyjazne linki 122publikowanie aplikacji 495 500

na serwerze IIS 497

Kup książkę Poleć książkę

538 ASPNET MVC

pule aplikacji 465 497konfiguracja 498Windows 7 499Windows 8 500

Rraporty

dane w postaci macierzowej 390data 386definicja

dynamiczna 418filtrowanie danych 394

na poziomie roacuted a 401 418filtry 395formaty prezentacji danych 379grupowanie danych 381hiper cza 387

nawigacyjne 376kolumny obliczeniowe 378konfiguracja

filtrowania dynamicznego 396typu 392roacuted a danych 368

kreator formu 382macierzowe 391numery stron 386obrazy 390parametry 383 394

konfiguracja 399paski narz dziowe 379pola

bazy danych 386formularza 398raportu 390

po czenie z aplikacj 368prezentowanie uk adu graficznego 383projektowanie 371

i prezentowanie 368przystosowanie strony do obs ugi raportoacutew

387renderowanie 368tryby definicji 368tworzenie

definicji lokalnej 368formu 378przy u yciu kreatora 372

uk ad 383wstawianie nag oacutewka i stopki 385wykresy 406wy wietlenie 375

Razor 21 30przetwarzanie definicji widoku 208

RDL 418rekordy

edycja 307lista 301tworzenie 311usuwanie 305

Relationship 347Report Definition Language 418Report Wizard 371repudiation 148request 442response 442responsywno 464rollback transaction 319routing 22 430routowanie 121

SSandBox 341scaffolding 301Secure Socket Layer 337sekcja

membership 178roleManager 179set 441

serwerSMTP

konfiguracja 171us ug informacyjnych 149

weryfikacja to samo ci u ytkownika 149Simple Mail Transfer Protocol 495s owo kluczowe

helper 455await 474using 47 329

spaghetti code 18spoofing 147SQL Server Reporting Services 367SSRS 367stan pola

typu CheckBox 269pobieranie 264

STRIDE 148strona startowa

MojaNawigacja 226strona wzorcowa 30

aplikacji Kadry 55referencja do bibliotek skryptoacutew 70

systemowy serwer us ug informacyjnych 121szyfrowanie po czenia 335

ze roacuted em danych 336

Kup książkę Poleć książkę

Skorowidz 539

Ttabela danych

Categories 418Customers 305deklaracje kaskadowych arkuszy stylu 275edycja

danych 279danych w wierszu 257rekordoacutew 307 310

Employees 240 288filtrowanie listy 275integralno danych 288Konta 321 326kwerenda wybieraj ca 240Orders 291 315OrdersDetails 307pobieranie fotografii 276pobranie danych z wykorzystaniem JScript 280prezentacja

danych 277 325informacji 252listy danych 248pierwszego rekordu 246rekordoacutew 317

przekazanie do widoku 248Shippers 251tworzenie rekordoacutew 311umieszczenie w bazie danych 321uruchomienie edycji danych 258usuwanie

danych 288rekordoacutew 271 305 306

widok b du 268wstawianie

danych 294rekordoacutew 251

wy wietlenie listykonfiguracja hiper cza 315

zako czenie edycji rekordu 267tablica asocjacyjna 479tablica bajtoacutew

konwersja do bitmapy 277tampering 147task pane 371Task-based Asynchronous Pattern 465TDD 15

test jednostkowy funkcjonalno ci kontrolera28

Test-Driven Development 15testowanie

aplikacji 29wzorcoacutew wyra e regularnych 76 78

Toolbox 274

transakcje 319automatyczne zarz dzanie 327otaczaj ce 329poziom izolacji 332tworzenie i r czna kontrola 319

trasowanie 121aplikacja 430blokowanie dost pu 124domy lne regu y 123Ksi gaGosci_MVC3 430w asne regu y 124

trasowanie adresoacutew URL 121T-SQL 319

czynno ci bazodanowe 345tworzenie

bazy danych 40interfejsu u ytkownika

jQM 459szablony 231wzorzec MVVM 227

u ytkownika 200kody b doacutew 201

widoku Index 231wzorcoacutew wyra e regularnych 76

typed DataSet 244typizacja

silna 46s aba 46

typy puste 27

Uujawnienie krytycznych informacji 147ukryte pola 441Uniform Resource Locator 18URL 18uruchomienie aplikacji 503us uga

AspNetSqlProvider 178ustawienia aplikacji 167

odczytanie z pliku konfiguracyjnego 169UTC 155uwierzytelnienie 149

centralny serwis 151certyfikaty 150formularze logowania 151

atrybuty elementu forms 154konfiguracja 153mechanizmy zintegrowane z ASPNET 149na bazie protoko u NTLM 150przekazywanie informacji 151proste 150skroacutecone 150us ugi systemu Windows 150

Kup książkę Poleć książkę

540 ASPNET MVC

Vvariable placeholders 122view engine 21views 16viewstate 442Visual Studio

kreator projektu 19Visual Studio Development Server 496VS 2012

instalacja 240kreator Add New Item 242

VSDS 496

Wwalidacja

adresue-mail 83URL 83WWW 84

danych 53a technologia Entity Framework 68konfiguracja 66modelu Pracownik 66odwo anenie do jQuery 61po stronie klienta 67wyra enia regularne 73

skrypty i style walidatoroacutew 438w asno ci klasy encji 435

w tek 465Web API 477

edycja danych 491klient 483konfiguracja interfejsu 478obs uga da typu POST 486pobranie danych z serwera 485serwis sieciowy 479usuwanie danych 493

web serwer 495Web Site Administration Tool 161

konfigurowanie uprawnie 165zarz dzanie

dostawcami us ug 178u ytkownikami 163

WebForms 17bezpiecze stwo aplikacji 152integracja komponentoacutew z MVC 367kontrolka Repeater 434obs uga wyj tkoacutew 172przetwarzanie dania aplikacji klienckiej 18separacja modelu 427weryfikacja poprawno ci projektu 434

weryfikacjakodu pocztowego 81to samo ci 151

widok 16 25 30aplikacji

MVC4 453przystosowanie do urz dze mobilnych

459Transakcje 326

cz ciowy 30dodawanie 31edycji klienta 307elementy 31formularz

dodawania wpisu 425logowania 203

kontroleraaplikacja Kadry 58panelu administracyjnego 222

kontrolera AdminController 213kontrolera Dopasowania 77kontrolera ErrorControler 174kontrolera Glosowania 103kontrolera Home 131 169 182 307

metodaWyswietlLog 142Raport 375Transakcje 320

kontrolera HomeController 246AsynchronicznyKontroler 468EksportDanych 417

kontrolera Lista 93kontrolera Mapa 33 34

formularz 70Trasa 50

kreatorakonta u ytkownika 205zmiany has a 206

listyklientoacutew 302pracownikoacutew 61wyznaczonych tras 48zamoacutewie 316

mapyod wie enie 108parametryzacja 34

mechanizm przetwarzania 30modyfikowanie formularza 437obs uga wyj tkoacutew 130Pracownicycshtml 453projektowanie 31transfer danych do kontrolera 36typu CRUD 52

Kup książkę Poleć książkę

Skorowidz 541

typu GridViewimplementacja 48

typy plikoacutew 30utworzenie 30uzupe nianie tre ci 33walidacja 435wi zanie z modelem 437wstawianie rekordoacutew 312wynikoacutew ankiety 105wy wietlanie wpisoacutew 432

wielodziedziczenie 360Windows Authentication Provider 149Windows Data Protection API 187Windows Forms

implementacja klienta 483Windows Live ID 149w a ciwo

ConnectionString 243IsMobileDevice 460ModelStateIsValid 47

wstawianie rekordoacutew 299wstrzykni cie kodu 181 185wykresy 406

konfiguracjaserii danych 407typu 407

pobranie danych roacuted owych 408wy czenie aplikacji 171wyra enia lambda 46wyra enia regularne 73

atrybuty modelu 84liczba wyst pie sk adnikoacutew 76wzorzec

adres URL 83imi e skie 81kod pocztowy 80tworzenie 76

znaki i cyfry 74znaki specjalne 74znaki w wyznaczonych miejscach a cucha 75

wzorzecodnajdywanie

znakoacutew i cyfr 74znakoacutew specjalnych 74znakoacutew w wyznaczonych miejscach

a cucha 75okre lanie

liczby wyst pie znakoacutew 76

XXSS 181

Zzabezpieczenia

aplikacji bazodanowych 335ataki XSS 187informacje o b dach 171kodu po redniego 338konfiguracja 161konfiguracja aplikacji

kreatory 162obs uga wyj tkoacutew 171pliku konfiguracyjnego 167 187przed atakami 148ustawienia aplikacji 167witryny 181zarz dzanie dostawcami us ug 178z o liwy kod 181

zarz dzanieu ytkownikami i grupami 211

dost p do panelu administracyjnego 216lista grup 221podzia na grupy 220pobieranie listy 213tworzenie nowej grupy 222zmiana przynale no ci do grupy 215

z o ono ci aplikacji 16zdarzenie

DataGridViewCellDoubleClick 491rejestrowanie 430

z o liwy koddzia anie 181

znacznikinput 288

znaki specjalneodnajdywanie 74

zwi zanie z modelem 48zwi zek 347

danie 25asynchroniczna obs uga 92 466 470

skrypty 318zadania 473

GET 64POST 64przetwarzanie 127zablokowanie obs ugi 124

Kup książkę Poleć książkę

Notatki

Kup książkę Poleć książkę

306 Cz II Technologie bazodanowe w aplikacjach internetowych

Rysunek 183Konfiguracja wi zoacutewintegralno ci danych

Listing 183 Usuwanie rekordoacutew z tabeli Customers

private void AktualizujDaneKlientow() northwindDataSetEnforceConstraints = false

orderDetailsTableAdapterUpdate(northwindDataSetOrder_Details) ordersTableAdapterUpdate(northwindDataSetOrders) customersTableAdapterUpdate(northwindDataSetCustomers)

northwindDataSetEnforceConstraints = true

public ActionResult ScaffoldingDelete(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) if (cdr = null) Usuwanie rekordoacutew potomnych DataRow[] zamowienia = cdrGetChildRows(northwindDataSetRelations[FK_Orders_Customers])

foreach (DataRow dr in zamowienia) drDelete()

Usuwanie rekordu klienta cdrDelete()

Aktualizacja wszystkich powi zanych tabel AktualizujDaneKlientow()

return ScaffoldingList()

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 307

Podczas usuwania danego rekordu nale y zadba o rekordy z innych tabel ktoacutere sz nim zwi zane relacjami Wiersze tabeli Customers s skojarzone z rekordami z tabelOrders oraz OrdersDetails Z tego powodu aktualizuj zawarto ci tych tabel po usu-ni ciu wybranego rekordu klienta Osierocone rekordy z tabeli Orders s usuwane ra-zem z nim

Edycja rekordoacutewDo edycji rekordoacutew w tabeli Customers potrzebny b dzie odpowiedni widok ktoacuteryprzygotuj na bazie automatycznie wygenerowanego kodu roacuted owego

1 Zgodnie z przepisem z podrozdzia u bdquoLista rekordoacutewrdquo utwoacuterz widokkontrolera Home i skonfiguruj go wed ug wzoru z rysunku 184

Rysunek 184Konfiguracja widokuedycji klienta

2 Wygenerowany automatycznie plik widoku ScaffoldingEditcshtmlzmodyfikuj zgodnie z listingiem 184

Listing 184 Definicja widoku edycji klienta

model NorthwindMVCModelsNorthwindDataSetCustomersRow

ViewBagTitle = ScaffoldingEdit

lth2gtScaffoldingEditlth2gtlth2gtEdycja rekordulth2gt

ltscript src=UrlContent(~Scriptsjqueryvalidateminjs)type=textjavascriptgtltscriptgt

Kup książkę Poleć książkę

308 Cz II Technologie bazodanowe w aplikacjach internetowych

ltscript src=UrlContent(~Scriptsjqueryvalidateunobtrusiveminjs)type=textjavascriptgtltscriptgt

using (HtmlBeginForm(EdytujDaneKlienta Home new id = ModelCustomerID)) HtmlValidationSummary(true) ltfieldsetgt ltlegendgtDane klientaCustomersRowltlegendgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCustomerID) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCustomerID) HtmlValidationMessageFor(model =gt modelCustomerID) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCompanyName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCompanyName) HtmlValidationMessageFor(model =gt modelCompanyName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactName) HtmlValidationMessageFor(model =gt modelContactName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactTitle) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactTitle) HtmlValidationMessageFor(model =gt modelContactTitle) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelAddress) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelAddress) HtmlValidationMessageFor(model =gt modelAddress) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCity) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCity) HtmlValidationMessageFor(model =gt modelCity) ltdivgt

ltdiv class=editor-labelgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 309

HtmlLabelFor(model =gt modelRegion) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRegion) HtmlValidationMessageFor(model =gt modelRegion) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPostalCode) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPostalCode) HtmlValidationMessageFor(model =gt modelPostalCode) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCountry) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCountry) HtmlValidationMessageFor(model =gt modelCountry) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPhone) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPhone) HtmlValidationMessageFor(model =gt modelPhone) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelFax) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelFax) HtmlValidationMessageFor(model =gt modelFax) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRowError) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRowError) HtmlValidationMessageFor(model =gt modelRowError) ltdivgt

ltpgt ltinput type=submit value=SaveZapisz gt ltpgt ltfieldsetgt

ltdivgt HtmlActionLink(Back to List Index) HtmlActionLink(Powroacutet do listy rekordow ScaffoldingList)ltdivgt

Kup książkę Poleć książkę

310 Cz II Technologie bazodanowe w aplikacjach internetowych

3 W kontrolerze Home zdefiniuj metody z listingu 185

Listing 185 Edycja danych klienta

public ActionResult ScaffoldingEdit(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id)

if (cdr = null) return View(ScaffoldingEdit cdr) else return ScaffoldingList()

private void PrzepiszDaneKlienta(FormCollection daneKlienta refNorthwindDataSetCustomersRow rekordKlienta)

rekordKlientaCompanyName = daneKlienta[CompanyName]ToString() rekordKlientaContactName = daneKlienta[ContactName]ToString() rekordKlientaContactTitle = daneKlienta[ContactTitle]ToString() rekordKlientaAddress = daneKlienta[Address]ToString() rekordKlientaCity = daneKlienta[City]ToString()

public ActionResult EdytujDaneKlienta(FormCollection daneKlienta string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) if (cdr = null) PrzepiszDaneKlienta(daneKlienta ref cdr) AktualizujDaneKlientow() return ScaffoldingList()

Proces edycji rekordu w bazie danych za pomoc technologii ADONET opiera si nainformacjach zebranych w poprzednich rozdzia ach wi c nie b d go tu szczegoacute owoopisywa Celem tego przyk adu by o automatyczne wygenerowanie widoku umo li-wiaj cego edycj danych klienta przystosowanie go do w asnych potrzeb oraz inte-gracja z kontrolerem

Separacja modelu widoku i kontrolera umo liwia narz dziom Visual Studio 2012 auto-matyczne generowanie widoku na podstawie definicji modelu Jednak e jak pokaza-em w tym podrozdziale kreator tworzy widok ktoacutery umo liwia edycj wszystkich poacutel

rekordu (nawet identyfikatora) co sprawia e w wi kszo ci przypadkoacutew nale y sa-modzielnie edytowa plik widoku w celu przystosowania go do potrzeb projektowanejaplikacji Jednak jak pokazuje powy szy przyk ad nie jest to rzecz skomplikowan

Integracja widoku z kontrolerem polega na odpowiednim przekazywaniu informacjio edytowanym rekordzie oraz warto ci jego poacutel Do tego celu wykorzysta em identy-fikator klienta ktoacutery jednoznacznie identyfikuje rekordy w tabeli Customers

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 311

Przyk adowy wynik polece zaimplementowanych w tym podrozdziale przedstawiarysunek 185

Rysunek 185Edycja danych klienta

Tworzenie rekordoacutewW poprzednich podrozdzia ach zaimplementowa em trzy spo roacuted czterech podstawo-wych elementoacutew schematu CRUD czyli odczytywanie (R) aktualizacj (U) oraz usu-wanie (D) rekordoacutew Ostatnim elementem jest tworzenie (C) nowych rekordoacutew W celuzaimplementowania procedury uzupe niania tabeli Customers nowymi rekordami na-le y post pi nast puj co

1 W Solution Explorer rozwi w ze Views a nast pnie kliknij prawymprzyciskiem myszy folder Home

2 Wybierz opcj Add a nast pnie Viewhellip z menu kontekstowego

3 W kreatorze Add View

a) Zmie nazw widoku na ScaffoldingCreate

b) Zaznacz pole wyboru Create a strongly-typed view

c) Z listy dost pnych modeli wybierz pozycj CustomersRow

d) Z listy rozwijanej Scaffold template wybierz Create

e) Kliknij przycisk Add

4 Utworzony w ten sposoacuteb plik ScaffoldingCreatecshtml zmodyfikuj wed ugwzoru z listingu 186

Kup książkę Poleć książkę

312 Cz II Technologie bazodanowe w aplikacjach internetowych

Listing 186 Widok umo liwiaj cy wstawianie rekordoacutew do tabeli Customers

model NorthwindMVCModelsNorthwindDataSetCustomersRow

ViewBagTitle = ScaffoldingCreate

lth2gtScaffoldingCreatelth2gtlth2gtTworzenie rekordulth2gt

ltscript src=UrlContent(~Scriptsjqueryvalidateminjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~Scriptsjqueryvalidateunobtrusiveminjs)type=textjavascriptgtltscriptgt

using (HtmlBeginForm(DodajKlienta Home)) HtmlValidationSummary(true) ltfieldsetgt ltlegendgtDane klientaCustomersRowltlegendgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCustomerID) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCustomerID) HtmlValidationMessageFor(model =gt modelCustomerID) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCompanyName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCompanyName) HtmlValidationMessageFor(model =gt modelCompanyName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactName) HtmlValidationMessageFor(model =gt modelContactName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactTitle) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactTitle) HtmlValidationMessageFor(model =gt modelContactTitle) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelAddress) ltdivgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 313

ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelAddress) HtmlValidationMessageFor(model =gt modelAddress) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCity) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCity) HtmlValidationMessageFor(model =gt modelCity) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRegion) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRegion) HtmlValidationMessageFor(model =gt modelRegion) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPostalCode) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPostalCode) HtmlValidationMessageFor(model =gt modelPostalCode) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCountry) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCountry) HtmlValidationMessageFor(model =gt modelCountry) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPhone) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPhone) HtmlValidationMessageFor(model =gt modelPhone) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelFax) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelFax) HtmlValidationMessageFor(model =gt modelFax) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRowError) ltdivgt ltdiv class=editor-fieldgt

Kup książkę Poleć książkę

314 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlEditorFor(model =gt modelRowError) HtmlValidationMessageFor(model =gt modelRowError) ltdivgt

ltpgt ltinput type=submit value=CreateUtwoacuterz gt ltpgt ltfieldsetgt

ltdivgt HtmlActionLink(Back to List Index) HtmlActionLink(Powroacutet do listy ScaffoldingList)ltdivgt

5 Definicj kontrolera Home uzupe nij o polecenia z listingu 187

Listing 187 Wstawianie rekordoacutew do tabeli Customers

private char PobierzZnak(string lancuch int index) Random random = new Random() char znak

if (lancuchLength gt index) znak = lancuch[index] else znak = (char)randomNext(0 255)ToString()[0]

return znak

private void UtworzIdentyfikatorKlienta(ref NorthwindDataSetCustomersRowdaneKlienta)

string identyfikator = int indexZnaku = 0

identyfikator += PobierzZnak(daneKlientaCompanyName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactTitle indexZnaku) identyfikator += PobierzZnak(daneKlientaAddress indexZnaku) identyfikator += PobierzZnak(daneKlientaCity indexZnaku)

daneKlientaCustomerID = identyfikator

public ActionResult DodajKlienta(FormCollection daneKlienta string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersNewCustomersRow()

PrzepiszDaneKlienta(daneKlienta ref cdr)

UtworzIdentyfikatorKlienta(ref cdr)

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 315

customersTableAdapterInsert(cdrCustomerID cdrCompanyName cdrContactName cdrContactTitle cdrAddress cdrCity )

AktualizujDaneKlientow()

return ScaffoldingList()

Wstawienie rekordoacutew do tabeli Customers jest analogiczne do ich edycji Jedyn roacute -nic jest konieczno utworzenia identyfikatora klienta gdy nie jest on tworzonyautomatycznie jak to by o w przypadku tabeli Employees Identyfikatory rekordoacuteww tabeli Customers s pi cioelementowymi ci gami znakoacutew Tworz je na podstawiepierwszych liter poacutel CompanyName ContactName ContactTitle Address oraz City Je liw tych polach znajduj si puste ci gi to odpowiedni liter zast puj losowo wyge-nerowanym znakiem

W kolejnym podrozdziale poka w jaki sposoacuteb wy wietli informacje o rekordachpotomnych opieraj c si na relacji pomi dzy tabelami

Formularz z podformularzem(MasterDetail Form)

Jako podsumowanie tego rozdzia u utworz formularz z podformularzem tak zwanyformularz MasterDetail Jego dzia anie polega na tym e wy wietlanie danych od-bywa si na bazie co najmniej dwoacutech komponentoacutew (np blokoacutew czy tabel) oraz rela-cji mi dzy tabelami Pierwszy komponent prezentuje rekordy zawarte w tabeli g oacutew-nej (ang master) a drugi zawiera dane z tabeli podrz dnej (ang detail) Komponentzwi zany z tabel podrz dn ma zazwyczaj za zadanie prezentowa szczegoacute owe da-ne odpowiadaj ce rekordowi z tabeli nadrz dnej ktoacutery zosta wskazany przy pomocyzwi zanej z nim listy rekordoacutew Pola tych tabel musz by zatem uporz dkowane w takisposoacuteb aby pokazywa y informacj o tym samym rekordzie Uzyskuje si to przy po-mocy relacji mi dzy tabelami ktoacuterej zadaniem jest powi zanie informacji zawartychw bazie danych

W tym podrozdziale tabel nadrz dn b dzie tabela Customers a podrz dn OrdersPo klikni ciu na hiper cze z etykiet zamoacutewienia wy wietli si lista rekordoacutew tabeliOrders skojarzonych z danym klientem dania prezentacji zamoacutewie b d realizo-wane asynchronicznie

1 Plik widoku ScaffoldingListcshtml zmodyfikuj wed ug wzoru z listingu 188

Listing 188 Konfiguracja hiper cza umo liwiaj cego wy wietlenie listy zamoacutewie danego klienta

hellipforeach (var item in Model) lttrgt lttdgt

Kup książkę Poleć książkę

316 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlDisplayFor(modelItem =gt itemCustomerID) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCompanyName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactTitle) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemAddress) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCity) lttdgt lttdgt HtmlActionLink(Edytuj ScaffoldingEdit new id = itemCustomerID ) | AjaxActionLink(Zamoacutewienia ScaffoldingMasterDetail new id = itemCustomerID new AjaxOptions UpdateTargetId = zamowienia OnSuccess = documentgetElementById(zamowienia)scrollIntoView() ) | HtmlActionLink(Usu ScaffoldingDelete new id = itemCustomerID ) lttdgt lttrgtlttablegt

ltdiv id=zamowieniagtltdivgt

2 Utwoacuterz widok cz ciowy o nazwie ZamowieniaPartialViewcshtml i wstaww nim polecenia z listingu 189

Listing 189 Definicja widoku prezentuj cego list zamoacutewie

model IEnumerableltNorthwindMVCModelsNorthwindDataSetOrdersRowgt

if (Model == null) lth2gtBrak zamoacutewie lth2gtelse lth2gtLista zamoacutewie lth2gt

lttablegt lttrgt ltthgt OrderDate ltthgt ltthgt RequiredDate ltthgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 317

ltthgt ShippedDate ltthgt ltthgt ShipName ltthgt ltthgt ShipAddress ltthgt ltthgt ShipCity ltthgt ltthgtltthgt lttrgt

foreach (var item in Model) lttrgt lttdgt itemOrderDateToShortDateString() lttdgt lttdgt itemRequiredDateToShortDateString() lttdgt lttdgt itemShippedDateToShortDateString() lttdgt lttdgt itemShipName lttdgt lttdgt itemShipAddress lttdgt lttdgt itemShipCity lttdgt lttrgt lttablegt

3 Kontroler Home uzupe nij o metod ScaffoldingMasterDetail ktoacuterej definicjprzedstawi em na listingu 1810

Listing 1810 Pobranie i prezentacja rekordoacutew potomnych wybranego klienta

public ActionResult ScaffoldingMasterDetail(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) NorthwindDataSetOrdersRow[] zamowieniaPracownika = null

if (cdr = null) zamowieniaPracownika = (NorthwindDataSetOrdersRow[])cdrGetChildRows(FK_Orders_Customers)

Kup książkę Poleć książkę

318 Cz II Technologie bazodanowe w aplikacjach internetowych

if (RequestIsAjaxRequest()) return View(ZamowieniaPartialView zamowieniaPracownika) else return ScaffoldingList()

4 Sekcj ltheadgt pliku _Layoutcshtml uzupe nij o polecenia z listingu 1811

Listing 1811 Import skryptoacutew obs uguj cych dania asynchroniczne

ltscript src=UrlContent(~Scriptsjqueryunobtrusive-ajaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftAjaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftMvcAjaxjs)type=textjavascriptgtltscriptgt

5 Po skompilowaniu i uruchomieniu aplikacji powiniene uzyska efektanalogiczny do przedstawionego na rysunku 186

Rysunek 186 Przyk ad formularza typu MasterDetail

Kup książkę Poleć książkę

Skorowidz

AACL 149action methods 25ActiveX Data Object 238ADO 238ADONET 238

obiekty 238podstawy 237synchronizacja buforu ze roacuted em danych 273

adresy URLautoryzacja 157parametry 122trasowanie 121wzorce 122 123

agile programming 15AJAX 91

aktualizacja bloku witryny 113dodanie referencji do bibliotek JavaScript 94

akcjaCreate 354Delete 357Details 353dodaj ca nowy produkt 355Edit 356

aktualizacjazawarto ci elementu witryny 92

algorytmRSA 187

ambient transaction 329ankieta 102AntiXss 187aplikacje

bazodanowe 235bezpiecze stwo 335mechanizm transakcji 319scaffolding 301

synchronizacja ze roacuted em danych 273uwagi do projektowania 345

mo liwo edytowania wpisoacutew 441rejestrowanie zdarze i trasowanie 430

Application Domain 339architektura obiektowa 347ASPNET

konfiguracja aplikacji 161mechanizmy uwierzytelnienia 149metody globalne 107w czanie i wy czanie aplikacji 171

ASPNET AJAX 91ASPNET MVC 15

komponenty 16ASPX 21 30asynchroniczne przetwarzanie da http

jQuery 113Asynchronous JavaScript and XML 48Asynchronous Programming Model 464ataki

rodzaje 147SQL Injection 148 344wy udzenie informacji 148z o liwy kod 181

atrybut 347AcceptVerbs(HttpPost) 47AcceptVerbs(HttpVerbsPost) 65AssociationAttribute 58Authorize 200AuthorizeAttribute 128autoryzacyjny 145ConcurrencyCheckAttribute 58Confirm 95cookieless 154CustomValidationAttribute 58 66data-bind 230DataType 54 57

Kup książkę Poleć książkę

528 ASPNET MVC

atrybutDataTypeAttribute 58defaultRedirect 173defaultUrl 154DisplayAttribute 58DisplayColumnAttribute 58DisplayName 436EditableAttribute 58enableCrossAppRedirects 155EnumDataTypeAttribute 58FilterUIHintAttribute 58HandleError 138 175HandleErrorAttribute 129HttpMethod 95InsertionMode 95KeyAttribute 58klasy do konfiguracji metadanych 57 58LoadingElementDuration 110LoadingElementId 95 110Log

klasa implementuj ca 142loginUrl 154MetadataType 69MetadataTypeAttribute 58mode 153 173modelu 55name 155NonAction 26 135OnBegin 95OnComplete 95OnFailure 95OnSuccess 95 110OutputCache 133OutputCacheAttribute

parametry 134passwordFormat 156protection 155Range 54 66RangeAttribute 58redirectMode 173RegularExpressionAttribute 58Required 54 66RequiredAttribute 58RequireHttps 135requireSSL 155slidingExpiration 155StringLength 66StringLengthAttribute 58TestClass 29TestMethod 29ticketCompatibilityMode 155timeout 155TimestampAttribute 58UpdateTargetId 95

Url 95ValidateInput 185

atrybuty modeluwyra enia regularne 84

Attribute 347authentication ticket 151auto post back 217autocomplete textbox 115automatyczne uzupe nienie pola tekstowego 115autoryzacja 149 157

adresoacutew URL 157konfiguracja 157

grupy u ytkownikoacutew 158mechanizm filtrowania 158otwarta 460plikoacutew 157zdalna

powi zanie z portalem Facebook 461Azure 496

Bbazy danych 40 237

aktualizacja 41lista rekordoacutew 301Northwind 240

detale produktu 352dodawanie po cze 350pobieranie produktoacutew 351

po czenie ze roacuted em danych 241relacyjne 237schemat CRUD 301transakcje 319tworzenie 321

nowego rekordu 48schematu na bazie modelu encji 357

usuwanie danych 290regu y integralno ci 293

usuwanie powi zanych wierszyrekordy potomne 291

warstwa dost pu 42bezpiecze stwo

aplikacji internetowych 147ataki 147mechanizmy 149

biblioteka NETprogramowanie asynchroniczne 464

biblioteka skryptoacutewMapajs 32

bilet uwierzytelniaj cy 151b dy

dzia ania aplikacji 171strona b du 176tworzenie u ytkownika 202wprowadzenie z ego rekordu 268

Kup książkę Poleć książkę

Skorowidz 529

body 383buforowanie

danych ze roacutede zewn trznych 133bundling 475Business Intelligence 368

Ccallback 35CAS 151 338CDN 113Central Authentication Service 151centralna us uga uwierzytelnienia 151certyfikat 337CLR

procesy systemowe 466Code Access Security 338Confirm 96connString 341controllers 16Coordinated Universal Time 155Create Read Update Delete 301cross-site scripting 181CRUD 54 301Crystal Reports 368

Ddane

agregacja 378bezpo redni dost p do roacuted a 346eksport 413

do dokumentu tekstowego 419do PDF 420skoroszyt MS Excel 421tabele dynamiczne 418

integralno 288 319pomini cie sprawdzania 292regu y 291

modyfikacja 249platforma modelowania 347prezentacja

graficzna 406w postaci macierzowej 390

przekazywaniez formularza do roacuted a 46z kontrolera do widoku 437 439

serializacja i transfer struktur 117szyfrowanie 337typu

ActionResult 25walidacja 53weryfikacja 53wi zy integralno ci 306

wy wietlanie 315zabezpieczenie 338

Data Binding 389Data Definition Language 345Database Management System 237DBMS 237

wi zy integralno ci 238DDL 345denial of service 147detail 315Development Server 504DIE 53DisplayFormatAttribute 58document object model 92DOM 92domena aplikacji 339 466

instancja obiektoacutew 341tworzenie 339wspoacute dzielenie obiektu 341

dostawcy us ug 178dost p anonimowy 150DotNetOpenAuth 149DPAPI 187DRY 53dyrektywa

model 46

Eelement

customErrors 173success 115

elevation of privilege 147encapsulation 107encja 347

atrybuty 54bazodanowa 54KategoriaProduktu 358odwzorowanie w bazie danych 360Order_Details 362Orders 361Products 361Produkt 358

Entity 347Entity Framework 43 347

POCO 360potwierdzenie explicite 356technologie 349wersje 347

Entity Relationship Model 347Entity SQL 349ERM 347Event-based Asynchronous Pattern 465event-driven programming 17

Kup książkę Poleć książkę

530 ASPNET MVC

FFile Transfer Protocol 495filtry 127

akcji 127 139autoryzacyjne 127 144dynamiczne 395kolejno wykonywania 137

priorytety 138Log

metody 141LogAttribute

definicja klasy 140podstawowe atrybuty 128statyczne 395w asne 139wyj tkoacutew 128 144

niestandardowe 145wyniku 128 144

for 434foreach 51Forms Authentication Provider 149formularz

MasterDetail 315z podformularzem 315

funkcjadelay 217ListaPracownikoacutew 57Mid 390RolesIsUserInRole 217Today 390wyznaczaj ca tras 109zmienPrzynaleznoscDoGrupy 217 218

GGauge 383 403GDI 368graficzny interfejs u ytkownika 17 30Graphics Device Interface 368GridView 48grupy u ytkownikoacutew

autoryzacja 158GUI 17

Hhard-coding 167haszowanie 150helper methods 25html helper 455

Iidentyfikator

klienta 315rekordoacutew 315

IIS 121 149 495instalacja

ASPNET 445 498serwera w Windows 7 496serwera w Windows 8 496

mened er Windows 499uruchamianie aplikacji 503

serwer do rozwoju aplikacji 504information disclosure 147instancje aplikacji 465instancjonowanie modelu 39IntelliSense 247interfejs u ytkownika

przycisk umo liwiaj cy dodanie pracownika294

przycisk usuni cia wybranego rekordu 289Internet Information Services 121internetowe us ugi informacyjne 495in ynieria spo eczna 148Isolation Level 332izolacja 339 466

JJavaScript Object Notation 117jQM 457jQuery

autocomplete 116pliki roacuted owe 113

jQuery Mobile 457jQuery UI 367

wykorzystanie przyciskoacutew 284JSON 117

obiekt typu adres 118

KKey Performance Indicators 403klasa

AccountController 198ActionExecutingContext 143AdminController 212Ajax 94AjaxOptions 94

atrybuty 95AspNetHidden 442AssemblyName 170Assert 29

Kup książkę Poleć książkę

Skorowidz 531

AuthConfig 461BundleConfig 475Configuration 170ConfigurationManager 170ConfigurationSection 187 188ConnectionStringBuilder 345DpapiProtectedConfigurationProvider 187FiltryRaportuMacierzowego 397Form1 484FormsAuthentication 152Global 430HandleErrorInfo 133HtmlHelper 437HttpClient 483 486HttpResponseMessage 486kontekstu 362LogOnModel 198MarshallByRefObject 341Membership 152 198 211MvcApplication 430NorthwindContext 362ObjectContext 348ObjectQueryltTgt 348Order_Details 362Orders 361Osoba 228ParametryWatku 470Pracownik 484Products 361Produkt 230Raport 392RequestBrowser 460ResultExecutedContext 144ResultExecutingContext 144Roles 211RsaProtectedConfigurationProvider 187SQLConnCAS

definicja 340stowarzyszona z modelem 69SystemNetHttpFormattingJsonMediaTypeF

ormatter 491SystemTextRegularExpressions 74SystemWebSecurityRoles 159Task 465 472testuj ca 29Thread 465 469TransactionScope 327UrlRoutingModule 121ViewData 434 436 439WebApiConfig 478WebConfigurationManager 170Wpisy 427 436

klucze 237MAC 155obce 238podstawowe 238

kluczowe wska niki efektywno ci 403dynamiczna zmiana warto ci 404

Knockout 227wykorzystanie szablonoacutew JavaScript 230wywo anie skryptu 229

kodowanie danychprzekazywanych przez u ytkownikoacutew 186

komponentFormDanePracownika 489obiektu

PartialView 99typu ListBox 99

ReportViewer 368 375eksport danych 413nawigacja mi dzy stronami raportu 377

komponenty u ytkownika 30komunikaty o b dach 171

kod statusowy 174 175koncepcja programowania zdarzeniowego 16konfiguracja

po czenia z baz danych 241uprawnie puli aplikacji 454walidacji danych 66

konkurencyjno aplikacji 332kontekst wi zania 389kontrola wprowadzanych danych 263

metoda onColumnChanged 269wstrzymanie walidacji wiersza 267zako czenie edycji rekordu 267

wymuszenie 267kontroler 16 25

AccountController 195Admin 223AdminController 212aplikacja Kardy 63asynchroniczny 466

a zadania 472dane wyj ciowe 25domeny 150ErrorController 174Glosowania 103Home 182 224 228 231

Bezpiecze stwo 336filtr wyj tku 131

HomeController 184EksportDanych 415Northwind 245

interfejs Web API 477KsiegaGosciController 424

Kup książkę Poleć książkę

532 ASPNET MVC

kontrolerLista 93Mapa 33

autouzupe nianie 117modyfikacja 45

niedost pne metody publiczne 136obs uga POST 431panelu administracyjnego 212

zarz dzanie grupami u ytkownikoacutew 220Pracownicy 57 64PracownicyController

implementacja 481Produkty 351projektowanie 27przekazywanie danych do widoku

zmiany 439uwierzytelnienia 195

klasa 198model 196widoki 203

uzupe nienie o widok 31u ycie modelu odsy anego przez widok 440ValuesController 478weryfikacja funkcjonalno ci 28wi zanie adresu URL z akcj 430widoki 58

konwersja obrazu 278kreator

Add New Item 242Add View 59 302Application 162blokowania szczegoacute oacutew b doacutew 172dodanie u ytkownikoacutew 164grup u ytkownikoacutew 165Provider 162Publish Web 501Security 162tworzenia pracownika 59ustawie aplikacji 167widokoacutew 60wyboacuter dostawcoacutew us ug 178

kwerendy parametryczne 274 401

Llayout witryny 30LINQ

to Entities 349lista rekordoacutew 301

prezentacja 304logika

aplikacji 30bazodanowa 30biznesowa 44

a cuch QueryString 26

Mmaster 315mechanizm

automatycznych w a ciwo ci 57autoryzacji 157eksportu danych 413filtroacutew 127grupowania plikoacutew 475IntelliSense 119QuerynotString 117szyfruj cy 187transakcji 319 321

przelewy bankowe 326wyznaczania trasy przejzdu 34

meotdaInsert 299ProtectSection 191WersjonowanieDataRow

definicja widoku 265message authentication code 155metoda

on 262HtmlValidationSummary 204About 124AcceptChanges 255 263ActionLinkActionLink 61 63 353AddUserToRole 159akcji 25

parametry opcjonalne 27aktualizacja statystyk ankiety 105AktualizujZdjeciePracownika 288Application_AuthenticateRequest 108Application_BeginRequest 107 108Application_End 108Application_EndRequest 107Application_Error 108 172Application_Start 108 123 139 430asynchroniczna kontrolera 472AttachTo 356Authenticate 152AutoUzupelnienie 117

zapytanie LINQ 118BeginEdit 267BeginForm 47 94BeginTransaction 326 332CancelEdit 263ChangeObjectState 356

Kup książkę Poleć książkę

Skorowidz 533

ChangePassword 200hiper cze 208widok 206

ChangePasswordSuccesswidok 206

CreateNazwaEncji 354CreateRole 159CreateUser 153czyBazaDanychIstnieje 326daneDostawcyForm 262DBeginnotEdit 263Delete 270DeleteObject 357DeleteRole 159DeleteUser 153DeszyfrujPlikKonfiguracyjny 191DodajDostawce 255DodajElementDoListy 94 97 101DodajGrupe 223DodajKomentarz 185DodajPracownika 299 491DopiszDoPlikuLog 430Edit 356EdytujDaneDostawcy 261EdytujDanePracownika 493Eksportuj 418EmptyResult 26EndEdit 263EndForm 47ErrorCodeToString 201Fill 246FillByCityName 275FormatDateTime 390FormsAuthenticationSetCookie 199GenerujDane 468Get(int id) 478GetAllRoles 159GetAsync 486GetChildRecords 291GetSection 170GetSectionGroup 170GetUser 153GetUsersInRole 160globalna

aplikacji ASPNET 108Grupy 223HasVersion 263HtmlListBox 97HtmlRenderPartial 101HtmlValidationSummary 61HtmlHelperLabel 437ImiePierwszegoPracownika 246 247Include 475Index 47 79 97 101

kontrolera Mapa 34testowanie 28

IsAjaxRequest 101IsMatch 76IsNotNull 29IsUserInRole 159Label 35ListaDostawcow 252 255ListaPracownikow 248

hiper cze skojarzone 249LogOff 198LogOn 198Macierzowy 397mapowalna 26MetodaAsynchronicznaWatki 472ModelStateAddModelError 199MvcApplicationRegisterRoutes 430obs uga zapyta POST 431odczyt aktualnych bilansoacutew kont 323OdczytajStanyKont 326OnActionExecuted 143OnActionExecuting 127 143onColumnChanged 269OnResultExecuted 144OnResultExecuting 144onRowChanged 266onRowChanging 268OpenConfiguration 170otwarcie po czenia z baz danych 341OtworzPlikDanych 107Page_Load 399PartialViewResult 26PobierzDane 394

modyfikacja 401PobierzPlikLogu 141 143PobierzZdjecie 278PokazTrasy 51PokazWyniki 107pomocnicza 25 455

HtmlEncode 51wykorzystanie 456

PostAsJsonAsync 486PostAsXmlAsync 486PostAsync 486PostResolveRequestCache 121PracownicyWedlugMiast

przechowywanie warto ci filtru 285PutAsJsonAsync 493PutAsXmlAsync 493PutAsync 493ReadAsAsync 486ReadXml 107ReadXmlSchema 107RedirectFromLoginPage 152

Kup książkę Poleć książkę

534 ASPNET MVC

metodaRedirectResult 26RedirectToAction 26RedirectToLoginPage 152RedirectToRoute 26RedirectToRouteResult 26RefreshReport 384Register 199 478RegisterAuth 461 462RegisterBundles 475RegisterGlobalFilters 171RegisterRoutes 94 123RejectChanges 256 263rejestrowanie zdarze aplikacji 430RemoveUserFromRole 160Render 384 413 418RenderPartial 99ResponseWrite 223ResultExecuteResult 143RoleExists 159RolesIsUserInRole 216RolesRemoveUsersFromRole 223route 35RowsAdd 255RozpocznijEdycje 269

hiper cze uruchamiaj ce 267SaveChanges 354ScaffoldingMasterDetail 317Session_End 108Session_Start 108SetAuthCookie 152SetParameters 401 405SignOut 152SprawdzDopasowania 79SprawdzPoprawnoscDatyZatrudnienia 67SqlPermissionAdd 343SqlTransactionCommit 326SqlTransactionRollback 326StronaNieIstnieje 175submit 115SzyfrowaniePlikuKonfiguracyjnego 190szyfruj ca i deszyfruj ca 189SzyfrujPlikKonfiguracyjny 191TextBox 35ThreadSleep 469 472TransactionScopeComplete 329Transfer 36UpdateUser 153UstawParametryRaportu 399UsunGrupe 223UsunTrase 50 51UtworzPracownika 64Uzytkownicy 216ValidateUser 152 153

ValidationMessage 437ValidationMessageFor 61ValidationSummary 437ViewResult 26WebApiConfigRegister 478WersjonowanieDataRow 265

sparametryzowanie 266WpisyZapiszDoPlikuXml 430wykonywanie przelewoacutew 323WyswietlLog 141 142 143wyswietlMape 34 35WyswietlTrase 50

modyfikacja 135 166wyznaczTrase 35ZaktualizujWyniki 107Zapami tajNazw U ytkownika 432ZmienStanKont 328

Microsoft SQL Server 319sposoby uwierzytelnienia 344

MIME type 390minification 476minimalizacja 476model 16 39

APM 464ChangePasswordModel 196EAP 465integracja z elementami aplikacji 39LogOnModel 196obs uga plikoacutew XML 427przesy anie z kontrolera do widoku 432 435RegisterModel 196TAP 465

model binding 48model danych encji 348

dodawanie encji 353edycja encji 355kreator 348 349

czenie encji 359metody akcji 354opcje 361projektowanie relacji 43tworzenie 349

schematu bazy danych 357usuwanie encji 357wyboacuter tabel 350

model first 52model zwi zkoacutew encji 347models 16Model-View-Controller 15Model-View-ViewModel 227Model-Widok-Kontroler 15modu

UrlAuthorizationModule 157

Kup książkę Poleć książkę

Skorowidz 535

MVC 15a Web Forms 16 365 367 423

kod 442serwer internetowych us ug

informacyjnych 495wydajno 443wykorzystanie w projektach 444

ataki XSS 185autoryzacja 158 162bezpiecze stwo aplikacji 152buforowanie 134domy lne wzorce aplikacji 21kreator aplikacji 20mechanizm filtrowania 127Model Binder 355nazwa kontrolera 27obs uga interakcji klient-serwer 121parametry opcjonalne 27pobieranie parametru z adresu URL 26projektowanie aplikacji 18 52przetwarzanie dania aplikacji klienckiej 18sprawdzanie poprawno ci danych 68struktura modelu 39techniki walidacji danych 53utworzenie widoku 30uzupe nianie o komponenty graficzne 367walidacja 438wersja 4 449wyboacuter mechanizmu przetwarzaj cego widoki 21wzorce URL 122zbioacuter modeli szablonu aplikacji 196roacuted o danych 40

MVC4 449grupowanie i optymalizacja skryptoacutew 475kaskadowe arkuszye stylu 475przetwarzanie asynchroniczne 464przystosowanie do urz dze mobillnych 457testowanie aplikacji 457uwierzytelnianie 460

integracja z portalem Facebook 462wsparcie dla urz dze mobilnych 450zdalna autoryzacja 461

MVVM 227

Nnarz dzie

aspnet_regiis 187przetwarzanie tekstu 73

Northwindinstalacja 240kwerenda wybieraj ca 240pobieranie informacji o dostawcach 251

NuGET 483nullable-types 27

OOAuth 461obiekt

AppDomain 339 341Chart 406Command 239Connection 239 241

w a ciwo i 243ConnectionString 343

sposoby uwierzytelniania 344szyfrowanie informacji 335

DataAdapter 239DataGridView 491DataReader 239 273DataRow 255

kontrola wprowadzonych danych 263usuwanie rekordoacutew 270wersje 263wersja proponowana 265wersjonowanie 263w a ciwo ci 255

DataSet 239 244 345edycja rekordoacutew 257kreator konfiguracji TableAdapter 274modyfikacja danych 249tworzenie nowych rekordoacutew 250usuwanie rekordoacutew 271wstawianie rekordoacutew 251wymuszenie wi zoacutew integralno ci 292

DataTable 107DirectionsService 35dostawca 153FormCollection 47jqXHR 218List 389logiki biznesowej 348materializacja 348Matrix 390Membership 152MvcRouteHandler 121 122o okre lonym typie danych 244o silnej typizacji 244o s abej typizacji 247ObjectStateManager 348PartialView 98ReportViewer 368ReportViewerLocalReport 418Request 26 101 432Response 26Route 122ShippersRow 255SqlConnCAS 341SqlConnection 326

Kup książkę Poleć książkę

536 ASPNET MVC

obiektTableAdapter 239 244 273 274 345

edycja danych 279 286wstawianie danych 294

TransactionScope 329parametryzacja 331

typuadres 118AppDomain 466ConcurrentDictionary 479NorthwindDataSet 247ObjectSetltTgt 348Route 121Thread 466

UrlRoutingModule 121ViewBag 36

przekazywanie danych do widoku WebForms 376

ViewData 36 79 432Object Relational Mapping 347Object Services 348obs uga b doacutew

konfiguracja 132w czenie 129

odrzucenie informacji o transakcji 148od wie anie witryny

a fragment widoku 97aktualizacja zawarto ci 113cz ciowe 96

OnSuccess 96operator

await 474konkatenacji 382Top 411Top N 411

ORM 347

Pparametr

CountryName 401data 115filtr 117mapDivId 35maxIloscRekordow 117Order 137raportu 395scopeTimeOut 330

warto ci 330TransactionScopeOption

warto ci 329type 115

parametryzacja kwerend 274partial view 30

piaskownica 341Plain Old CLR Object 360platforma NET

us ugi uwierzytelniania 153plik

ascx 22aspx 22bmp 390cookie 151cookies 154 155cshtml 22 434css 475edmx 360jpg 390js 475konfiguracyjny

zabezpieczenie 187master 22png 390rdl 368rdlc 368tekstowy

wy wietlenie w przegl darce 143vbhtml 22

POCO 360pola klucza 237polecenie

HtmlEncode 187ScriptsRender 476StylesRender 476GET 18POST 18

po czenieze roacuted em danych 241

pomocnik HTML 455Portable Document Format 413po rednik 341poziom izolacji 332

Chaos 333konfiguracja 332ReadCommitted 333ReadUncommitted 333Serializable 333Snapshot 333Unspecified 333

poziom zaufania 339ograniczenie 340

proceduraajax 115AjaxBeginForm 96niemapowalna 26PartialView 26serialize 115

Kup książkę Poleć książkę

Skorowidz 537

proces 465programowanie

oparte na zdarzeniach 17zdarzeniowe 17

projekt aplikacji MVCankieta 102asynchroniczne przetwarzanie da HTTP 92Bezpiecze stwo 181 336

nawi zanie komunikacji ze roacuted emdanych 342

szyfrowanie pliku konfiguracyjnego 191dodawanie i wy wietlanie komentarzy 183domy lny 20EksportDanych 413Filtry 131formularz oceny 107Kadry

walidacja adresu e-mail 84Kardy 55KsiegaGosci_MVC3 424lista prezentuj ca dodawane elementy 97MojaNawigacja 18

blokowanie samodzielnego tworzeniakont 224

buforowanie danych 135implementacja warstwy dost pu 42instalacja na serwerze IIS 500komunikat powitalny 168komunikaty 110komunikaty o b dach 173mechanizm podpowiedzi 115model weryfikuj cy po wiadczenia

u ytkownikoacutew 196modele kontrolera uwierzytelnienia 196od wie enie widoku mapy 109struktura 21szablon 19szablon witryny 225trasowanie da HTTP 123uzupe nienie o baz danych 40uzupe nienie o walidacj danych 69widok b du 175zablokowanie nieautoryzowanego

dost pu 128zarz dzanie u ytkownikami 163zarz dzanie grupami u ytkownikoacutew 212zarz dzanie procesem logowania 198

MsAjax 92NorthwindMVC 241

lista rekordoacutew 301szablon witryny 250

POCO 361priorytety regu filtrowania 137

Raport 368szablon

mechanizmy uwierzytelnienia 156zarz dzanie grupami u ytkownikoacutew 159

Transakcje 319aktualizacja danych 328formularz aktualizacji 328szablon stron 320

uzupe nianie widokiem GridView 49WyrazeniaRegularne 76Zapytania_EF 349

projekt aplikacji MVC4AsynchronicznyKontroler 466

prezentacja danych 468AutoryzacjaOAuth 461implementacja serwisu sieciowego 479konfiguracja grupowania 475MobileMvc 450

testowanie 457pobranie zdj cia 452przygotowanie listy pracownikoacutew 452SerwisSieciowy 477

projekt aplikacji Windows Formsedycja danych 487KlientWebAPI 483tworzenie nowych pracownikoacutew 486

dania typuDELETE 493POST 486PUT 491

projektowaniekontrolera 27widoku 31

protokoacuteFTP 495Kerberos 150NTLM 150SMTP 495SSL 337

proxy 341przechowywanie

informacji o trasach 44wynikoacutew g osowania 107

przeci enie aplikacji 147przekazywanie

danych 44mi dzy widokiem a kontrolerem 36

parametroacutew do metod akcji kontrolera 26przestrze nazw

SystemThreading 465przyjazne linki 122publikowanie aplikacji 495 500

na serwerze IIS 497

Kup książkę Poleć książkę

538 ASPNET MVC

pule aplikacji 465 497konfiguracja 498Windows 7 499Windows 8 500

Rraporty

dane w postaci macierzowej 390data 386definicja

dynamiczna 418filtrowanie danych 394

na poziomie roacuted a 401 418filtry 395formaty prezentacji danych 379grupowanie danych 381hiper cza 387

nawigacyjne 376kolumny obliczeniowe 378konfiguracja

filtrowania dynamicznego 396typu 392roacuted a danych 368

kreator formu 382macierzowe 391numery stron 386obrazy 390parametry 383 394

konfiguracja 399paski narz dziowe 379pola

bazy danych 386formularza 398raportu 390

po czenie z aplikacj 368prezentowanie uk adu graficznego 383projektowanie 371

i prezentowanie 368przystosowanie strony do obs ugi raportoacutew

387renderowanie 368tryby definicji 368tworzenie

definicji lokalnej 368formu 378przy u yciu kreatora 372

uk ad 383wstawianie nag oacutewka i stopki 385wykresy 406wy wietlenie 375

Razor 21 30przetwarzanie definicji widoku 208

RDL 418rekordy

edycja 307lista 301tworzenie 311usuwanie 305

Relationship 347Report Definition Language 418Report Wizard 371repudiation 148request 442response 442responsywno 464rollback transaction 319routing 22 430routowanie 121

SSandBox 341scaffolding 301Secure Socket Layer 337sekcja

membership 178roleManager 179set 441

serwerSMTP

konfiguracja 171us ug informacyjnych 149

weryfikacja to samo ci u ytkownika 149Simple Mail Transfer Protocol 495s owo kluczowe

helper 455await 474using 47 329

spaghetti code 18spoofing 147SQL Server Reporting Services 367SSRS 367stan pola

typu CheckBox 269pobieranie 264

STRIDE 148strona startowa

MojaNawigacja 226strona wzorcowa 30

aplikacji Kadry 55referencja do bibliotek skryptoacutew 70

systemowy serwer us ug informacyjnych 121szyfrowanie po czenia 335

ze roacuted em danych 336

Kup książkę Poleć książkę

Skorowidz 539

Ttabela danych

Categories 418Customers 305deklaracje kaskadowych arkuszy stylu 275edycja

danych 279danych w wierszu 257rekordoacutew 307 310

Employees 240 288filtrowanie listy 275integralno danych 288Konta 321 326kwerenda wybieraj ca 240Orders 291 315OrdersDetails 307pobieranie fotografii 276pobranie danych z wykorzystaniem JScript 280prezentacja

danych 277 325informacji 252listy danych 248pierwszego rekordu 246rekordoacutew 317

przekazanie do widoku 248Shippers 251tworzenie rekordoacutew 311umieszczenie w bazie danych 321uruchomienie edycji danych 258usuwanie

danych 288rekordoacutew 271 305 306

widok b du 268wstawianie

danych 294rekordoacutew 251

wy wietlenie listykonfiguracja hiper cza 315

zako czenie edycji rekordu 267tablica asocjacyjna 479tablica bajtoacutew

konwersja do bitmapy 277tampering 147task pane 371Task-based Asynchronous Pattern 465TDD 15

test jednostkowy funkcjonalno ci kontrolera28

Test-Driven Development 15testowanie

aplikacji 29wzorcoacutew wyra e regularnych 76 78

Toolbox 274

transakcje 319automatyczne zarz dzanie 327otaczaj ce 329poziom izolacji 332tworzenie i r czna kontrola 319

trasowanie 121aplikacja 430blokowanie dost pu 124domy lne regu y 123Ksi gaGosci_MVC3 430w asne regu y 124

trasowanie adresoacutew URL 121T-SQL 319

czynno ci bazodanowe 345tworzenie

bazy danych 40interfejsu u ytkownika

jQM 459szablony 231wzorzec MVVM 227

u ytkownika 200kody b doacutew 201

widoku Index 231wzorcoacutew wyra e regularnych 76

typed DataSet 244typizacja

silna 46s aba 46

typy puste 27

Uujawnienie krytycznych informacji 147ukryte pola 441Uniform Resource Locator 18URL 18uruchomienie aplikacji 503us uga

AspNetSqlProvider 178ustawienia aplikacji 167

odczytanie z pliku konfiguracyjnego 169UTC 155uwierzytelnienie 149

centralny serwis 151certyfikaty 150formularze logowania 151

atrybuty elementu forms 154konfiguracja 153mechanizmy zintegrowane z ASPNET 149na bazie protoko u NTLM 150przekazywanie informacji 151proste 150skroacutecone 150us ugi systemu Windows 150

Kup książkę Poleć książkę

540 ASPNET MVC

Vvariable placeholders 122view engine 21views 16viewstate 442Visual Studio

kreator projektu 19Visual Studio Development Server 496VS 2012

instalacja 240kreator Add New Item 242

VSDS 496

Wwalidacja

adresue-mail 83URL 83WWW 84

danych 53a technologia Entity Framework 68konfiguracja 66modelu Pracownik 66odwo anenie do jQuery 61po stronie klienta 67wyra enia regularne 73

skrypty i style walidatoroacutew 438w asno ci klasy encji 435

w tek 465Web API 477

edycja danych 491klient 483konfiguracja interfejsu 478obs uga da typu POST 486pobranie danych z serwera 485serwis sieciowy 479usuwanie danych 493

web serwer 495Web Site Administration Tool 161

konfigurowanie uprawnie 165zarz dzanie

dostawcami us ug 178u ytkownikami 163

WebForms 17bezpiecze stwo aplikacji 152integracja komponentoacutew z MVC 367kontrolka Repeater 434obs uga wyj tkoacutew 172przetwarzanie dania aplikacji klienckiej 18separacja modelu 427weryfikacja poprawno ci projektu 434

weryfikacjakodu pocztowego 81to samo ci 151

widok 16 25 30aplikacji

MVC4 453przystosowanie do urz dze mobilnych

459Transakcje 326

cz ciowy 30dodawanie 31edycji klienta 307elementy 31formularz

dodawania wpisu 425logowania 203

kontroleraaplikacja Kadry 58panelu administracyjnego 222

kontrolera AdminController 213kontrolera Dopasowania 77kontrolera ErrorControler 174kontrolera Glosowania 103kontrolera Home 131 169 182 307

metodaWyswietlLog 142Raport 375Transakcje 320

kontrolera HomeController 246AsynchronicznyKontroler 468EksportDanych 417

kontrolera Lista 93kontrolera Mapa 33 34

formularz 70Trasa 50

kreatorakonta u ytkownika 205zmiany has a 206

listyklientoacutew 302pracownikoacutew 61wyznaczonych tras 48zamoacutewie 316

mapyod wie enie 108parametryzacja 34

mechanizm przetwarzania 30modyfikowanie formularza 437obs uga wyj tkoacutew 130Pracownicycshtml 453projektowanie 31transfer danych do kontrolera 36typu CRUD 52

Kup książkę Poleć książkę

Skorowidz 541

typu GridViewimplementacja 48

typy plikoacutew 30utworzenie 30uzupe nianie tre ci 33walidacja 435wi zanie z modelem 437wstawianie rekordoacutew 312wynikoacutew ankiety 105wy wietlanie wpisoacutew 432

wielodziedziczenie 360Windows Authentication Provider 149Windows Data Protection API 187Windows Forms

implementacja klienta 483Windows Live ID 149w a ciwo

ConnectionString 243IsMobileDevice 460ModelStateIsValid 47

wstawianie rekordoacutew 299wstrzykni cie kodu 181 185wykresy 406

konfiguracjaserii danych 407typu 407

pobranie danych roacuted owych 408wy czenie aplikacji 171wyra enia lambda 46wyra enia regularne 73

atrybuty modelu 84liczba wyst pie sk adnikoacutew 76wzorzec

adres URL 83imi e skie 81kod pocztowy 80tworzenie 76

znaki i cyfry 74znaki specjalne 74znaki w wyznaczonych miejscach a cucha 75

wzorzecodnajdywanie

znakoacutew i cyfr 74znakoacutew specjalnych 74znakoacutew w wyznaczonych miejscach

a cucha 75okre lanie

liczby wyst pie znakoacutew 76

XXSS 181

Zzabezpieczenia

aplikacji bazodanowych 335ataki XSS 187informacje o b dach 171kodu po redniego 338konfiguracja 161konfiguracja aplikacji

kreatory 162obs uga wyj tkoacutew 171pliku konfiguracyjnego 167 187przed atakami 148ustawienia aplikacji 167witryny 181zarz dzanie dostawcami us ug 178z o liwy kod 181

zarz dzanieu ytkownikami i grupami 211

dost p do panelu administracyjnego 216lista grup 221podzia na grupy 220pobieranie listy 213tworzenie nowej grupy 222zmiana przynale no ci do grupy 215

z o ono ci aplikacji 16zdarzenie

DataGridViewCellDoubleClick 491rejestrowanie 430

z o liwy koddzia anie 181

znacznikinput 288

znaki specjalneodnajdywanie 74

zwi zanie z modelem 48zwi zek 347

danie 25asynchroniczna obs uga 92 466 470

skrypty 318zadania 473

GET 64POST 64przetwarzanie 127zablokowanie obs ugi 124

Kup książkę Poleć książkę

Notatki

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 307

Podczas usuwania danego rekordu nale y zadba o rekordy z innych tabel ktoacutere sz nim zwi zane relacjami Wiersze tabeli Customers s skojarzone z rekordami z tabelOrders oraz OrdersDetails Z tego powodu aktualizuj zawarto ci tych tabel po usu-ni ciu wybranego rekordu klienta Osierocone rekordy z tabeli Orders s usuwane ra-zem z nim

Edycja rekordoacutewDo edycji rekordoacutew w tabeli Customers potrzebny b dzie odpowiedni widok ktoacuteryprzygotuj na bazie automatycznie wygenerowanego kodu roacuted owego

1 Zgodnie z przepisem z podrozdzia u bdquoLista rekordoacutewrdquo utwoacuterz widokkontrolera Home i skonfiguruj go wed ug wzoru z rysunku 184

Rysunek 184Konfiguracja widokuedycji klienta

2 Wygenerowany automatycznie plik widoku ScaffoldingEditcshtmlzmodyfikuj zgodnie z listingiem 184

Listing 184 Definicja widoku edycji klienta

model NorthwindMVCModelsNorthwindDataSetCustomersRow

ViewBagTitle = ScaffoldingEdit

lth2gtScaffoldingEditlth2gtlth2gtEdycja rekordulth2gt

ltscript src=UrlContent(~Scriptsjqueryvalidateminjs)type=textjavascriptgtltscriptgt

Kup książkę Poleć książkę

308 Cz II Technologie bazodanowe w aplikacjach internetowych

ltscript src=UrlContent(~Scriptsjqueryvalidateunobtrusiveminjs)type=textjavascriptgtltscriptgt

using (HtmlBeginForm(EdytujDaneKlienta Home new id = ModelCustomerID)) HtmlValidationSummary(true) ltfieldsetgt ltlegendgtDane klientaCustomersRowltlegendgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCustomerID) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCustomerID) HtmlValidationMessageFor(model =gt modelCustomerID) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCompanyName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCompanyName) HtmlValidationMessageFor(model =gt modelCompanyName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactName) HtmlValidationMessageFor(model =gt modelContactName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactTitle) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactTitle) HtmlValidationMessageFor(model =gt modelContactTitle) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelAddress) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelAddress) HtmlValidationMessageFor(model =gt modelAddress) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCity) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCity) HtmlValidationMessageFor(model =gt modelCity) ltdivgt

ltdiv class=editor-labelgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 309

HtmlLabelFor(model =gt modelRegion) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRegion) HtmlValidationMessageFor(model =gt modelRegion) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPostalCode) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPostalCode) HtmlValidationMessageFor(model =gt modelPostalCode) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCountry) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCountry) HtmlValidationMessageFor(model =gt modelCountry) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPhone) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPhone) HtmlValidationMessageFor(model =gt modelPhone) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelFax) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelFax) HtmlValidationMessageFor(model =gt modelFax) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRowError) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRowError) HtmlValidationMessageFor(model =gt modelRowError) ltdivgt

ltpgt ltinput type=submit value=SaveZapisz gt ltpgt ltfieldsetgt

ltdivgt HtmlActionLink(Back to List Index) HtmlActionLink(Powroacutet do listy rekordow ScaffoldingList)ltdivgt

Kup książkę Poleć książkę

310 Cz II Technologie bazodanowe w aplikacjach internetowych

3 W kontrolerze Home zdefiniuj metody z listingu 185

Listing 185 Edycja danych klienta

public ActionResult ScaffoldingEdit(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id)

if (cdr = null) return View(ScaffoldingEdit cdr) else return ScaffoldingList()

private void PrzepiszDaneKlienta(FormCollection daneKlienta refNorthwindDataSetCustomersRow rekordKlienta)

rekordKlientaCompanyName = daneKlienta[CompanyName]ToString() rekordKlientaContactName = daneKlienta[ContactName]ToString() rekordKlientaContactTitle = daneKlienta[ContactTitle]ToString() rekordKlientaAddress = daneKlienta[Address]ToString() rekordKlientaCity = daneKlienta[City]ToString()

public ActionResult EdytujDaneKlienta(FormCollection daneKlienta string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) if (cdr = null) PrzepiszDaneKlienta(daneKlienta ref cdr) AktualizujDaneKlientow() return ScaffoldingList()

Proces edycji rekordu w bazie danych za pomoc technologii ADONET opiera si nainformacjach zebranych w poprzednich rozdzia ach wi c nie b d go tu szczegoacute owoopisywa Celem tego przyk adu by o automatyczne wygenerowanie widoku umo li-wiaj cego edycj danych klienta przystosowanie go do w asnych potrzeb oraz inte-gracja z kontrolerem

Separacja modelu widoku i kontrolera umo liwia narz dziom Visual Studio 2012 auto-matyczne generowanie widoku na podstawie definicji modelu Jednak e jak pokaza-em w tym podrozdziale kreator tworzy widok ktoacutery umo liwia edycj wszystkich poacutel

rekordu (nawet identyfikatora) co sprawia e w wi kszo ci przypadkoacutew nale y sa-modzielnie edytowa plik widoku w celu przystosowania go do potrzeb projektowanejaplikacji Jednak jak pokazuje powy szy przyk ad nie jest to rzecz skomplikowan

Integracja widoku z kontrolerem polega na odpowiednim przekazywaniu informacjio edytowanym rekordzie oraz warto ci jego poacutel Do tego celu wykorzysta em identy-fikator klienta ktoacutery jednoznacznie identyfikuje rekordy w tabeli Customers

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 311

Przyk adowy wynik polece zaimplementowanych w tym podrozdziale przedstawiarysunek 185

Rysunek 185Edycja danych klienta

Tworzenie rekordoacutewW poprzednich podrozdzia ach zaimplementowa em trzy spo roacuted czterech podstawo-wych elementoacutew schematu CRUD czyli odczytywanie (R) aktualizacj (U) oraz usu-wanie (D) rekordoacutew Ostatnim elementem jest tworzenie (C) nowych rekordoacutew W celuzaimplementowania procedury uzupe niania tabeli Customers nowymi rekordami na-le y post pi nast puj co

1 W Solution Explorer rozwi w ze Views a nast pnie kliknij prawymprzyciskiem myszy folder Home

2 Wybierz opcj Add a nast pnie Viewhellip z menu kontekstowego

3 W kreatorze Add View

a) Zmie nazw widoku na ScaffoldingCreate

b) Zaznacz pole wyboru Create a strongly-typed view

c) Z listy dost pnych modeli wybierz pozycj CustomersRow

d) Z listy rozwijanej Scaffold template wybierz Create

e) Kliknij przycisk Add

4 Utworzony w ten sposoacuteb plik ScaffoldingCreatecshtml zmodyfikuj wed ugwzoru z listingu 186

Kup książkę Poleć książkę

312 Cz II Technologie bazodanowe w aplikacjach internetowych

Listing 186 Widok umo liwiaj cy wstawianie rekordoacutew do tabeli Customers

model NorthwindMVCModelsNorthwindDataSetCustomersRow

ViewBagTitle = ScaffoldingCreate

lth2gtScaffoldingCreatelth2gtlth2gtTworzenie rekordulth2gt

ltscript src=UrlContent(~Scriptsjqueryvalidateminjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~Scriptsjqueryvalidateunobtrusiveminjs)type=textjavascriptgtltscriptgt

using (HtmlBeginForm(DodajKlienta Home)) HtmlValidationSummary(true) ltfieldsetgt ltlegendgtDane klientaCustomersRowltlegendgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCustomerID) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCustomerID) HtmlValidationMessageFor(model =gt modelCustomerID) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCompanyName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCompanyName) HtmlValidationMessageFor(model =gt modelCompanyName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactName) HtmlValidationMessageFor(model =gt modelContactName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactTitle) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactTitle) HtmlValidationMessageFor(model =gt modelContactTitle) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelAddress) ltdivgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 313

ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelAddress) HtmlValidationMessageFor(model =gt modelAddress) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCity) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCity) HtmlValidationMessageFor(model =gt modelCity) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRegion) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRegion) HtmlValidationMessageFor(model =gt modelRegion) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPostalCode) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPostalCode) HtmlValidationMessageFor(model =gt modelPostalCode) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCountry) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCountry) HtmlValidationMessageFor(model =gt modelCountry) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPhone) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPhone) HtmlValidationMessageFor(model =gt modelPhone) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelFax) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelFax) HtmlValidationMessageFor(model =gt modelFax) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRowError) ltdivgt ltdiv class=editor-fieldgt

Kup książkę Poleć książkę

314 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlEditorFor(model =gt modelRowError) HtmlValidationMessageFor(model =gt modelRowError) ltdivgt

ltpgt ltinput type=submit value=CreateUtwoacuterz gt ltpgt ltfieldsetgt

ltdivgt HtmlActionLink(Back to List Index) HtmlActionLink(Powroacutet do listy ScaffoldingList)ltdivgt

5 Definicj kontrolera Home uzupe nij o polecenia z listingu 187

Listing 187 Wstawianie rekordoacutew do tabeli Customers

private char PobierzZnak(string lancuch int index) Random random = new Random() char znak

if (lancuchLength gt index) znak = lancuch[index] else znak = (char)randomNext(0 255)ToString()[0]

return znak

private void UtworzIdentyfikatorKlienta(ref NorthwindDataSetCustomersRowdaneKlienta)

string identyfikator = int indexZnaku = 0

identyfikator += PobierzZnak(daneKlientaCompanyName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactTitle indexZnaku) identyfikator += PobierzZnak(daneKlientaAddress indexZnaku) identyfikator += PobierzZnak(daneKlientaCity indexZnaku)

daneKlientaCustomerID = identyfikator

public ActionResult DodajKlienta(FormCollection daneKlienta string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersNewCustomersRow()

PrzepiszDaneKlienta(daneKlienta ref cdr)

UtworzIdentyfikatorKlienta(ref cdr)

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 315

customersTableAdapterInsert(cdrCustomerID cdrCompanyName cdrContactName cdrContactTitle cdrAddress cdrCity )

AktualizujDaneKlientow()

return ScaffoldingList()

Wstawienie rekordoacutew do tabeli Customers jest analogiczne do ich edycji Jedyn roacute -nic jest konieczno utworzenia identyfikatora klienta gdy nie jest on tworzonyautomatycznie jak to by o w przypadku tabeli Employees Identyfikatory rekordoacuteww tabeli Customers s pi cioelementowymi ci gami znakoacutew Tworz je na podstawiepierwszych liter poacutel CompanyName ContactName ContactTitle Address oraz City Je liw tych polach znajduj si puste ci gi to odpowiedni liter zast puj losowo wyge-nerowanym znakiem

W kolejnym podrozdziale poka w jaki sposoacuteb wy wietli informacje o rekordachpotomnych opieraj c si na relacji pomi dzy tabelami

Formularz z podformularzem(MasterDetail Form)

Jako podsumowanie tego rozdzia u utworz formularz z podformularzem tak zwanyformularz MasterDetail Jego dzia anie polega na tym e wy wietlanie danych od-bywa si na bazie co najmniej dwoacutech komponentoacutew (np blokoacutew czy tabel) oraz rela-cji mi dzy tabelami Pierwszy komponent prezentuje rekordy zawarte w tabeli g oacutew-nej (ang master) a drugi zawiera dane z tabeli podrz dnej (ang detail) Komponentzwi zany z tabel podrz dn ma zazwyczaj za zadanie prezentowa szczegoacute owe da-ne odpowiadaj ce rekordowi z tabeli nadrz dnej ktoacutery zosta wskazany przy pomocyzwi zanej z nim listy rekordoacutew Pola tych tabel musz by zatem uporz dkowane w takisposoacuteb aby pokazywa y informacj o tym samym rekordzie Uzyskuje si to przy po-mocy relacji mi dzy tabelami ktoacuterej zadaniem jest powi zanie informacji zawartychw bazie danych

W tym podrozdziale tabel nadrz dn b dzie tabela Customers a podrz dn OrdersPo klikni ciu na hiper cze z etykiet zamoacutewienia wy wietli si lista rekordoacutew tabeliOrders skojarzonych z danym klientem dania prezentacji zamoacutewie b d realizo-wane asynchronicznie

1 Plik widoku ScaffoldingListcshtml zmodyfikuj wed ug wzoru z listingu 188

Listing 188 Konfiguracja hiper cza umo liwiaj cego wy wietlenie listy zamoacutewie danego klienta

hellipforeach (var item in Model) lttrgt lttdgt

Kup książkę Poleć książkę

316 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlDisplayFor(modelItem =gt itemCustomerID) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCompanyName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactTitle) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemAddress) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCity) lttdgt lttdgt HtmlActionLink(Edytuj ScaffoldingEdit new id = itemCustomerID ) | AjaxActionLink(Zamoacutewienia ScaffoldingMasterDetail new id = itemCustomerID new AjaxOptions UpdateTargetId = zamowienia OnSuccess = documentgetElementById(zamowienia)scrollIntoView() ) | HtmlActionLink(Usu ScaffoldingDelete new id = itemCustomerID ) lttdgt lttrgtlttablegt

ltdiv id=zamowieniagtltdivgt

2 Utwoacuterz widok cz ciowy o nazwie ZamowieniaPartialViewcshtml i wstaww nim polecenia z listingu 189

Listing 189 Definicja widoku prezentuj cego list zamoacutewie

model IEnumerableltNorthwindMVCModelsNorthwindDataSetOrdersRowgt

if (Model == null) lth2gtBrak zamoacutewie lth2gtelse lth2gtLista zamoacutewie lth2gt

lttablegt lttrgt ltthgt OrderDate ltthgt ltthgt RequiredDate ltthgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 317

ltthgt ShippedDate ltthgt ltthgt ShipName ltthgt ltthgt ShipAddress ltthgt ltthgt ShipCity ltthgt ltthgtltthgt lttrgt

foreach (var item in Model) lttrgt lttdgt itemOrderDateToShortDateString() lttdgt lttdgt itemRequiredDateToShortDateString() lttdgt lttdgt itemShippedDateToShortDateString() lttdgt lttdgt itemShipName lttdgt lttdgt itemShipAddress lttdgt lttdgt itemShipCity lttdgt lttrgt lttablegt

3 Kontroler Home uzupe nij o metod ScaffoldingMasterDetail ktoacuterej definicjprzedstawi em na listingu 1810

Listing 1810 Pobranie i prezentacja rekordoacutew potomnych wybranego klienta

public ActionResult ScaffoldingMasterDetail(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) NorthwindDataSetOrdersRow[] zamowieniaPracownika = null

if (cdr = null) zamowieniaPracownika = (NorthwindDataSetOrdersRow[])cdrGetChildRows(FK_Orders_Customers)

Kup książkę Poleć książkę

318 Cz II Technologie bazodanowe w aplikacjach internetowych

if (RequestIsAjaxRequest()) return View(ZamowieniaPartialView zamowieniaPracownika) else return ScaffoldingList()

4 Sekcj ltheadgt pliku _Layoutcshtml uzupe nij o polecenia z listingu 1811

Listing 1811 Import skryptoacutew obs uguj cych dania asynchroniczne

ltscript src=UrlContent(~Scriptsjqueryunobtrusive-ajaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftAjaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftMvcAjaxjs)type=textjavascriptgtltscriptgt

5 Po skompilowaniu i uruchomieniu aplikacji powiniene uzyska efektanalogiczny do przedstawionego na rysunku 186

Rysunek 186 Przyk ad formularza typu MasterDetail

Kup książkę Poleć książkę

Skorowidz

AACL 149action methods 25ActiveX Data Object 238ADO 238ADONET 238

obiekty 238podstawy 237synchronizacja buforu ze roacuted em danych 273

adresy URLautoryzacja 157parametry 122trasowanie 121wzorce 122 123

agile programming 15AJAX 91

aktualizacja bloku witryny 113dodanie referencji do bibliotek JavaScript 94

akcjaCreate 354Delete 357Details 353dodaj ca nowy produkt 355Edit 356

aktualizacjazawarto ci elementu witryny 92

algorytmRSA 187

ambient transaction 329ankieta 102AntiXss 187aplikacje

bazodanowe 235bezpiecze stwo 335mechanizm transakcji 319scaffolding 301

synchronizacja ze roacuted em danych 273uwagi do projektowania 345

mo liwo edytowania wpisoacutew 441rejestrowanie zdarze i trasowanie 430

Application Domain 339architektura obiektowa 347ASPNET

konfiguracja aplikacji 161mechanizmy uwierzytelnienia 149metody globalne 107w czanie i wy czanie aplikacji 171

ASPNET AJAX 91ASPNET MVC 15

komponenty 16ASPX 21 30asynchroniczne przetwarzanie da http

jQuery 113Asynchronous JavaScript and XML 48Asynchronous Programming Model 464ataki

rodzaje 147SQL Injection 148 344wy udzenie informacji 148z o liwy kod 181

atrybut 347AcceptVerbs(HttpPost) 47AcceptVerbs(HttpVerbsPost) 65AssociationAttribute 58Authorize 200AuthorizeAttribute 128autoryzacyjny 145ConcurrencyCheckAttribute 58Confirm 95cookieless 154CustomValidationAttribute 58 66data-bind 230DataType 54 57

Kup książkę Poleć książkę

528 ASPNET MVC

atrybutDataTypeAttribute 58defaultRedirect 173defaultUrl 154DisplayAttribute 58DisplayColumnAttribute 58DisplayName 436EditableAttribute 58enableCrossAppRedirects 155EnumDataTypeAttribute 58FilterUIHintAttribute 58HandleError 138 175HandleErrorAttribute 129HttpMethod 95InsertionMode 95KeyAttribute 58klasy do konfiguracji metadanych 57 58LoadingElementDuration 110LoadingElementId 95 110Log

klasa implementuj ca 142loginUrl 154MetadataType 69MetadataTypeAttribute 58mode 153 173modelu 55name 155NonAction 26 135OnBegin 95OnComplete 95OnFailure 95OnSuccess 95 110OutputCache 133OutputCacheAttribute

parametry 134passwordFormat 156protection 155Range 54 66RangeAttribute 58redirectMode 173RegularExpressionAttribute 58Required 54 66RequiredAttribute 58RequireHttps 135requireSSL 155slidingExpiration 155StringLength 66StringLengthAttribute 58TestClass 29TestMethod 29ticketCompatibilityMode 155timeout 155TimestampAttribute 58UpdateTargetId 95

Url 95ValidateInput 185

atrybuty modeluwyra enia regularne 84

Attribute 347authentication ticket 151auto post back 217autocomplete textbox 115automatyczne uzupe nienie pola tekstowego 115autoryzacja 149 157

adresoacutew URL 157konfiguracja 157

grupy u ytkownikoacutew 158mechanizm filtrowania 158otwarta 460plikoacutew 157zdalna

powi zanie z portalem Facebook 461Azure 496

Bbazy danych 40 237

aktualizacja 41lista rekordoacutew 301Northwind 240

detale produktu 352dodawanie po cze 350pobieranie produktoacutew 351

po czenie ze roacuted em danych 241relacyjne 237schemat CRUD 301transakcje 319tworzenie 321

nowego rekordu 48schematu na bazie modelu encji 357

usuwanie danych 290regu y integralno ci 293

usuwanie powi zanych wierszyrekordy potomne 291

warstwa dost pu 42bezpiecze stwo

aplikacji internetowych 147ataki 147mechanizmy 149

biblioteka NETprogramowanie asynchroniczne 464

biblioteka skryptoacutewMapajs 32

bilet uwierzytelniaj cy 151b dy

dzia ania aplikacji 171strona b du 176tworzenie u ytkownika 202wprowadzenie z ego rekordu 268

Kup książkę Poleć książkę

Skorowidz 529

body 383buforowanie

danych ze roacutede zewn trznych 133bundling 475Business Intelligence 368

Ccallback 35CAS 151 338CDN 113Central Authentication Service 151centralna us uga uwierzytelnienia 151certyfikat 337CLR

procesy systemowe 466Code Access Security 338Confirm 96connString 341controllers 16Coordinated Universal Time 155Create Read Update Delete 301cross-site scripting 181CRUD 54 301Crystal Reports 368

Ddane

agregacja 378bezpo redni dost p do roacuted a 346eksport 413

do dokumentu tekstowego 419do PDF 420skoroszyt MS Excel 421tabele dynamiczne 418

integralno 288 319pomini cie sprawdzania 292regu y 291

modyfikacja 249platforma modelowania 347prezentacja

graficzna 406w postaci macierzowej 390

przekazywaniez formularza do roacuted a 46z kontrolera do widoku 437 439

serializacja i transfer struktur 117szyfrowanie 337typu

ActionResult 25walidacja 53weryfikacja 53wi zy integralno ci 306

wy wietlanie 315zabezpieczenie 338

Data Binding 389Data Definition Language 345Database Management System 237DBMS 237

wi zy integralno ci 238DDL 345denial of service 147detail 315Development Server 504DIE 53DisplayFormatAttribute 58document object model 92DOM 92domena aplikacji 339 466

instancja obiektoacutew 341tworzenie 339wspoacute dzielenie obiektu 341

dostawcy us ug 178dost p anonimowy 150DotNetOpenAuth 149DPAPI 187DRY 53dyrektywa

model 46

Eelement

customErrors 173success 115

elevation of privilege 147encapsulation 107encja 347

atrybuty 54bazodanowa 54KategoriaProduktu 358odwzorowanie w bazie danych 360Order_Details 362Orders 361Products 361Produkt 358

Entity 347Entity Framework 43 347

POCO 360potwierdzenie explicite 356technologie 349wersje 347

Entity Relationship Model 347Entity SQL 349ERM 347Event-based Asynchronous Pattern 465event-driven programming 17

Kup książkę Poleć książkę

530 ASPNET MVC

FFile Transfer Protocol 495filtry 127

akcji 127 139autoryzacyjne 127 144dynamiczne 395kolejno wykonywania 137

priorytety 138Log

metody 141LogAttribute

definicja klasy 140podstawowe atrybuty 128statyczne 395w asne 139wyj tkoacutew 128 144

niestandardowe 145wyniku 128 144

for 434foreach 51Forms Authentication Provider 149formularz

MasterDetail 315z podformularzem 315

funkcjadelay 217ListaPracownikoacutew 57Mid 390RolesIsUserInRole 217Today 390wyznaczaj ca tras 109zmienPrzynaleznoscDoGrupy 217 218

GGauge 383 403GDI 368graficzny interfejs u ytkownika 17 30Graphics Device Interface 368GridView 48grupy u ytkownikoacutew

autoryzacja 158GUI 17

Hhard-coding 167haszowanie 150helper methods 25html helper 455

Iidentyfikator

klienta 315rekordoacutew 315

IIS 121 149 495instalacja

ASPNET 445 498serwera w Windows 7 496serwera w Windows 8 496

mened er Windows 499uruchamianie aplikacji 503

serwer do rozwoju aplikacji 504information disclosure 147instancje aplikacji 465instancjonowanie modelu 39IntelliSense 247interfejs u ytkownika

przycisk umo liwiaj cy dodanie pracownika294

przycisk usuni cia wybranego rekordu 289Internet Information Services 121internetowe us ugi informacyjne 495in ynieria spo eczna 148Isolation Level 332izolacja 339 466

JJavaScript Object Notation 117jQM 457jQuery

autocomplete 116pliki roacuted owe 113

jQuery Mobile 457jQuery UI 367

wykorzystanie przyciskoacutew 284JSON 117

obiekt typu adres 118

KKey Performance Indicators 403klasa

AccountController 198ActionExecutingContext 143AdminController 212Ajax 94AjaxOptions 94

atrybuty 95AspNetHidden 442AssemblyName 170Assert 29

Kup książkę Poleć książkę

Skorowidz 531

AuthConfig 461BundleConfig 475Configuration 170ConfigurationManager 170ConfigurationSection 187 188ConnectionStringBuilder 345DpapiProtectedConfigurationProvider 187FiltryRaportuMacierzowego 397Form1 484FormsAuthentication 152Global 430HandleErrorInfo 133HtmlHelper 437HttpClient 483 486HttpResponseMessage 486kontekstu 362LogOnModel 198MarshallByRefObject 341Membership 152 198 211MvcApplication 430NorthwindContext 362ObjectContext 348ObjectQueryltTgt 348Order_Details 362Orders 361Osoba 228ParametryWatku 470Pracownik 484Products 361Produkt 230Raport 392RequestBrowser 460ResultExecutedContext 144ResultExecutingContext 144Roles 211RsaProtectedConfigurationProvider 187SQLConnCAS

definicja 340stowarzyszona z modelem 69SystemNetHttpFormattingJsonMediaTypeF

ormatter 491SystemTextRegularExpressions 74SystemWebSecurityRoles 159Task 465 472testuj ca 29Thread 465 469TransactionScope 327UrlRoutingModule 121ViewData 434 436 439WebApiConfig 478WebConfigurationManager 170Wpisy 427 436

klucze 237MAC 155obce 238podstawowe 238

kluczowe wska niki efektywno ci 403dynamiczna zmiana warto ci 404

Knockout 227wykorzystanie szablonoacutew JavaScript 230wywo anie skryptu 229

kodowanie danychprzekazywanych przez u ytkownikoacutew 186

komponentFormDanePracownika 489obiektu

PartialView 99typu ListBox 99

ReportViewer 368 375eksport danych 413nawigacja mi dzy stronami raportu 377

komponenty u ytkownika 30komunikaty o b dach 171

kod statusowy 174 175koncepcja programowania zdarzeniowego 16konfiguracja

po czenia z baz danych 241uprawnie puli aplikacji 454walidacji danych 66

konkurencyjno aplikacji 332kontekst wi zania 389kontrola wprowadzanych danych 263

metoda onColumnChanged 269wstrzymanie walidacji wiersza 267zako czenie edycji rekordu 267

wymuszenie 267kontroler 16 25

AccountController 195Admin 223AdminController 212aplikacja Kardy 63asynchroniczny 466

a zadania 472dane wyj ciowe 25domeny 150ErrorController 174Glosowania 103Home 182 224 228 231

Bezpiecze stwo 336filtr wyj tku 131

HomeController 184EksportDanych 415Northwind 245

interfejs Web API 477KsiegaGosciController 424

Kup książkę Poleć książkę

532 ASPNET MVC

kontrolerLista 93Mapa 33

autouzupe nianie 117modyfikacja 45

niedost pne metody publiczne 136obs uga POST 431panelu administracyjnego 212

zarz dzanie grupami u ytkownikoacutew 220Pracownicy 57 64PracownicyController

implementacja 481Produkty 351projektowanie 27przekazywanie danych do widoku

zmiany 439uwierzytelnienia 195

klasa 198model 196widoki 203

uzupe nienie o widok 31u ycie modelu odsy anego przez widok 440ValuesController 478weryfikacja funkcjonalno ci 28wi zanie adresu URL z akcj 430widoki 58

konwersja obrazu 278kreator

Add New Item 242Add View 59 302Application 162blokowania szczegoacute oacutew b doacutew 172dodanie u ytkownikoacutew 164grup u ytkownikoacutew 165Provider 162Publish Web 501Security 162tworzenia pracownika 59ustawie aplikacji 167widokoacutew 60wyboacuter dostawcoacutew us ug 178

kwerendy parametryczne 274 401

Llayout witryny 30LINQ

to Entities 349lista rekordoacutew 301

prezentacja 304logika

aplikacji 30bazodanowa 30biznesowa 44

a cuch QueryString 26

Mmaster 315mechanizm

automatycznych w a ciwo ci 57autoryzacji 157eksportu danych 413filtroacutew 127grupowania plikoacutew 475IntelliSense 119QuerynotString 117szyfruj cy 187transakcji 319 321

przelewy bankowe 326wyznaczania trasy przejzdu 34

meotdaInsert 299ProtectSection 191WersjonowanieDataRow

definicja widoku 265message authentication code 155metoda

on 262HtmlValidationSummary 204About 124AcceptChanges 255 263ActionLinkActionLink 61 63 353AddUserToRole 159akcji 25

parametry opcjonalne 27aktualizacja statystyk ankiety 105AktualizujZdjeciePracownika 288Application_AuthenticateRequest 108Application_BeginRequest 107 108Application_End 108Application_EndRequest 107Application_Error 108 172Application_Start 108 123 139 430asynchroniczna kontrolera 472AttachTo 356Authenticate 152AutoUzupelnienie 117

zapytanie LINQ 118BeginEdit 267BeginForm 47 94BeginTransaction 326 332CancelEdit 263ChangeObjectState 356

Kup książkę Poleć książkę

Skorowidz 533

ChangePassword 200hiper cze 208widok 206

ChangePasswordSuccesswidok 206

CreateNazwaEncji 354CreateRole 159CreateUser 153czyBazaDanychIstnieje 326daneDostawcyForm 262DBeginnotEdit 263Delete 270DeleteObject 357DeleteRole 159DeleteUser 153DeszyfrujPlikKonfiguracyjny 191DodajDostawce 255DodajElementDoListy 94 97 101DodajGrupe 223DodajKomentarz 185DodajPracownika 299 491DopiszDoPlikuLog 430Edit 356EdytujDaneDostawcy 261EdytujDanePracownika 493Eksportuj 418EmptyResult 26EndEdit 263EndForm 47ErrorCodeToString 201Fill 246FillByCityName 275FormatDateTime 390FormsAuthenticationSetCookie 199GenerujDane 468Get(int id) 478GetAllRoles 159GetAsync 486GetChildRecords 291GetSection 170GetSectionGroup 170GetUser 153GetUsersInRole 160globalna

aplikacji ASPNET 108Grupy 223HasVersion 263HtmlListBox 97HtmlRenderPartial 101HtmlValidationSummary 61HtmlHelperLabel 437ImiePierwszegoPracownika 246 247Include 475Index 47 79 97 101

kontrolera Mapa 34testowanie 28

IsAjaxRequest 101IsMatch 76IsNotNull 29IsUserInRole 159Label 35ListaDostawcow 252 255ListaPracownikow 248

hiper cze skojarzone 249LogOff 198LogOn 198Macierzowy 397mapowalna 26MetodaAsynchronicznaWatki 472ModelStateAddModelError 199MvcApplicationRegisterRoutes 430obs uga zapyta POST 431odczyt aktualnych bilansoacutew kont 323OdczytajStanyKont 326OnActionExecuted 143OnActionExecuting 127 143onColumnChanged 269OnResultExecuted 144OnResultExecuting 144onRowChanged 266onRowChanging 268OpenConfiguration 170otwarcie po czenia z baz danych 341OtworzPlikDanych 107Page_Load 399PartialViewResult 26PobierzDane 394

modyfikacja 401PobierzPlikLogu 141 143PobierzZdjecie 278PokazTrasy 51PokazWyniki 107pomocnicza 25 455

HtmlEncode 51wykorzystanie 456

PostAsJsonAsync 486PostAsXmlAsync 486PostAsync 486PostResolveRequestCache 121PracownicyWedlugMiast

przechowywanie warto ci filtru 285PutAsJsonAsync 493PutAsXmlAsync 493PutAsync 493ReadAsAsync 486ReadXml 107ReadXmlSchema 107RedirectFromLoginPage 152

Kup książkę Poleć książkę

534 ASPNET MVC

metodaRedirectResult 26RedirectToAction 26RedirectToLoginPage 152RedirectToRoute 26RedirectToRouteResult 26RefreshReport 384Register 199 478RegisterAuth 461 462RegisterBundles 475RegisterGlobalFilters 171RegisterRoutes 94 123RejectChanges 256 263rejestrowanie zdarze aplikacji 430RemoveUserFromRole 160Render 384 413 418RenderPartial 99ResponseWrite 223ResultExecuteResult 143RoleExists 159RolesIsUserInRole 216RolesRemoveUsersFromRole 223route 35RowsAdd 255RozpocznijEdycje 269

hiper cze uruchamiaj ce 267SaveChanges 354ScaffoldingMasterDetail 317Session_End 108Session_Start 108SetAuthCookie 152SetParameters 401 405SignOut 152SprawdzDopasowania 79SprawdzPoprawnoscDatyZatrudnienia 67SqlPermissionAdd 343SqlTransactionCommit 326SqlTransactionRollback 326StronaNieIstnieje 175submit 115SzyfrowaniePlikuKonfiguracyjnego 190szyfruj ca i deszyfruj ca 189SzyfrujPlikKonfiguracyjny 191TextBox 35ThreadSleep 469 472TransactionScopeComplete 329Transfer 36UpdateUser 153UstawParametryRaportu 399UsunGrupe 223UsunTrase 50 51UtworzPracownika 64Uzytkownicy 216ValidateUser 152 153

ValidationMessage 437ValidationMessageFor 61ValidationSummary 437ViewResult 26WebApiConfigRegister 478WersjonowanieDataRow 265

sparametryzowanie 266WpisyZapiszDoPlikuXml 430wykonywanie przelewoacutew 323WyswietlLog 141 142 143wyswietlMape 34 35WyswietlTrase 50

modyfikacja 135 166wyznaczTrase 35ZaktualizujWyniki 107Zapami tajNazw U ytkownika 432ZmienStanKont 328

Microsoft SQL Server 319sposoby uwierzytelnienia 344

MIME type 390minification 476minimalizacja 476model 16 39

APM 464ChangePasswordModel 196EAP 465integracja z elementami aplikacji 39LogOnModel 196obs uga plikoacutew XML 427przesy anie z kontrolera do widoku 432 435RegisterModel 196TAP 465

model binding 48model danych encji 348

dodawanie encji 353edycja encji 355kreator 348 349

czenie encji 359metody akcji 354opcje 361projektowanie relacji 43tworzenie 349

schematu bazy danych 357usuwanie encji 357wyboacuter tabel 350

model first 52model zwi zkoacutew encji 347models 16Model-View-Controller 15Model-View-ViewModel 227Model-Widok-Kontroler 15modu

UrlAuthorizationModule 157

Kup książkę Poleć książkę

Skorowidz 535

MVC 15a Web Forms 16 365 367 423

kod 442serwer internetowych us ug

informacyjnych 495wydajno 443wykorzystanie w projektach 444

ataki XSS 185autoryzacja 158 162bezpiecze stwo aplikacji 152buforowanie 134domy lne wzorce aplikacji 21kreator aplikacji 20mechanizm filtrowania 127Model Binder 355nazwa kontrolera 27obs uga interakcji klient-serwer 121parametry opcjonalne 27pobieranie parametru z adresu URL 26projektowanie aplikacji 18 52przetwarzanie dania aplikacji klienckiej 18sprawdzanie poprawno ci danych 68struktura modelu 39techniki walidacji danych 53utworzenie widoku 30uzupe nianie o komponenty graficzne 367walidacja 438wersja 4 449wyboacuter mechanizmu przetwarzaj cego widoki 21wzorce URL 122zbioacuter modeli szablonu aplikacji 196roacuted o danych 40

MVC4 449grupowanie i optymalizacja skryptoacutew 475kaskadowe arkuszye stylu 475przetwarzanie asynchroniczne 464przystosowanie do urz dze mobillnych 457testowanie aplikacji 457uwierzytelnianie 460

integracja z portalem Facebook 462wsparcie dla urz dze mobilnych 450zdalna autoryzacja 461

MVVM 227

Nnarz dzie

aspnet_regiis 187przetwarzanie tekstu 73

Northwindinstalacja 240kwerenda wybieraj ca 240pobieranie informacji o dostawcach 251

NuGET 483nullable-types 27

OOAuth 461obiekt

AppDomain 339 341Chart 406Command 239Connection 239 241

w a ciwo i 243ConnectionString 343

sposoby uwierzytelniania 344szyfrowanie informacji 335

DataAdapter 239DataGridView 491DataReader 239 273DataRow 255

kontrola wprowadzonych danych 263usuwanie rekordoacutew 270wersje 263wersja proponowana 265wersjonowanie 263w a ciwo ci 255

DataSet 239 244 345edycja rekordoacutew 257kreator konfiguracji TableAdapter 274modyfikacja danych 249tworzenie nowych rekordoacutew 250usuwanie rekordoacutew 271wstawianie rekordoacutew 251wymuszenie wi zoacutew integralno ci 292

DataTable 107DirectionsService 35dostawca 153FormCollection 47jqXHR 218List 389logiki biznesowej 348materializacja 348Matrix 390Membership 152MvcRouteHandler 121 122o okre lonym typie danych 244o silnej typizacji 244o s abej typizacji 247ObjectStateManager 348PartialView 98ReportViewer 368ReportViewerLocalReport 418Request 26 101 432Response 26Route 122ShippersRow 255SqlConnCAS 341SqlConnection 326

Kup książkę Poleć książkę

536 ASPNET MVC

obiektTableAdapter 239 244 273 274 345

edycja danych 279 286wstawianie danych 294

TransactionScope 329parametryzacja 331

typuadres 118AppDomain 466ConcurrentDictionary 479NorthwindDataSet 247ObjectSetltTgt 348Route 121Thread 466

UrlRoutingModule 121ViewBag 36

przekazywanie danych do widoku WebForms 376

ViewData 36 79 432Object Relational Mapping 347Object Services 348obs uga b doacutew

konfiguracja 132w czenie 129

odrzucenie informacji o transakcji 148od wie anie witryny

a fragment widoku 97aktualizacja zawarto ci 113cz ciowe 96

OnSuccess 96operator

await 474konkatenacji 382Top 411Top N 411

ORM 347

Pparametr

CountryName 401data 115filtr 117mapDivId 35maxIloscRekordow 117Order 137raportu 395scopeTimeOut 330

warto ci 330TransactionScopeOption

warto ci 329type 115

parametryzacja kwerend 274partial view 30

piaskownica 341Plain Old CLR Object 360platforma NET

us ugi uwierzytelniania 153plik

ascx 22aspx 22bmp 390cookie 151cookies 154 155cshtml 22 434css 475edmx 360jpg 390js 475konfiguracyjny

zabezpieczenie 187master 22png 390rdl 368rdlc 368tekstowy

wy wietlenie w przegl darce 143vbhtml 22

POCO 360pola klucza 237polecenie

HtmlEncode 187ScriptsRender 476StylesRender 476GET 18POST 18

po czenieze roacuted em danych 241

pomocnik HTML 455Portable Document Format 413po rednik 341poziom izolacji 332

Chaos 333konfiguracja 332ReadCommitted 333ReadUncommitted 333Serializable 333Snapshot 333Unspecified 333

poziom zaufania 339ograniczenie 340

proceduraajax 115AjaxBeginForm 96niemapowalna 26PartialView 26serialize 115

Kup książkę Poleć książkę

Skorowidz 537

proces 465programowanie

oparte na zdarzeniach 17zdarzeniowe 17

projekt aplikacji MVCankieta 102asynchroniczne przetwarzanie da HTTP 92Bezpiecze stwo 181 336

nawi zanie komunikacji ze roacuted emdanych 342

szyfrowanie pliku konfiguracyjnego 191dodawanie i wy wietlanie komentarzy 183domy lny 20EksportDanych 413Filtry 131formularz oceny 107Kadry

walidacja adresu e-mail 84Kardy 55KsiegaGosci_MVC3 424lista prezentuj ca dodawane elementy 97MojaNawigacja 18

blokowanie samodzielnego tworzeniakont 224

buforowanie danych 135implementacja warstwy dost pu 42instalacja na serwerze IIS 500komunikat powitalny 168komunikaty 110komunikaty o b dach 173mechanizm podpowiedzi 115model weryfikuj cy po wiadczenia

u ytkownikoacutew 196modele kontrolera uwierzytelnienia 196od wie enie widoku mapy 109struktura 21szablon 19szablon witryny 225trasowanie da HTTP 123uzupe nienie o baz danych 40uzupe nienie o walidacj danych 69widok b du 175zablokowanie nieautoryzowanego

dost pu 128zarz dzanie u ytkownikami 163zarz dzanie grupami u ytkownikoacutew 212zarz dzanie procesem logowania 198

MsAjax 92NorthwindMVC 241

lista rekordoacutew 301szablon witryny 250

POCO 361priorytety regu filtrowania 137

Raport 368szablon

mechanizmy uwierzytelnienia 156zarz dzanie grupami u ytkownikoacutew 159

Transakcje 319aktualizacja danych 328formularz aktualizacji 328szablon stron 320

uzupe nianie widokiem GridView 49WyrazeniaRegularne 76Zapytania_EF 349

projekt aplikacji MVC4AsynchronicznyKontroler 466

prezentacja danych 468AutoryzacjaOAuth 461implementacja serwisu sieciowego 479konfiguracja grupowania 475MobileMvc 450

testowanie 457pobranie zdj cia 452przygotowanie listy pracownikoacutew 452SerwisSieciowy 477

projekt aplikacji Windows Formsedycja danych 487KlientWebAPI 483tworzenie nowych pracownikoacutew 486

dania typuDELETE 493POST 486PUT 491

projektowaniekontrolera 27widoku 31

protokoacuteFTP 495Kerberos 150NTLM 150SMTP 495SSL 337

proxy 341przechowywanie

informacji o trasach 44wynikoacutew g osowania 107

przeci enie aplikacji 147przekazywanie

danych 44mi dzy widokiem a kontrolerem 36

parametroacutew do metod akcji kontrolera 26przestrze nazw

SystemThreading 465przyjazne linki 122publikowanie aplikacji 495 500

na serwerze IIS 497

Kup książkę Poleć książkę

538 ASPNET MVC

pule aplikacji 465 497konfiguracja 498Windows 7 499Windows 8 500

Rraporty

dane w postaci macierzowej 390data 386definicja

dynamiczna 418filtrowanie danych 394

na poziomie roacuted a 401 418filtry 395formaty prezentacji danych 379grupowanie danych 381hiper cza 387

nawigacyjne 376kolumny obliczeniowe 378konfiguracja

filtrowania dynamicznego 396typu 392roacuted a danych 368

kreator formu 382macierzowe 391numery stron 386obrazy 390parametry 383 394

konfiguracja 399paski narz dziowe 379pola

bazy danych 386formularza 398raportu 390

po czenie z aplikacj 368prezentowanie uk adu graficznego 383projektowanie 371

i prezentowanie 368przystosowanie strony do obs ugi raportoacutew

387renderowanie 368tryby definicji 368tworzenie

definicji lokalnej 368formu 378przy u yciu kreatora 372

uk ad 383wstawianie nag oacutewka i stopki 385wykresy 406wy wietlenie 375

Razor 21 30przetwarzanie definicji widoku 208

RDL 418rekordy

edycja 307lista 301tworzenie 311usuwanie 305

Relationship 347Report Definition Language 418Report Wizard 371repudiation 148request 442response 442responsywno 464rollback transaction 319routing 22 430routowanie 121

SSandBox 341scaffolding 301Secure Socket Layer 337sekcja

membership 178roleManager 179set 441

serwerSMTP

konfiguracja 171us ug informacyjnych 149

weryfikacja to samo ci u ytkownika 149Simple Mail Transfer Protocol 495s owo kluczowe

helper 455await 474using 47 329

spaghetti code 18spoofing 147SQL Server Reporting Services 367SSRS 367stan pola

typu CheckBox 269pobieranie 264

STRIDE 148strona startowa

MojaNawigacja 226strona wzorcowa 30

aplikacji Kadry 55referencja do bibliotek skryptoacutew 70

systemowy serwer us ug informacyjnych 121szyfrowanie po czenia 335

ze roacuted em danych 336

Kup książkę Poleć książkę

Skorowidz 539

Ttabela danych

Categories 418Customers 305deklaracje kaskadowych arkuszy stylu 275edycja

danych 279danych w wierszu 257rekordoacutew 307 310

Employees 240 288filtrowanie listy 275integralno danych 288Konta 321 326kwerenda wybieraj ca 240Orders 291 315OrdersDetails 307pobieranie fotografii 276pobranie danych z wykorzystaniem JScript 280prezentacja

danych 277 325informacji 252listy danych 248pierwszego rekordu 246rekordoacutew 317

przekazanie do widoku 248Shippers 251tworzenie rekordoacutew 311umieszczenie w bazie danych 321uruchomienie edycji danych 258usuwanie

danych 288rekordoacutew 271 305 306

widok b du 268wstawianie

danych 294rekordoacutew 251

wy wietlenie listykonfiguracja hiper cza 315

zako czenie edycji rekordu 267tablica asocjacyjna 479tablica bajtoacutew

konwersja do bitmapy 277tampering 147task pane 371Task-based Asynchronous Pattern 465TDD 15

test jednostkowy funkcjonalno ci kontrolera28

Test-Driven Development 15testowanie

aplikacji 29wzorcoacutew wyra e regularnych 76 78

Toolbox 274

transakcje 319automatyczne zarz dzanie 327otaczaj ce 329poziom izolacji 332tworzenie i r czna kontrola 319

trasowanie 121aplikacja 430blokowanie dost pu 124domy lne regu y 123Ksi gaGosci_MVC3 430w asne regu y 124

trasowanie adresoacutew URL 121T-SQL 319

czynno ci bazodanowe 345tworzenie

bazy danych 40interfejsu u ytkownika

jQM 459szablony 231wzorzec MVVM 227

u ytkownika 200kody b doacutew 201

widoku Index 231wzorcoacutew wyra e regularnych 76

typed DataSet 244typizacja

silna 46s aba 46

typy puste 27

Uujawnienie krytycznych informacji 147ukryte pola 441Uniform Resource Locator 18URL 18uruchomienie aplikacji 503us uga

AspNetSqlProvider 178ustawienia aplikacji 167

odczytanie z pliku konfiguracyjnego 169UTC 155uwierzytelnienie 149

centralny serwis 151certyfikaty 150formularze logowania 151

atrybuty elementu forms 154konfiguracja 153mechanizmy zintegrowane z ASPNET 149na bazie protoko u NTLM 150przekazywanie informacji 151proste 150skroacutecone 150us ugi systemu Windows 150

Kup książkę Poleć książkę

540 ASPNET MVC

Vvariable placeholders 122view engine 21views 16viewstate 442Visual Studio

kreator projektu 19Visual Studio Development Server 496VS 2012

instalacja 240kreator Add New Item 242

VSDS 496

Wwalidacja

adresue-mail 83URL 83WWW 84

danych 53a technologia Entity Framework 68konfiguracja 66modelu Pracownik 66odwo anenie do jQuery 61po stronie klienta 67wyra enia regularne 73

skrypty i style walidatoroacutew 438w asno ci klasy encji 435

w tek 465Web API 477

edycja danych 491klient 483konfiguracja interfejsu 478obs uga da typu POST 486pobranie danych z serwera 485serwis sieciowy 479usuwanie danych 493

web serwer 495Web Site Administration Tool 161

konfigurowanie uprawnie 165zarz dzanie

dostawcami us ug 178u ytkownikami 163

WebForms 17bezpiecze stwo aplikacji 152integracja komponentoacutew z MVC 367kontrolka Repeater 434obs uga wyj tkoacutew 172przetwarzanie dania aplikacji klienckiej 18separacja modelu 427weryfikacja poprawno ci projektu 434

weryfikacjakodu pocztowego 81to samo ci 151

widok 16 25 30aplikacji

MVC4 453przystosowanie do urz dze mobilnych

459Transakcje 326

cz ciowy 30dodawanie 31edycji klienta 307elementy 31formularz

dodawania wpisu 425logowania 203

kontroleraaplikacja Kadry 58panelu administracyjnego 222

kontrolera AdminController 213kontrolera Dopasowania 77kontrolera ErrorControler 174kontrolera Glosowania 103kontrolera Home 131 169 182 307

metodaWyswietlLog 142Raport 375Transakcje 320

kontrolera HomeController 246AsynchronicznyKontroler 468EksportDanych 417

kontrolera Lista 93kontrolera Mapa 33 34

formularz 70Trasa 50

kreatorakonta u ytkownika 205zmiany has a 206

listyklientoacutew 302pracownikoacutew 61wyznaczonych tras 48zamoacutewie 316

mapyod wie enie 108parametryzacja 34

mechanizm przetwarzania 30modyfikowanie formularza 437obs uga wyj tkoacutew 130Pracownicycshtml 453projektowanie 31transfer danych do kontrolera 36typu CRUD 52

Kup książkę Poleć książkę

Skorowidz 541

typu GridViewimplementacja 48

typy plikoacutew 30utworzenie 30uzupe nianie tre ci 33walidacja 435wi zanie z modelem 437wstawianie rekordoacutew 312wynikoacutew ankiety 105wy wietlanie wpisoacutew 432

wielodziedziczenie 360Windows Authentication Provider 149Windows Data Protection API 187Windows Forms

implementacja klienta 483Windows Live ID 149w a ciwo

ConnectionString 243IsMobileDevice 460ModelStateIsValid 47

wstawianie rekordoacutew 299wstrzykni cie kodu 181 185wykresy 406

konfiguracjaserii danych 407typu 407

pobranie danych roacuted owych 408wy czenie aplikacji 171wyra enia lambda 46wyra enia regularne 73

atrybuty modelu 84liczba wyst pie sk adnikoacutew 76wzorzec

adres URL 83imi e skie 81kod pocztowy 80tworzenie 76

znaki i cyfry 74znaki specjalne 74znaki w wyznaczonych miejscach a cucha 75

wzorzecodnajdywanie

znakoacutew i cyfr 74znakoacutew specjalnych 74znakoacutew w wyznaczonych miejscach

a cucha 75okre lanie

liczby wyst pie znakoacutew 76

XXSS 181

Zzabezpieczenia

aplikacji bazodanowych 335ataki XSS 187informacje o b dach 171kodu po redniego 338konfiguracja 161konfiguracja aplikacji

kreatory 162obs uga wyj tkoacutew 171pliku konfiguracyjnego 167 187przed atakami 148ustawienia aplikacji 167witryny 181zarz dzanie dostawcami us ug 178z o liwy kod 181

zarz dzanieu ytkownikami i grupami 211

dost p do panelu administracyjnego 216lista grup 221podzia na grupy 220pobieranie listy 213tworzenie nowej grupy 222zmiana przynale no ci do grupy 215

z o ono ci aplikacji 16zdarzenie

DataGridViewCellDoubleClick 491rejestrowanie 430

z o liwy koddzia anie 181

znacznikinput 288

znaki specjalneodnajdywanie 74

zwi zanie z modelem 48zwi zek 347

danie 25asynchroniczna obs uga 92 466 470

skrypty 318zadania 473

GET 64POST 64przetwarzanie 127zablokowanie obs ugi 124

Kup książkę Poleć książkę

Notatki

Kup książkę Poleć książkę

308 Cz II Technologie bazodanowe w aplikacjach internetowych

ltscript src=UrlContent(~Scriptsjqueryvalidateunobtrusiveminjs)type=textjavascriptgtltscriptgt

using (HtmlBeginForm(EdytujDaneKlienta Home new id = ModelCustomerID)) HtmlValidationSummary(true) ltfieldsetgt ltlegendgtDane klientaCustomersRowltlegendgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCustomerID) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCustomerID) HtmlValidationMessageFor(model =gt modelCustomerID) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCompanyName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCompanyName) HtmlValidationMessageFor(model =gt modelCompanyName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactName) HtmlValidationMessageFor(model =gt modelContactName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactTitle) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactTitle) HtmlValidationMessageFor(model =gt modelContactTitle) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelAddress) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelAddress) HtmlValidationMessageFor(model =gt modelAddress) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCity) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCity) HtmlValidationMessageFor(model =gt modelCity) ltdivgt

ltdiv class=editor-labelgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 309

HtmlLabelFor(model =gt modelRegion) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRegion) HtmlValidationMessageFor(model =gt modelRegion) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPostalCode) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPostalCode) HtmlValidationMessageFor(model =gt modelPostalCode) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCountry) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCountry) HtmlValidationMessageFor(model =gt modelCountry) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPhone) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPhone) HtmlValidationMessageFor(model =gt modelPhone) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelFax) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelFax) HtmlValidationMessageFor(model =gt modelFax) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRowError) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRowError) HtmlValidationMessageFor(model =gt modelRowError) ltdivgt

ltpgt ltinput type=submit value=SaveZapisz gt ltpgt ltfieldsetgt

ltdivgt HtmlActionLink(Back to List Index) HtmlActionLink(Powroacutet do listy rekordow ScaffoldingList)ltdivgt

Kup książkę Poleć książkę

310 Cz II Technologie bazodanowe w aplikacjach internetowych

3 W kontrolerze Home zdefiniuj metody z listingu 185

Listing 185 Edycja danych klienta

public ActionResult ScaffoldingEdit(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id)

if (cdr = null) return View(ScaffoldingEdit cdr) else return ScaffoldingList()

private void PrzepiszDaneKlienta(FormCollection daneKlienta refNorthwindDataSetCustomersRow rekordKlienta)

rekordKlientaCompanyName = daneKlienta[CompanyName]ToString() rekordKlientaContactName = daneKlienta[ContactName]ToString() rekordKlientaContactTitle = daneKlienta[ContactTitle]ToString() rekordKlientaAddress = daneKlienta[Address]ToString() rekordKlientaCity = daneKlienta[City]ToString()

public ActionResult EdytujDaneKlienta(FormCollection daneKlienta string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) if (cdr = null) PrzepiszDaneKlienta(daneKlienta ref cdr) AktualizujDaneKlientow() return ScaffoldingList()

Proces edycji rekordu w bazie danych za pomoc technologii ADONET opiera si nainformacjach zebranych w poprzednich rozdzia ach wi c nie b d go tu szczegoacute owoopisywa Celem tego przyk adu by o automatyczne wygenerowanie widoku umo li-wiaj cego edycj danych klienta przystosowanie go do w asnych potrzeb oraz inte-gracja z kontrolerem

Separacja modelu widoku i kontrolera umo liwia narz dziom Visual Studio 2012 auto-matyczne generowanie widoku na podstawie definicji modelu Jednak e jak pokaza-em w tym podrozdziale kreator tworzy widok ktoacutery umo liwia edycj wszystkich poacutel

rekordu (nawet identyfikatora) co sprawia e w wi kszo ci przypadkoacutew nale y sa-modzielnie edytowa plik widoku w celu przystosowania go do potrzeb projektowanejaplikacji Jednak jak pokazuje powy szy przyk ad nie jest to rzecz skomplikowan

Integracja widoku z kontrolerem polega na odpowiednim przekazywaniu informacjio edytowanym rekordzie oraz warto ci jego poacutel Do tego celu wykorzysta em identy-fikator klienta ktoacutery jednoznacznie identyfikuje rekordy w tabeli Customers

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 311

Przyk adowy wynik polece zaimplementowanych w tym podrozdziale przedstawiarysunek 185

Rysunek 185Edycja danych klienta

Tworzenie rekordoacutewW poprzednich podrozdzia ach zaimplementowa em trzy spo roacuted czterech podstawo-wych elementoacutew schematu CRUD czyli odczytywanie (R) aktualizacj (U) oraz usu-wanie (D) rekordoacutew Ostatnim elementem jest tworzenie (C) nowych rekordoacutew W celuzaimplementowania procedury uzupe niania tabeli Customers nowymi rekordami na-le y post pi nast puj co

1 W Solution Explorer rozwi w ze Views a nast pnie kliknij prawymprzyciskiem myszy folder Home

2 Wybierz opcj Add a nast pnie Viewhellip z menu kontekstowego

3 W kreatorze Add View

a) Zmie nazw widoku na ScaffoldingCreate

b) Zaznacz pole wyboru Create a strongly-typed view

c) Z listy dost pnych modeli wybierz pozycj CustomersRow

d) Z listy rozwijanej Scaffold template wybierz Create

e) Kliknij przycisk Add

4 Utworzony w ten sposoacuteb plik ScaffoldingCreatecshtml zmodyfikuj wed ugwzoru z listingu 186

Kup książkę Poleć książkę

312 Cz II Technologie bazodanowe w aplikacjach internetowych

Listing 186 Widok umo liwiaj cy wstawianie rekordoacutew do tabeli Customers

model NorthwindMVCModelsNorthwindDataSetCustomersRow

ViewBagTitle = ScaffoldingCreate

lth2gtScaffoldingCreatelth2gtlth2gtTworzenie rekordulth2gt

ltscript src=UrlContent(~Scriptsjqueryvalidateminjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~Scriptsjqueryvalidateunobtrusiveminjs)type=textjavascriptgtltscriptgt

using (HtmlBeginForm(DodajKlienta Home)) HtmlValidationSummary(true) ltfieldsetgt ltlegendgtDane klientaCustomersRowltlegendgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCustomerID) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCustomerID) HtmlValidationMessageFor(model =gt modelCustomerID) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCompanyName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCompanyName) HtmlValidationMessageFor(model =gt modelCompanyName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactName) HtmlValidationMessageFor(model =gt modelContactName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactTitle) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactTitle) HtmlValidationMessageFor(model =gt modelContactTitle) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelAddress) ltdivgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 313

ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelAddress) HtmlValidationMessageFor(model =gt modelAddress) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCity) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCity) HtmlValidationMessageFor(model =gt modelCity) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRegion) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRegion) HtmlValidationMessageFor(model =gt modelRegion) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPostalCode) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPostalCode) HtmlValidationMessageFor(model =gt modelPostalCode) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCountry) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCountry) HtmlValidationMessageFor(model =gt modelCountry) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPhone) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPhone) HtmlValidationMessageFor(model =gt modelPhone) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelFax) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelFax) HtmlValidationMessageFor(model =gt modelFax) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRowError) ltdivgt ltdiv class=editor-fieldgt

Kup książkę Poleć książkę

314 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlEditorFor(model =gt modelRowError) HtmlValidationMessageFor(model =gt modelRowError) ltdivgt

ltpgt ltinput type=submit value=CreateUtwoacuterz gt ltpgt ltfieldsetgt

ltdivgt HtmlActionLink(Back to List Index) HtmlActionLink(Powroacutet do listy ScaffoldingList)ltdivgt

5 Definicj kontrolera Home uzupe nij o polecenia z listingu 187

Listing 187 Wstawianie rekordoacutew do tabeli Customers

private char PobierzZnak(string lancuch int index) Random random = new Random() char znak

if (lancuchLength gt index) znak = lancuch[index] else znak = (char)randomNext(0 255)ToString()[0]

return znak

private void UtworzIdentyfikatorKlienta(ref NorthwindDataSetCustomersRowdaneKlienta)

string identyfikator = int indexZnaku = 0

identyfikator += PobierzZnak(daneKlientaCompanyName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactTitle indexZnaku) identyfikator += PobierzZnak(daneKlientaAddress indexZnaku) identyfikator += PobierzZnak(daneKlientaCity indexZnaku)

daneKlientaCustomerID = identyfikator

public ActionResult DodajKlienta(FormCollection daneKlienta string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersNewCustomersRow()

PrzepiszDaneKlienta(daneKlienta ref cdr)

UtworzIdentyfikatorKlienta(ref cdr)

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 315

customersTableAdapterInsert(cdrCustomerID cdrCompanyName cdrContactName cdrContactTitle cdrAddress cdrCity )

AktualizujDaneKlientow()

return ScaffoldingList()

Wstawienie rekordoacutew do tabeli Customers jest analogiczne do ich edycji Jedyn roacute -nic jest konieczno utworzenia identyfikatora klienta gdy nie jest on tworzonyautomatycznie jak to by o w przypadku tabeli Employees Identyfikatory rekordoacuteww tabeli Customers s pi cioelementowymi ci gami znakoacutew Tworz je na podstawiepierwszych liter poacutel CompanyName ContactName ContactTitle Address oraz City Je liw tych polach znajduj si puste ci gi to odpowiedni liter zast puj losowo wyge-nerowanym znakiem

W kolejnym podrozdziale poka w jaki sposoacuteb wy wietli informacje o rekordachpotomnych opieraj c si na relacji pomi dzy tabelami

Formularz z podformularzem(MasterDetail Form)

Jako podsumowanie tego rozdzia u utworz formularz z podformularzem tak zwanyformularz MasterDetail Jego dzia anie polega na tym e wy wietlanie danych od-bywa si na bazie co najmniej dwoacutech komponentoacutew (np blokoacutew czy tabel) oraz rela-cji mi dzy tabelami Pierwszy komponent prezentuje rekordy zawarte w tabeli g oacutew-nej (ang master) a drugi zawiera dane z tabeli podrz dnej (ang detail) Komponentzwi zany z tabel podrz dn ma zazwyczaj za zadanie prezentowa szczegoacute owe da-ne odpowiadaj ce rekordowi z tabeli nadrz dnej ktoacutery zosta wskazany przy pomocyzwi zanej z nim listy rekordoacutew Pola tych tabel musz by zatem uporz dkowane w takisposoacuteb aby pokazywa y informacj o tym samym rekordzie Uzyskuje si to przy po-mocy relacji mi dzy tabelami ktoacuterej zadaniem jest powi zanie informacji zawartychw bazie danych

W tym podrozdziale tabel nadrz dn b dzie tabela Customers a podrz dn OrdersPo klikni ciu na hiper cze z etykiet zamoacutewienia wy wietli si lista rekordoacutew tabeliOrders skojarzonych z danym klientem dania prezentacji zamoacutewie b d realizo-wane asynchronicznie

1 Plik widoku ScaffoldingListcshtml zmodyfikuj wed ug wzoru z listingu 188

Listing 188 Konfiguracja hiper cza umo liwiaj cego wy wietlenie listy zamoacutewie danego klienta

hellipforeach (var item in Model) lttrgt lttdgt

Kup książkę Poleć książkę

316 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlDisplayFor(modelItem =gt itemCustomerID) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCompanyName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactTitle) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemAddress) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCity) lttdgt lttdgt HtmlActionLink(Edytuj ScaffoldingEdit new id = itemCustomerID ) | AjaxActionLink(Zamoacutewienia ScaffoldingMasterDetail new id = itemCustomerID new AjaxOptions UpdateTargetId = zamowienia OnSuccess = documentgetElementById(zamowienia)scrollIntoView() ) | HtmlActionLink(Usu ScaffoldingDelete new id = itemCustomerID ) lttdgt lttrgtlttablegt

ltdiv id=zamowieniagtltdivgt

2 Utwoacuterz widok cz ciowy o nazwie ZamowieniaPartialViewcshtml i wstaww nim polecenia z listingu 189

Listing 189 Definicja widoku prezentuj cego list zamoacutewie

model IEnumerableltNorthwindMVCModelsNorthwindDataSetOrdersRowgt

if (Model == null) lth2gtBrak zamoacutewie lth2gtelse lth2gtLista zamoacutewie lth2gt

lttablegt lttrgt ltthgt OrderDate ltthgt ltthgt RequiredDate ltthgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 317

ltthgt ShippedDate ltthgt ltthgt ShipName ltthgt ltthgt ShipAddress ltthgt ltthgt ShipCity ltthgt ltthgtltthgt lttrgt

foreach (var item in Model) lttrgt lttdgt itemOrderDateToShortDateString() lttdgt lttdgt itemRequiredDateToShortDateString() lttdgt lttdgt itemShippedDateToShortDateString() lttdgt lttdgt itemShipName lttdgt lttdgt itemShipAddress lttdgt lttdgt itemShipCity lttdgt lttrgt lttablegt

3 Kontroler Home uzupe nij o metod ScaffoldingMasterDetail ktoacuterej definicjprzedstawi em na listingu 1810

Listing 1810 Pobranie i prezentacja rekordoacutew potomnych wybranego klienta

public ActionResult ScaffoldingMasterDetail(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) NorthwindDataSetOrdersRow[] zamowieniaPracownika = null

if (cdr = null) zamowieniaPracownika = (NorthwindDataSetOrdersRow[])cdrGetChildRows(FK_Orders_Customers)

Kup książkę Poleć książkę

318 Cz II Technologie bazodanowe w aplikacjach internetowych

if (RequestIsAjaxRequest()) return View(ZamowieniaPartialView zamowieniaPracownika) else return ScaffoldingList()

4 Sekcj ltheadgt pliku _Layoutcshtml uzupe nij o polecenia z listingu 1811

Listing 1811 Import skryptoacutew obs uguj cych dania asynchroniczne

ltscript src=UrlContent(~Scriptsjqueryunobtrusive-ajaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftAjaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftMvcAjaxjs)type=textjavascriptgtltscriptgt

5 Po skompilowaniu i uruchomieniu aplikacji powiniene uzyska efektanalogiczny do przedstawionego na rysunku 186

Rysunek 186 Przyk ad formularza typu MasterDetail

Kup książkę Poleć książkę

Skorowidz

AACL 149action methods 25ActiveX Data Object 238ADO 238ADONET 238

obiekty 238podstawy 237synchronizacja buforu ze roacuted em danych 273

adresy URLautoryzacja 157parametry 122trasowanie 121wzorce 122 123

agile programming 15AJAX 91

aktualizacja bloku witryny 113dodanie referencji do bibliotek JavaScript 94

akcjaCreate 354Delete 357Details 353dodaj ca nowy produkt 355Edit 356

aktualizacjazawarto ci elementu witryny 92

algorytmRSA 187

ambient transaction 329ankieta 102AntiXss 187aplikacje

bazodanowe 235bezpiecze stwo 335mechanizm transakcji 319scaffolding 301

synchronizacja ze roacuted em danych 273uwagi do projektowania 345

mo liwo edytowania wpisoacutew 441rejestrowanie zdarze i trasowanie 430

Application Domain 339architektura obiektowa 347ASPNET

konfiguracja aplikacji 161mechanizmy uwierzytelnienia 149metody globalne 107w czanie i wy czanie aplikacji 171

ASPNET AJAX 91ASPNET MVC 15

komponenty 16ASPX 21 30asynchroniczne przetwarzanie da http

jQuery 113Asynchronous JavaScript and XML 48Asynchronous Programming Model 464ataki

rodzaje 147SQL Injection 148 344wy udzenie informacji 148z o liwy kod 181

atrybut 347AcceptVerbs(HttpPost) 47AcceptVerbs(HttpVerbsPost) 65AssociationAttribute 58Authorize 200AuthorizeAttribute 128autoryzacyjny 145ConcurrencyCheckAttribute 58Confirm 95cookieless 154CustomValidationAttribute 58 66data-bind 230DataType 54 57

Kup książkę Poleć książkę

528 ASPNET MVC

atrybutDataTypeAttribute 58defaultRedirect 173defaultUrl 154DisplayAttribute 58DisplayColumnAttribute 58DisplayName 436EditableAttribute 58enableCrossAppRedirects 155EnumDataTypeAttribute 58FilterUIHintAttribute 58HandleError 138 175HandleErrorAttribute 129HttpMethod 95InsertionMode 95KeyAttribute 58klasy do konfiguracji metadanych 57 58LoadingElementDuration 110LoadingElementId 95 110Log

klasa implementuj ca 142loginUrl 154MetadataType 69MetadataTypeAttribute 58mode 153 173modelu 55name 155NonAction 26 135OnBegin 95OnComplete 95OnFailure 95OnSuccess 95 110OutputCache 133OutputCacheAttribute

parametry 134passwordFormat 156protection 155Range 54 66RangeAttribute 58redirectMode 173RegularExpressionAttribute 58Required 54 66RequiredAttribute 58RequireHttps 135requireSSL 155slidingExpiration 155StringLength 66StringLengthAttribute 58TestClass 29TestMethod 29ticketCompatibilityMode 155timeout 155TimestampAttribute 58UpdateTargetId 95

Url 95ValidateInput 185

atrybuty modeluwyra enia regularne 84

Attribute 347authentication ticket 151auto post back 217autocomplete textbox 115automatyczne uzupe nienie pola tekstowego 115autoryzacja 149 157

adresoacutew URL 157konfiguracja 157

grupy u ytkownikoacutew 158mechanizm filtrowania 158otwarta 460plikoacutew 157zdalna

powi zanie z portalem Facebook 461Azure 496

Bbazy danych 40 237

aktualizacja 41lista rekordoacutew 301Northwind 240

detale produktu 352dodawanie po cze 350pobieranie produktoacutew 351

po czenie ze roacuted em danych 241relacyjne 237schemat CRUD 301transakcje 319tworzenie 321

nowego rekordu 48schematu na bazie modelu encji 357

usuwanie danych 290regu y integralno ci 293

usuwanie powi zanych wierszyrekordy potomne 291

warstwa dost pu 42bezpiecze stwo

aplikacji internetowych 147ataki 147mechanizmy 149

biblioteka NETprogramowanie asynchroniczne 464

biblioteka skryptoacutewMapajs 32

bilet uwierzytelniaj cy 151b dy

dzia ania aplikacji 171strona b du 176tworzenie u ytkownika 202wprowadzenie z ego rekordu 268

Kup książkę Poleć książkę

Skorowidz 529

body 383buforowanie

danych ze roacutede zewn trznych 133bundling 475Business Intelligence 368

Ccallback 35CAS 151 338CDN 113Central Authentication Service 151centralna us uga uwierzytelnienia 151certyfikat 337CLR

procesy systemowe 466Code Access Security 338Confirm 96connString 341controllers 16Coordinated Universal Time 155Create Read Update Delete 301cross-site scripting 181CRUD 54 301Crystal Reports 368

Ddane

agregacja 378bezpo redni dost p do roacuted a 346eksport 413

do dokumentu tekstowego 419do PDF 420skoroszyt MS Excel 421tabele dynamiczne 418

integralno 288 319pomini cie sprawdzania 292regu y 291

modyfikacja 249platforma modelowania 347prezentacja

graficzna 406w postaci macierzowej 390

przekazywaniez formularza do roacuted a 46z kontrolera do widoku 437 439

serializacja i transfer struktur 117szyfrowanie 337typu

ActionResult 25walidacja 53weryfikacja 53wi zy integralno ci 306

wy wietlanie 315zabezpieczenie 338

Data Binding 389Data Definition Language 345Database Management System 237DBMS 237

wi zy integralno ci 238DDL 345denial of service 147detail 315Development Server 504DIE 53DisplayFormatAttribute 58document object model 92DOM 92domena aplikacji 339 466

instancja obiektoacutew 341tworzenie 339wspoacute dzielenie obiektu 341

dostawcy us ug 178dost p anonimowy 150DotNetOpenAuth 149DPAPI 187DRY 53dyrektywa

model 46

Eelement

customErrors 173success 115

elevation of privilege 147encapsulation 107encja 347

atrybuty 54bazodanowa 54KategoriaProduktu 358odwzorowanie w bazie danych 360Order_Details 362Orders 361Products 361Produkt 358

Entity 347Entity Framework 43 347

POCO 360potwierdzenie explicite 356technologie 349wersje 347

Entity Relationship Model 347Entity SQL 349ERM 347Event-based Asynchronous Pattern 465event-driven programming 17

Kup książkę Poleć książkę

530 ASPNET MVC

FFile Transfer Protocol 495filtry 127

akcji 127 139autoryzacyjne 127 144dynamiczne 395kolejno wykonywania 137

priorytety 138Log

metody 141LogAttribute

definicja klasy 140podstawowe atrybuty 128statyczne 395w asne 139wyj tkoacutew 128 144

niestandardowe 145wyniku 128 144

for 434foreach 51Forms Authentication Provider 149formularz

MasterDetail 315z podformularzem 315

funkcjadelay 217ListaPracownikoacutew 57Mid 390RolesIsUserInRole 217Today 390wyznaczaj ca tras 109zmienPrzynaleznoscDoGrupy 217 218

GGauge 383 403GDI 368graficzny interfejs u ytkownika 17 30Graphics Device Interface 368GridView 48grupy u ytkownikoacutew

autoryzacja 158GUI 17

Hhard-coding 167haszowanie 150helper methods 25html helper 455

Iidentyfikator

klienta 315rekordoacutew 315

IIS 121 149 495instalacja

ASPNET 445 498serwera w Windows 7 496serwera w Windows 8 496

mened er Windows 499uruchamianie aplikacji 503

serwer do rozwoju aplikacji 504information disclosure 147instancje aplikacji 465instancjonowanie modelu 39IntelliSense 247interfejs u ytkownika

przycisk umo liwiaj cy dodanie pracownika294

przycisk usuni cia wybranego rekordu 289Internet Information Services 121internetowe us ugi informacyjne 495in ynieria spo eczna 148Isolation Level 332izolacja 339 466

JJavaScript Object Notation 117jQM 457jQuery

autocomplete 116pliki roacuted owe 113

jQuery Mobile 457jQuery UI 367

wykorzystanie przyciskoacutew 284JSON 117

obiekt typu adres 118

KKey Performance Indicators 403klasa

AccountController 198ActionExecutingContext 143AdminController 212Ajax 94AjaxOptions 94

atrybuty 95AspNetHidden 442AssemblyName 170Assert 29

Kup książkę Poleć książkę

Skorowidz 531

AuthConfig 461BundleConfig 475Configuration 170ConfigurationManager 170ConfigurationSection 187 188ConnectionStringBuilder 345DpapiProtectedConfigurationProvider 187FiltryRaportuMacierzowego 397Form1 484FormsAuthentication 152Global 430HandleErrorInfo 133HtmlHelper 437HttpClient 483 486HttpResponseMessage 486kontekstu 362LogOnModel 198MarshallByRefObject 341Membership 152 198 211MvcApplication 430NorthwindContext 362ObjectContext 348ObjectQueryltTgt 348Order_Details 362Orders 361Osoba 228ParametryWatku 470Pracownik 484Products 361Produkt 230Raport 392RequestBrowser 460ResultExecutedContext 144ResultExecutingContext 144Roles 211RsaProtectedConfigurationProvider 187SQLConnCAS

definicja 340stowarzyszona z modelem 69SystemNetHttpFormattingJsonMediaTypeF

ormatter 491SystemTextRegularExpressions 74SystemWebSecurityRoles 159Task 465 472testuj ca 29Thread 465 469TransactionScope 327UrlRoutingModule 121ViewData 434 436 439WebApiConfig 478WebConfigurationManager 170Wpisy 427 436

klucze 237MAC 155obce 238podstawowe 238

kluczowe wska niki efektywno ci 403dynamiczna zmiana warto ci 404

Knockout 227wykorzystanie szablonoacutew JavaScript 230wywo anie skryptu 229

kodowanie danychprzekazywanych przez u ytkownikoacutew 186

komponentFormDanePracownika 489obiektu

PartialView 99typu ListBox 99

ReportViewer 368 375eksport danych 413nawigacja mi dzy stronami raportu 377

komponenty u ytkownika 30komunikaty o b dach 171

kod statusowy 174 175koncepcja programowania zdarzeniowego 16konfiguracja

po czenia z baz danych 241uprawnie puli aplikacji 454walidacji danych 66

konkurencyjno aplikacji 332kontekst wi zania 389kontrola wprowadzanych danych 263

metoda onColumnChanged 269wstrzymanie walidacji wiersza 267zako czenie edycji rekordu 267

wymuszenie 267kontroler 16 25

AccountController 195Admin 223AdminController 212aplikacja Kardy 63asynchroniczny 466

a zadania 472dane wyj ciowe 25domeny 150ErrorController 174Glosowania 103Home 182 224 228 231

Bezpiecze stwo 336filtr wyj tku 131

HomeController 184EksportDanych 415Northwind 245

interfejs Web API 477KsiegaGosciController 424

Kup książkę Poleć książkę

532 ASPNET MVC

kontrolerLista 93Mapa 33

autouzupe nianie 117modyfikacja 45

niedost pne metody publiczne 136obs uga POST 431panelu administracyjnego 212

zarz dzanie grupami u ytkownikoacutew 220Pracownicy 57 64PracownicyController

implementacja 481Produkty 351projektowanie 27przekazywanie danych do widoku

zmiany 439uwierzytelnienia 195

klasa 198model 196widoki 203

uzupe nienie o widok 31u ycie modelu odsy anego przez widok 440ValuesController 478weryfikacja funkcjonalno ci 28wi zanie adresu URL z akcj 430widoki 58

konwersja obrazu 278kreator

Add New Item 242Add View 59 302Application 162blokowania szczegoacute oacutew b doacutew 172dodanie u ytkownikoacutew 164grup u ytkownikoacutew 165Provider 162Publish Web 501Security 162tworzenia pracownika 59ustawie aplikacji 167widokoacutew 60wyboacuter dostawcoacutew us ug 178

kwerendy parametryczne 274 401

Llayout witryny 30LINQ

to Entities 349lista rekordoacutew 301

prezentacja 304logika

aplikacji 30bazodanowa 30biznesowa 44

a cuch QueryString 26

Mmaster 315mechanizm

automatycznych w a ciwo ci 57autoryzacji 157eksportu danych 413filtroacutew 127grupowania plikoacutew 475IntelliSense 119QuerynotString 117szyfruj cy 187transakcji 319 321

przelewy bankowe 326wyznaczania trasy przejzdu 34

meotdaInsert 299ProtectSection 191WersjonowanieDataRow

definicja widoku 265message authentication code 155metoda

on 262HtmlValidationSummary 204About 124AcceptChanges 255 263ActionLinkActionLink 61 63 353AddUserToRole 159akcji 25

parametry opcjonalne 27aktualizacja statystyk ankiety 105AktualizujZdjeciePracownika 288Application_AuthenticateRequest 108Application_BeginRequest 107 108Application_End 108Application_EndRequest 107Application_Error 108 172Application_Start 108 123 139 430asynchroniczna kontrolera 472AttachTo 356Authenticate 152AutoUzupelnienie 117

zapytanie LINQ 118BeginEdit 267BeginForm 47 94BeginTransaction 326 332CancelEdit 263ChangeObjectState 356

Kup książkę Poleć książkę

Skorowidz 533

ChangePassword 200hiper cze 208widok 206

ChangePasswordSuccesswidok 206

CreateNazwaEncji 354CreateRole 159CreateUser 153czyBazaDanychIstnieje 326daneDostawcyForm 262DBeginnotEdit 263Delete 270DeleteObject 357DeleteRole 159DeleteUser 153DeszyfrujPlikKonfiguracyjny 191DodajDostawce 255DodajElementDoListy 94 97 101DodajGrupe 223DodajKomentarz 185DodajPracownika 299 491DopiszDoPlikuLog 430Edit 356EdytujDaneDostawcy 261EdytujDanePracownika 493Eksportuj 418EmptyResult 26EndEdit 263EndForm 47ErrorCodeToString 201Fill 246FillByCityName 275FormatDateTime 390FormsAuthenticationSetCookie 199GenerujDane 468Get(int id) 478GetAllRoles 159GetAsync 486GetChildRecords 291GetSection 170GetSectionGroup 170GetUser 153GetUsersInRole 160globalna

aplikacji ASPNET 108Grupy 223HasVersion 263HtmlListBox 97HtmlRenderPartial 101HtmlValidationSummary 61HtmlHelperLabel 437ImiePierwszegoPracownika 246 247Include 475Index 47 79 97 101

kontrolera Mapa 34testowanie 28

IsAjaxRequest 101IsMatch 76IsNotNull 29IsUserInRole 159Label 35ListaDostawcow 252 255ListaPracownikow 248

hiper cze skojarzone 249LogOff 198LogOn 198Macierzowy 397mapowalna 26MetodaAsynchronicznaWatki 472ModelStateAddModelError 199MvcApplicationRegisterRoutes 430obs uga zapyta POST 431odczyt aktualnych bilansoacutew kont 323OdczytajStanyKont 326OnActionExecuted 143OnActionExecuting 127 143onColumnChanged 269OnResultExecuted 144OnResultExecuting 144onRowChanged 266onRowChanging 268OpenConfiguration 170otwarcie po czenia z baz danych 341OtworzPlikDanych 107Page_Load 399PartialViewResult 26PobierzDane 394

modyfikacja 401PobierzPlikLogu 141 143PobierzZdjecie 278PokazTrasy 51PokazWyniki 107pomocnicza 25 455

HtmlEncode 51wykorzystanie 456

PostAsJsonAsync 486PostAsXmlAsync 486PostAsync 486PostResolveRequestCache 121PracownicyWedlugMiast

przechowywanie warto ci filtru 285PutAsJsonAsync 493PutAsXmlAsync 493PutAsync 493ReadAsAsync 486ReadXml 107ReadXmlSchema 107RedirectFromLoginPage 152

Kup książkę Poleć książkę

534 ASPNET MVC

metodaRedirectResult 26RedirectToAction 26RedirectToLoginPage 152RedirectToRoute 26RedirectToRouteResult 26RefreshReport 384Register 199 478RegisterAuth 461 462RegisterBundles 475RegisterGlobalFilters 171RegisterRoutes 94 123RejectChanges 256 263rejestrowanie zdarze aplikacji 430RemoveUserFromRole 160Render 384 413 418RenderPartial 99ResponseWrite 223ResultExecuteResult 143RoleExists 159RolesIsUserInRole 216RolesRemoveUsersFromRole 223route 35RowsAdd 255RozpocznijEdycje 269

hiper cze uruchamiaj ce 267SaveChanges 354ScaffoldingMasterDetail 317Session_End 108Session_Start 108SetAuthCookie 152SetParameters 401 405SignOut 152SprawdzDopasowania 79SprawdzPoprawnoscDatyZatrudnienia 67SqlPermissionAdd 343SqlTransactionCommit 326SqlTransactionRollback 326StronaNieIstnieje 175submit 115SzyfrowaniePlikuKonfiguracyjnego 190szyfruj ca i deszyfruj ca 189SzyfrujPlikKonfiguracyjny 191TextBox 35ThreadSleep 469 472TransactionScopeComplete 329Transfer 36UpdateUser 153UstawParametryRaportu 399UsunGrupe 223UsunTrase 50 51UtworzPracownika 64Uzytkownicy 216ValidateUser 152 153

ValidationMessage 437ValidationMessageFor 61ValidationSummary 437ViewResult 26WebApiConfigRegister 478WersjonowanieDataRow 265

sparametryzowanie 266WpisyZapiszDoPlikuXml 430wykonywanie przelewoacutew 323WyswietlLog 141 142 143wyswietlMape 34 35WyswietlTrase 50

modyfikacja 135 166wyznaczTrase 35ZaktualizujWyniki 107Zapami tajNazw U ytkownika 432ZmienStanKont 328

Microsoft SQL Server 319sposoby uwierzytelnienia 344

MIME type 390minification 476minimalizacja 476model 16 39

APM 464ChangePasswordModel 196EAP 465integracja z elementami aplikacji 39LogOnModel 196obs uga plikoacutew XML 427przesy anie z kontrolera do widoku 432 435RegisterModel 196TAP 465

model binding 48model danych encji 348

dodawanie encji 353edycja encji 355kreator 348 349

czenie encji 359metody akcji 354opcje 361projektowanie relacji 43tworzenie 349

schematu bazy danych 357usuwanie encji 357wyboacuter tabel 350

model first 52model zwi zkoacutew encji 347models 16Model-View-Controller 15Model-View-ViewModel 227Model-Widok-Kontroler 15modu

UrlAuthorizationModule 157

Kup książkę Poleć książkę

Skorowidz 535

MVC 15a Web Forms 16 365 367 423

kod 442serwer internetowych us ug

informacyjnych 495wydajno 443wykorzystanie w projektach 444

ataki XSS 185autoryzacja 158 162bezpiecze stwo aplikacji 152buforowanie 134domy lne wzorce aplikacji 21kreator aplikacji 20mechanizm filtrowania 127Model Binder 355nazwa kontrolera 27obs uga interakcji klient-serwer 121parametry opcjonalne 27pobieranie parametru z adresu URL 26projektowanie aplikacji 18 52przetwarzanie dania aplikacji klienckiej 18sprawdzanie poprawno ci danych 68struktura modelu 39techniki walidacji danych 53utworzenie widoku 30uzupe nianie o komponenty graficzne 367walidacja 438wersja 4 449wyboacuter mechanizmu przetwarzaj cego widoki 21wzorce URL 122zbioacuter modeli szablonu aplikacji 196roacuted o danych 40

MVC4 449grupowanie i optymalizacja skryptoacutew 475kaskadowe arkuszye stylu 475przetwarzanie asynchroniczne 464przystosowanie do urz dze mobillnych 457testowanie aplikacji 457uwierzytelnianie 460

integracja z portalem Facebook 462wsparcie dla urz dze mobilnych 450zdalna autoryzacja 461

MVVM 227

Nnarz dzie

aspnet_regiis 187przetwarzanie tekstu 73

Northwindinstalacja 240kwerenda wybieraj ca 240pobieranie informacji o dostawcach 251

NuGET 483nullable-types 27

OOAuth 461obiekt

AppDomain 339 341Chart 406Command 239Connection 239 241

w a ciwo i 243ConnectionString 343

sposoby uwierzytelniania 344szyfrowanie informacji 335

DataAdapter 239DataGridView 491DataReader 239 273DataRow 255

kontrola wprowadzonych danych 263usuwanie rekordoacutew 270wersje 263wersja proponowana 265wersjonowanie 263w a ciwo ci 255

DataSet 239 244 345edycja rekordoacutew 257kreator konfiguracji TableAdapter 274modyfikacja danych 249tworzenie nowych rekordoacutew 250usuwanie rekordoacutew 271wstawianie rekordoacutew 251wymuszenie wi zoacutew integralno ci 292

DataTable 107DirectionsService 35dostawca 153FormCollection 47jqXHR 218List 389logiki biznesowej 348materializacja 348Matrix 390Membership 152MvcRouteHandler 121 122o okre lonym typie danych 244o silnej typizacji 244o s abej typizacji 247ObjectStateManager 348PartialView 98ReportViewer 368ReportViewerLocalReport 418Request 26 101 432Response 26Route 122ShippersRow 255SqlConnCAS 341SqlConnection 326

Kup książkę Poleć książkę

536 ASPNET MVC

obiektTableAdapter 239 244 273 274 345

edycja danych 279 286wstawianie danych 294

TransactionScope 329parametryzacja 331

typuadres 118AppDomain 466ConcurrentDictionary 479NorthwindDataSet 247ObjectSetltTgt 348Route 121Thread 466

UrlRoutingModule 121ViewBag 36

przekazywanie danych do widoku WebForms 376

ViewData 36 79 432Object Relational Mapping 347Object Services 348obs uga b doacutew

konfiguracja 132w czenie 129

odrzucenie informacji o transakcji 148od wie anie witryny

a fragment widoku 97aktualizacja zawarto ci 113cz ciowe 96

OnSuccess 96operator

await 474konkatenacji 382Top 411Top N 411

ORM 347

Pparametr

CountryName 401data 115filtr 117mapDivId 35maxIloscRekordow 117Order 137raportu 395scopeTimeOut 330

warto ci 330TransactionScopeOption

warto ci 329type 115

parametryzacja kwerend 274partial view 30

piaskownica 341Plain Old CLR Object 360platforma NET

us ugi uwierzytelniania 153plik

ascx 22aspx 22bmp 390cookie 151cookies 154 155cshtml 22 434css 475edmx 360jpg 390js 475konfiguracyjny

zabezpieczenie 187master 22png 390rdl 368rdlc 368tekstowy

wy wietlenie w przegl darce 143vbhtml 22

POCO 360pola klucza 237polecenie

HtmlEncode 187ScriptsRender 476StylesRender 476GET 18POST 18

po czenieze roacuted em danych 241

pomocnik HTML 455Portable Document Format 413po rednik 341poziom izolacji 332

Chaos 333konfiguracja 332ReadCommitted 333ReadUncommitted 333Serializable 333Snapshot 333Unspecified 333

poziom zaufania 339ograniczenie 340

proceduraajax 115AjaxBeginForm 96niemapowalna 26PartialView 26serialize 115

Kup książkę Poleć książkę

Skorowidz 537

proces 465programowanie

oparte na zdarzeniach 17zdarzeniowe 17

projekt aplikacji MVCankieta 102asynchroniczne przetwarzanie da HTTP 92Bezpiecze stwo 181 336

nawi zanie komunikacji ze roacuted emdanych 342

szyfrowanie pliku konfiguracyjnego 191dodawanie i wy wietlanie komentarzy 183domy lny 20EksportDanych 413Filtry 131formularz oceny 107Kadry

walidacja adresu e-mail 84Kardy 55KsiegaGosci_MVC3 424lista prezentuj ca dodawane elementy 97MojaNawigacja 18

blokowanie samodzielnego tworzeniakont 224

buforowanie danych 135implementacja warstwy dost pu 42instalacja na serwerze IIS 500komunikat powitalny 168komunikaty 110komunikaty o b dach 173mechanizm podpowiedzi 115model weryfikuj cy po wiadczenia

u ytkownikoacutew 196modele kontrolera uwierzytelnienia 196od wie enie widoku mapy 109struktura 21szablon 19szablon witryny 225trasowanie da HTTP 123uzupe nienie o baz danych 40uzupe nienie o walidacj danych 69widok b du 175zablokowanie nieautoryzowanego

dost pu 128zarz dzanie u ytkownikami 163zarz dzanie grupami u ytkownikoacutew 212zarz dzanie procesem logowania 198

MsAjax 92NorthwindMVC 241

lista rekordoacutew 301szablon witryny 250

POCO 361priorytety regu filtrowania 137

Raport 368szablon

mechanizmy uwierzytelnienia 156zarz dzanie grupami u ytkownikoacutew 159

Transakcje 319aktualizacja danych 328formularz aktualizacji 328szablon stron 320

uzupe nianie widokiem GridView 49WyrazeniaRegularne 76Zapytania_EF 349

projekt aplikacji MVC4AsynchronicznyKontroler 466

prezentacja danych 468AutoryzacjaOAuth 461implementacja serwisu sieciowego 479konfiguracja grupowania 475MobileMvc 450

testowanie 457pobranie zdj cia 452przygotowanie listy pracownikoacutew 452SerwisSieciowy 477

projekt aplikacji Windows Formsedycja danych 487KlientWebAPI 483tworzenie nowych pracownikoacutew 486

dania typuDELETE 493POST 486PUT 491

projektowaniekontrolera 27widoku 31

protokoacuteFTP 495Kerberos 150NTLM 150SMTP 495SSL 337

proxy 341przechowywanie

informacji o trasach 44wynikoacutew g osowania 107

przeci enie aplikacji 147przekazywanie

danych 44mi dzy widokiem a kontrolerem 36

parametroacutew do metod akcji kontrolera 26przestrze nazw

SystemThreading 465przyjazne linki 122publikowanie aplikacji 495 500

na serwerze IIS 497

Kup książkę Poleć książkę

538 ASPNET MVC

pule aplikacji 465 497konfiguracja 498Windows 7 499Windows 8 500

Rraporty

dane w postaci macierzowej 390data 386definicja

dynamiczna 418filtrowanie danych 394

na poziomie roacuted a 401 418filtry 395formaty prezentacji danych 379grupowanie danych 381hiper cza 387

nawigacyjne 376kolumny obliczeniowe 378konfiguracja

filtrowania dynamicznego 396typu 392roacuted a danych 368

kreator formu 382macierzowe 391numery stron 386obrazy 390parametry 383 394

konfiguracja 399paski narz dziowe 379pola

bazy danych 386formularza 398raportu 390

po czenie z aplikacj 368prezentowanie uk adu graficznego 383projektowanie 371

i prezentowanie 368przystosowanie strony do obs ugi raportoacutew

387renderowanie 368tryby definicji 368tworzenie

definicji lokalnej 368formu 378przy u yciu kreatora 372

uk ad 383wstawianie nag oacutewka i stopki 385wykresy 406wy wietlenie 375

Razor 21 30przetwarzanie definicji widoku 208

RDL 418rekordy

edycja 307lista 301tworzenie 311usuwanie 305

Relationship 347Report Definition Language 418Report Wizard 371repudiation 148request 442response 442responsywno 464rollback transaction 319routing 22 430routowanie 121

SSandBox 341scaffolding 301Secure Socket Layer 337sekcja

membership 178roleManager 179set 441

serwerSMTP

konfiguracja 171us ug informacyjnych 149

weryfikacja to samo ci u ytkownika 149Simple Mail Transfer Protocol 495s owo kluczowe

helper 455await 474using 47 329

spaghetti code 18spoofing 147SQL Server Reporting Services 367SSRS 367stan pola

typu CheckBox 269pobieranie 264

STRIDE 148strona startowa

MojaNawigacja 226strona wzorcowa 30

aplikacji Kadry 55referencja do bibliotek skryptoacutew 70

systemowy serwer us ug informacyjnych 121szyfrowanie po czenia 335

ze roacuted em danych 336

Kup książkę Poleć książkę

Skorowidz 539

Ttabela danych

Categories 418Customers 305deklaracje kaskadowych arkuszy stylu 275edycja

danych 279danych w wierszu 257rekordoacutew 307 310

Employees 240 288filtrowanie listy 275integralno danych 288Konta 321 326kwerenda wybieraj ca 240Orders 291 315OrdersDetails 307pobieranie fotografii 276pobranie danych z wykorzystaniem JScript 280prezentacja

danych 277 325informacji 252listy danych 248pierwszego rekordu 246rekordoacutew 317

przekazanie do widoku 248Shippers 251tworzenie rekordoacutew 311umieszczenie w bazie danych 321uruchomienie edycji danych 258usuwanie

danych 288rekordoacutew 271 305 306

widok b du 268wstawianie

danych 294rekordoacutew 251

wy wietlenie listykonfiguracja hiper cza 315

zako czenie edycji rekordu 267tablica asocjacyjna 479tablica bajtoacutew

konwersja do bitmapy 277tampering 147task pane 371Task-based Asynchronous Pattern 465TDD 15

test jednostkowy funkcjonalno ci kontrolera28

Test-Driven Development 15testowanie

aplikacji 29wzorcoacutew wyra e regularnych 76 78

Toolbox 274

transakcje 319automatyczne zarz dzanie 327otaczaj ce 329poziom izolacji 332tworzenie i r czna kontrola 319

trasowanie 121aplikacja 430blokowanie dost pu 124domy lne regu y 123Ksi gaGosci_MVC3 430w asne regu y 124

trasowanie adresoacutew URL 121T-SQL 319

czynno ci bazodanowe 345tworzenie

bazy danych 40interfejsu u ytkownika

jQM 459szablony 231wzorzec MVVM 227

u ytkownika 200kody b doacutew 201

widoku Index 231wzorcoacutew wyra e regularnych 76

typed DataSet 244typizacja

silna 46s aba 46

typy puste 27

Uujawnienie krytycznych informacji 147ukryte pola 441Uniform Resource Locator 18URL 18uruchomienie aplikacji 503us uga

AspNetSqlProvider 178ustawienia aplikacji 167

odczytanie z pliku konfiguracyjnego 169UTC 155uwierzytelnienie 149

centralny serwis 151certyfikaty 150formularze logowania 151

atrybuty elementu forms 154konfiguracja 153mechanizmy zintegrowane z ASPNET 149na bazie protoko u NTLM 150przekazywanie informacji 151proste 150skroacutecone 150us ugi systemu Windows 150

Kup książkę Poleć książkę

540 ASPNET MVC

Vvariable placeholders 122view engine 21views 16viewstate 442Visual Studio

kreator projektu 19Visual Studio Development Server 496VS 2012

instalacja 240kreator Add New Item 242

VSDS 496

Wwalidacja

adresue-mail 83URL 83WWW 84

danych 53a technologia Entity Framework 68konfiguracja 66modelu Pracownik 66odwo anenie do jQuery 61po stronie klienta 67wyra enia regularne 73

skrypty i style walidatoroacutew 438w asno ci klasy encji 435

w tek 465Web API 477

edycja danych 491klient 483konfiguracja interfejsu 478obs uga da typu POST 486pobranie danych z serwera 485serwis sieciowy 479usuwanie danych 493

web serwer 495Web Site Administration Tool 161

konfigurowanie uprawnie 165zarz dzanie

dostawcami us ug 178u ytkownikami 163

WebForms 17bezpiecze stwo aplikacji 152integracja komponentoacutew z MVC 367kontrolka Repeater 434obs uga wyj tkoacutew 172przetwarzanie dania aplikacji klienckiej 18separacja modelu 427weryfikacja poprawno ci projektu 434

weryfikacjakodu pocztowego 81to samo ci 151

widok 16 25 30aplikacji

MVC4 453przystosowanie do urz dze mobilnych

459Transakcje 326

cz ciowy 30dodawanie 31edycji klienta 307elementy 31formularz

dodawania wpisu 425logowania 203

kontroleraaplikacja Kadry 58panelu administracyjnego 222

kontrolera AdminController 213kontrolera Dopasowania 77kontrolera ErrorControler 174kontrolera Glosowania 103kontrolera Home 131 169 182 307

metodaWyswietlLog 142Raport 375Transakcje 320

kontrolera HomeController 246AsynchronicznyKontroler 468EksportDanych 417

kontrolera Lista 93kontrolera Mapa 33 34

formularz 70Trasa 50

kreatorakonta u ytkownika 205zmiany has a 206

listyklientoacutew 302pracownikoacutew 61wyznaczonych tras 48zamoacutewie 316

mapyod wie enie 108parametryzacja 34

mechanizm przetwarzania 30modyfikowanie formularza 437obs uga wyj tkoacutew 130Pracownicycshtml 453projektowanie 31transfer danych do kontrolera 36typu CRUD 52

Kup książkę Poleć książkę

Skorowidz 541

typu GridViewimplementacja 48

typy plikoacutew 30utworzenie 30uzupe nianie tre ci 33walidacja 435wi zanie z modelem 437wstawianie rekordoacutew 312wynikoacutew ankiety 105wy wietlanie wpisoacutew 432

wielodziedziczenie 360Windows Authentication Provider 149Windows Data Protection API 187Windows Forms

implementacja klienta 483Windows Live ID 149w a ciwo

ConnectionString 243IsMobileDevice 460ModelStateIsValid 47

wstawianie rekordoacutew 299wstrzykni cie kodu 181 185wykresy 406

konfiguracjaserii danych 407typu 407

pobranie danych roacuted owych 408wy czenie aplikacji 171wyra enia lambda 46wyra enia regularne 73

atrybuty modelu 84liczba wyst pie sk adnikoacutew 76wzorzec

adres URL 83imi e skie 81kod pocztowy 80tworzenie 76

znaki i cyfry 74znaki specjalne 74znaki w wyznaczonych miejscach a cucha 75

wzorzecodnajdywanie

znakoacutew i cyfr 74znakoacutew specjalnych 74znakoacutew w wyznaczonych miejscach

a cucha 75okre lanie

liczby wyst pie znakoacutew 76

XXSS 181

Zzabezpieczenia

aplikacji bazodanowych 335ataki XSS 187informacje o b dach 171kodu po redniego 338konfiguracja 161konfiguracja aplikacji

kreatory 162obs uga wyj tkoacutew 171pliku konfiguracyjnego 167 187przed atakami 148ustawienia aplikacji 167witryny 181zarz dzanie dostawcami us ug 178z o liwy kod 181

zarz dzanieu ytkownikami i grupami 211

dost p do panelu administracyjnego 216lista grup 221podzia na grupy 220pobieranie listy 213tworzenie nowej grupy 222zmiana przynale no ci do grupy 215

z o ono ci aplikacji 16zdarzenie

DataGridViewCellDoubleClick 491rejestrowanie 430

z o liwy koddzia anie 181

znacznikinput 288

znaki specjalneodnajdywanie 74

zwi zanie z modelem 48zwi zek 347

danie 25asynchroniczna obs uga 92 466 470

skrypty 318zadania 473

GET 64POST 64przetwarzanie 127zablokowanie obs ugi 124

Kup książkę Poleć książkę

Notatki

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 309

HtmlLabelFor(model =gt modelRegion) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRegion) HtmlValidationMessageFor(model =gt modelRegion) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPostalCode) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPostalCode) HtmlValidationMessageFor(model =gt modelPostalCode) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCountry) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCountry) HtmlValidationMessageFor(model =gt modelCountry) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPhone) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPhone) HtmlValidationMessageFor(model =gt modelPhone) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelFax) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelFax) HtmlValidationMessageFor(model =gt modelFax) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRowError) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRowError) HtmlValidationMessageFor(model =gt modelRowError) ltdivgt

ltpgt ltinput type=submit value=SaveZapisz gt ltpgt ltfieldsetgt

ltdivgt HtmlActionLink(Back to List Index) HtmlActionLink(Powroacutet do listy rekordow ScaffoldingList)ltdivgt

Kup książkę Poleć książkę

310 Cz II Technologie bazodanowe w aplikacjach internetowych

3 W kontrolerze Home zdefiniuj metody z listingu 185

Listing 185 Edycja danych klienta

public ActionResult ScaffoldingEdit(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id)

if (cdr = null) return View(ScaffoldingEdit cdr) else return ScaffoldingList()

private void PrzepiszDaneKlienta(FormCollection daneKlienta refNorthwindDataSetCustomersRow rekordKlienta)

rekordKlientaCompanyName = daneKlienta[CompanyName]ToString() rekordKlientaContactName = daneKlienta[ContactName]ToString() rekordKlientaContactTitle = daneKlienta[ContactTitle]ToString() rekordKlientaAddress = daneKlienta[Address]ToString() rekordKlientaCity = daneKlienta[City]ToString()

public ActionResult EdytujDaneKlienta(FormCollection daneKlienta string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) if (cdr = null) PrzepiszDaneKlienta(daneKlienta ref cdr) AktualizujDaneKlientow() return ScaffoldingList()

Proces edycji rekordu w bazie danych za pomoc technologii ADONET opiera si nainformacjach zebranych w poprzednich rozdzia ach wi c nie b d go tu szczegoacute owoopisywa Celem tego przyk adu by o automatyczne wygenerowanie widoku umo li-wiaj cego edycj danych klienta przystosowanie go do w asnych potrzeb oraz inte-gracja z kontrolerem

Separacja modelu widoku i kontrolera umo liwia narz dziom Visual Studio 2012 auto-matyczne generowanie widoku na podstawie definicji modelu Jednak e jak pokaza-em w tym podrozdziale kreator tworzy widok ktoacutery umo liwia edycj wszystkich poacutel

rekordu (nawet identyfikatora) co sprawia e w wi kszo ci przypadkoacutew nale y sa-modzielnie edytowa plik widoku w celu przystosowania go do potrzeb projektowanejaplikacji Jednak jak pokazuje powy szy przyk ad nie jest to rzecz skomplikowan

Integracja widoku z kontrolerem polega na odpowiednim przekazywaniu informacjio edytowanym rekordzie oraz warto ci jego poacutel Do tego celu wykorzysta em identy-fikator klienta ktoacutery jednoznacznie identyfikuje rekordy w tabeli Customers

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 311

Przyk adowy wynik polece zaimplementowanych w tym podrozdziale przedstawiarysunek 185

Rysunek 185Edycja danych klienta

Tworzenie rekordoacutewW poprzednich podrozdzia ach zaimplementowa em trzy spo roacuted czterech podstawo-wych elementoacutew schematu CRUD czyli odczytywanie (R) aktualizacj (U) oraz usu-wanie (D) rekordoacutew Ostatnim elementem jest tworzenie (C) nowych rekordoacutew W celuzaimplementowania procedury uzupe niania tabeli Customers nowymi rekordami na-le y post pi nast puj co

1 W Solution Explorer rozwi w ze Views a nast pnie kliknij prawymprzyciskiem myszy folder Home

2 Wybierz opcj Add a nast pnie Viewhellip z menu kontekstowego

3 W kreatorze Add View

a) Zmie nazw widoku na ScaffoldingCreate

b) Zaznacz pole wyboru Create a strongly-typed view

c) Z listy dost pnych modeli wybierz pozycj CustomersRow

d) Z listy rozwijanej Scaffold template wybierz Create

e) Kliknij przycisk Add

4 Utworzony w ten sposoacuteb plik ScaffoldingCreatecshtml zmodyfikuj wed ugwzoru z listingu 186

Kup książkę Poleć książkę

312 Cz II Technologie bazodanowe w aplikacjach internetowych

Listing 186 Widok umo liwiaj cy wstawianie rekordoacutew do tabeli Customers

model NorthwindMVCModelsNorthwindDataSetCustomersRow

ViewBagTitle = ScaffoldingCreate

lth2gtScaffoldingCreatelth2gtlth2gtTworzenie rekordulth2gt

ltscript src=UrlContent(~Scriptsjqueryvalidateminjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~Scriptsjqueryvalidateunobtrusiveminjs)type=textjavascriptgtltscriptgt

using (HtmlBeginForm(DodajKlienta Home)) HtmlValidationSummary(true) ltfieldsetgt ltlegendgtDane klientaCustomersRowltlegendgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCustomerID) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCustomerID) HtmlValidationMessageFor(model =gt modelCustomerID) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCompanyName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCompanyName) HtmlValidationMessageFor(model =gt modelCompanyName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactName) HtmlValidationMessageFor(model =gt modelContactName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactTitle) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactTitle) HtmlValidationMessageFor(model =gt modelContactTitle) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelAddress) ltdivgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 313

ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelAddress) HtmlValidationMessageFor(model =gt modelAddress) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCity) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCity) HtmlValidationMessageFor(model =gt modelCity) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRegion) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRegion) HtmlValidationMessageFor(model =gt modelRegion) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPostalCode) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPostalCode) HtmlValidationMessageFor(model =gt modelPostalCode) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCountry) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCountry) HtmlValidationMessageFor(model =gt modelCountry) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPhone) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPhone) HtmlValidationMessageFor(model =gt modelPhone) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelFax) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelFax) HtmlValidationMessageFor(model =gt modelFax) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRowError) ltdivgt ltdiv class=editor-fieldgt

Kup książkę Poleć książkę

314 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlEditorFor(model =gt modelRowError) HtmlValidationMessageFor(model =gt modelRowError) ltdivgt

ltpgt ltinput type=submit value=CreateUtwoacuterz gt ltpgt ltfieldsetgt

ltdivgt HtmlActionLink(Back to List Index) HtmlActionLink(Powroacutet do listy ScaffoldingList)ltdivgt

5 Definicj kontrolera Home uzupe nij o polecenia z listingu 187

Listing 187 Wstawianie rekordoacutew do tabeli Customers

private char PobierzZnak(string lancuch int index) Random random = new Random() char znak

if (lancuchLength gt index) znak = lancuch[index] else znak = (char)randomNext(0 255)ToString()[0]

return znak

private void UtworzIdentyfikatorKlienta(ref NorthwindDataSetCustomersRowdaneKlienta)

string identyfikator = int indexZnaku = 0

identyfikator += PobierzZnak(daneKlientaCompanyName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactTitle indexZnaku) identyfikator += PobierzZnak(daneKlientaAddress indexZnaku) identyfikator += PobierzZnak(daneKlientaCity indexZnaku)

daneKlientaCustomerID = identyfikator

public ActionResult DodajKlienta(FormCollection daneKlienta string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersNewCustomersRow()

PrzepiszDaneKlienta(daneKlienta ref cdr)

UtworzIdentyfikatorKlienta(ref cdr)

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 315

customersTableAdapterInsert(cdrCustomerID cdrCompanyName cdrContactName cdrContactTitle cdrAddress cdrCity )

AktualizujDaneKlientow()

return ScaffoldingList()

Wstawienie rekordoacutew do tabeli Customers jest analogiczne do ich edycji Jedyn roacute -nic jest konieczno utworzenia identyfikatora klienta gdy nie jest on tworzonyautomatycznie jak to by o w przypadku tabeli Employees Identyfikatory rekordoacuteww tabeli Customers s pi cioelementowymi ci gami znakoacutew Tworz je na podstawiepierwszych liter poacutel CompanyName ContactName ContactTitle Address oraz City Je liw tych polach znajduj si puste ci gi to odpowiedni liter zast puj losowo wyge-nerowanym znakiem

W kolejnym podrozdziale poka w jaki sposoacuteb wy wietli informacje o rekordachpotomnych opieraj c si na relacji pomi dzy tabelami

Formularz z podformularzem(MasterDetail Form)

Jako podsumowanie tego rozdzia u utworz formularz z podformularzem tak zwanyformularz MasterDetail Jego dzia anie polega na tym e wy wietlanie danych od-bywa si na bazie co najmniej dwoacutech komponentoacutew (np blokoacutew czy tabel) oraz rela-cji mi dzy tabelami Pierwszy komponent prezentuje rekordy zawarte w tabeli g oacutew-nej (ang master) a drugi zawiera dane z tabeli podrz dnej (ang detail) Komponentzwi zany z tabel podrz dn ma zazwyczaj za zadanie prezentowa szczegoacute owe da-ne odpowiadaj ce rekordowi z tabeli nadrz dnej ktoacutery zosta wskazany przy pomocyzwi zanej z nim listy rekordoacutew Pola tych tabel musz by zatem uporz dkowane w takisposoacuteb aby pokazywa y informacj o tym samym rekordzie Uzyskuje si to przy po-mocy relacji mi dzy tabelami ktoacuterej zadaniem jest powi zanie informacji zawartychw bazie danych

W tym podrozdziale tabel nadrz dn b dzie tabela Customers a podrz dn OrdersPo klikni ciu na hiper cze z etykiet zamoacutewienia wy wietli si lista rekordoacutew tabeliOrders skojarzonych z danym klientem dania prezentacji zamoacutewie b d realizo-wane asynchronicznie

1 Plik widoku ScaffoldingListcshtml zmodyfikuj wed ug wzoru z listingu 188

Listing 188 Konfiguracja hiper cza umo liwiaj cego wy wietlenie listy zamoacutewie danego klienta

hellipforeach (var item in Model) lttrgt lttdgt

Kup książkę Poleć książkę

316 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlDisplayFor(modelItem =gt itemCustomerID) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCompanyName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactTitle) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemAddress) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCity) lttdgt lttdgt HtmlActionLink(Edytuj ScaffoldingEdit new id = itemCustomerID ) | AjaxActionLink(Zamoacutewienia ScaffoldingMasterDetail new id = itemCustomerID new AjaxOptions UpdateTargetId = zamowienia OnSuccess = documentgetElementById(zamowienia)scrollIntoView() ) | HtmlActionLink(Usu ScaffoldingDelete new id = itemCustomerID ) lttdgt lttrgtlttablegt

ltdiv id=zamowieniagtltdivgt

2 Utwoacuterz widok cz ciowy o nazwie ZamowieniaPartialViewcshtml i wstaww nim polecenia z listingu 189

Listing 189 Definicja widoku prezentuj cego list zamoacutewie

model IEnumerableltNorthwindMVCModelsNorthwindDataSetOrdersRowgt

if (Model == null) lth2gtBrak zamoacutewie lth2gtelse lth2gtLista zamoacutewie lth2gt

lttablegt lttrgt ltthgt OrderDate ltthgt ltthgt RequiredDate ltthgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 317

ltthgt ShippedDate ltthgt ltthgt ShipName ltthgt ltthgt ShipAddress ltthgt ltthgt ShipCity ltthgt ltthgtltthgt lttrgt

foreach (var item in Model) lttrgt lttdgt itemOrderDateToShortDateString() lttdgt lttdgt itemRequiredDateToShortDateString() lttdgt lttdgt itemShippedDateToShortDateString() lttdgt lttdgt itemShipName lttdgt lttdgt itemShipAddress lttdgt lttdgt itemShipCity lttdgt lttrgt lttablegt

3 Kontroler Home uzupe nij o metod ScaffoldingMasterDetail ktoacuterej definicjprzedstawi em na listingu 1810

Listing 1810 Pobranie i prezentacja rekordoacutew potomnych wybranego klienta

public ActionResult ScaffoldingMasterDetail(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) NorthwindDataSetOrdersRow[] zamowieniaPracownika = null

if (cdr = null) zamowieniaPracownika = (NorthwindDataSetOrdersRow[])cdrGetChildRows(FK_Orders_Customers)

Kup książkę Poleć książkę

318 Cz II Technologie bazodanowe w aplikacjach internetowych

if (RequestIsAjaxRequest()) return View(ZamowieniaPartialView zamowieniaPracownika) else return ScaffoldingList()

4 Sekcj ltheadgt pliku _Layoutcshtml uzupe nij o polecenia z listingu 1811

Listing 1811 Import skryptoacutew obs uguj cych dania asynchroniczne

ltscript src=UrlContent(~Scriptsjqueryunobtrusive-ajaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftAjaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftMvcAjaxjs)type=textjavascriptgtltscriptgt

5 Po skompilowaniu i uruchomieniu aplikacji powiniene uzyska efektanalogiczny do przedstawionego na rysunku 186

Rysunek 186 Przyk ad formularza typu MasterDetail

Kup książkę Poleć książkę

Skorowidz

AACL 149action methods 25ActiveX Data Object 238ADO 238ADONET 238

obiekty 238podstawy 237synchronizacja buforu ze roacuted em danych 273

adresy URLautoryzacja 157parametry 122trasowanie 121wzorce 122 123

agile programming 15AJAX 91

aktualizacja bloku witryny 113dodanie referencji do bibliotek JavaScript 94

akcjaCreate 354Delete 357Details 353dodaj ca nowy produkt 355Edit 356

aktualizacjazawarto ci elementu witryny 92

algorytmRSA 187

ambient transaction 329ankieta 102AntiXss 187aplikacje

bazodanowe 235bezpiecze stwo 335mechanizm transakcji 319scaffolding 301

synchronizacja ze roacuted em danych 273uwagi do projektowania 345

mo liwo edytowania wpisoacutew 441rejestrowanie zdarze i trasowanie 430

Application Domain 339architektura obiektowa 347ASPNET

konfiguracja aplikacji 161mechanizmy uwierzytelnienia 149metody globalne 107w czanie i wy czanie aplikacji 171

ASPNET AJAX 91ASPNET MVC 15

komponenty 16ASPX 21 30asynchroniczne przetwarzanie da http

jQuery 113Asynchronous JavaScript and XML 48Asynchronous Programming Model 464ataki

rodzaje 147SQL Injection 148 344wy udzenie informacji 148z o liwy kod 181

atrybut 347AcceptVerbs(HttpPost) 47AcceptVerbs(HttpVerbsPost) 65AssociationAttribute 58Authorize 200AuthorizeAttribute 128autoryzacyjny 145ConcurrencyCheckAttribute 58Confirm 95cookieless 154CustomValidationAttribute 58 66data-bind 230DataType 54 57

Kup książkę Poleć książkę

528 ASPNET MVC

atrybutDataTypeAttribute 58defaultRedirect 173defaultUrl 154DisplayAttribute 58DisplayColumnAttribute 58DisplayName 436EditableAttribute 58enableCrossAppRedirects 155EnumDataTypeAttribute 58FilterUIHintAttribute 58HandleError 138 175HandleErrorAttribute 129HttpMethod 95InsertionMode 95KeyAttribute 58klasy do konfiguracji metadanych 57 58LoadingElementDuration 110LoadingElementId 95 110Log

klasa implementuj ca 142loginUrl 154MetadataType 69MetadataTypeAttribute 58mode 153 173modelu 55name 155NonAction 26 135OnBegin 95OnComplete 95OnFailure 95OnSuccess 95 110OutputCache 133OutputCacheAttribute

parametry 134passwordFormat 156protection 155Range 54 66RangeAttribute 58redirectMode 173RegularExpressionAttribute 58Required 54 66RequiredAttribute 58RequireHttps 135requireSSL 155slidingExpiration 155StringLength 66StringLengthAttribute 58TestClass 29TestMethod 29ticketCompatibilityMode 155timeout 155TimestampAttribute 58UpdateTargetId 95

Url 95ValidateInput 185

atrybuty modeluwyra enia regularne 84

Attribute 347authentication ticket 151auto post back 217autocomplete textbox 115automatyczne uzupe nienie pola tekstowego 115autoryzacja 149 157

adresoacutew URL 157konfiguracja 157

grupy u ytkownikoacutew 158mechanizm filtrowania 158otwarta 460plikoacutew 157zdalna

powi zanie z portalem Facebook 461Azure 496

Bbazy danych 40 237

aktualizacja 41lista rekordoacutew 301Northwind 240

detale produktu 352dodawanie po cze 350pobieranie produktoacutew 351

po czenie ze roacuted em danych 241relacyjne 237schemat CRUD 301transakcje 319tworzenie 321

nowego rekordu 48schematu na bazie modelu encji 357

usuwanie danych 290regu y integralno ci 293

usuwanie powi zanych wierszyrekordy potomne 291

warstwa dost pu 42bezpiecze stwo

aplikacji internetowych 147ataki 147mechanizmy 149

biblioteka NETprogramowanie asynchroniczne 464

biblioteka skryptoacutewMapajs 32

bilet uwierzytelniaj cy 151b dy

dzia ania aplikacji 171strona b du 176tworzenie u ytkownika 202wprowadzenie z ego rekordu 268

Kup książkę Poleć książkę

Skorowidz 529

body 383buforowanie

danych ze roacutede zewn trznych 133bundling 475Business Intelligence 368

Ccallback 35CAS 151 338CDN 113Central Authentication Service 151centralna us uga uwierzytelnienia 151certyfikat 337CLR

procesy systemowe 466Code Access Security 338Confirm 96connString 341controllers 16Coordinated Universal Time 155Create Read Update Delete 301cross-site scripting 181CRUD 54 301Crystal Reports 368

Ddane

agregacja 378bezpo redni dost p do roacuted a 346eksport 413

do dokumentu tekstowego 419do PDF 420skoroszyt MS Excel 421tabele dynamiczne 418

integralno 288 319pomini cie sprawdzania 292regu y 291

modyfikacja 249platforma modelowania 347prezentacja

graficzna 406w postaci macierzowej 390

przekazywaniez formularza do roacuted a 46z kontrolera do widoku 437 439

serializacja i transfer struktur 117szyfrowanie 337typu

ActionResult 25walidacja 53weryfikacja 53wi zy integralno ci 306

wy wietlanie 315zabezpieczenie 338

Data Binding 389Data Definition Language 345Database Management System 237DBMS 237

wi zy integralno ci 238DDL 345denial of service 147detail 315Development Server 504DIE 53DisplayFormatAttribute 58document object model 92DOM 92domena aplikacji 339 466

instancja obiektoacutew 341tworzenie 339wspoacute dzielenie obiektu 341

dostawcy us ug 178dost p anonimowy 150DotNetOpenAuth 149DPAPI 187DRY 53dyrektywa

model 46

Eelement

customErrors 173success 115

elevation of privilege 147encapsulation 107encja 347

atrybuty 54bazodanowa 54KategoriaProduktu 358odwzorowanie w bazie danych 360Order_Details 362Orders 361Products 361Produkt 358

Entity 347Entity Framework 43 347

POCO 360potwierdzenie explicite 356technologie 349wersje 347

Entity Relationship Model 347Entity SQL 349ERM 347Event-based Asynchronous Pattern 465event-driven programming 17

Kup książkę Poleć książkę

530 ASPNET MVC

FFile Transfer Protocol 495filtry 127

akcji 127 139autoryzacyjne 127 144dynamiczne 395kolejno wykonywania 137

priorytety 138Log

metody 141LogAttribute

definicja klasy 140podstawowe atrybuty 128statyczne 395w asne 139wyj tkoacutew 128 144

niestandardowe 145wyniku 128 144

for 434foreach 51Forms Authentication Provider 149formularz

MasterDetail 315z podformularzem 315

funkcjadelay 217ListaPracownikoacutew 57Mid 390RolesIsUserInRole 217Today 390wyznaczaj ca tras 109zmienPrzynaleznoscDoGrupy 217 218

GGauge 383 403GDI 368graficzny interfejs u ytkownika 17 30Graphics Device Interface 368GridView 48grupy u ytkownikoacutew

autoryzacja 158GUI 17

Hhard-coding 167haszowanie 150helper methods 25html helper 455

Iidentyfikator

klienta 315rekordoacutew 315

IIS 121 149 495instalacja

ASPNET 445 498serwera w Windows 7 496serwera w Windows 8 496

mened er Windows 499uruchamianie aplikacji 503

serwer do rozwoju aplikacji 504information disclosure 147instancje aplikacji 465instancjonowanie modelu 39IntelliSense 247interfejs u ytkownika

przycisk umo liwiaj cy dodanie pracownika294

przycisk usuni cia wybranego rekordu 289Internet Information Services 121internetowe us ugi informacyjne 495in ynieria spo eczna 148Isolation Level 332izolacja 339 466

JJavaScript Object Notation 117jQM 457jQuery

autocomplete 116pliki roacuted owe 113

jQuery Mobile 457jQuery UI 367

wykorzystanie przyciskoacutew 284JSON 117

obiekt typu adres 118

KKey Performance Indicators 403klasa

AccountController 198ActionExecutingContext 143AdminController 212Ajax 94AjaxOptions 94

atrybuty 95AspNetHidden 442AssemblyName 170Assert 29

Kup książkę Poleć książkę

Skorowidz 531

AuthConfig 461BundleConfig 475Configuration 170ConfigurationManager 170ConfigurationSection 187 188ConnectionStringBuilder 345DpapiProtectedConfigurationProvider 187FiltryRaportuMacierzowego 397Form1 484FormsAuthentication 152Global 430HandleErrorInfo 133HtmlHelper 437HttpClient 483 486HttpResponseMessage 486kontekstu 362LogOnModel 198MarshallByRefObject 341Membership 152 198 211MvcApplication 430NorthwindContext 362ObjectContext 348ObjectQueryltTgt 348Order_Details 362Orders 361Osoba 228ParametryWatku 470Pracownik 484Products 361Produkt 230Raport 392RequestBrowser 460ResultExecutedContext 144ResultExecutingContext 144Roles 211RsaProtectedConfigurationProvider 187SQLConnCAS

definicja 340stowarzyszona z modelem 69SystemNetHttpFormattingJsonMediaTypeF

ormatter 491SystemTextRegularExpressions 74SystemWebSecurityRoles 159Task 465 472testuj ca 29Thread 465 469TransactionScope 327UrlRoutingModule 121ViewData 434 436 439WebApiConfig 478WebConfigurationManager 170Wpisy 427 436

klucze 237MAC 155obce 238podstawowe 238

kluczowe wska niki efektywno ci 403dynamiczna zmiana warto ci 404

Knockout 227wykorzystanie szablonoacutew JavaScript 230wywo anie skryptu 229

kodowanie danychprzekazywanych przez u ytkownikoacutew 186

komponentFormDanePracownika 489obiektu

PartialView 99typu ListBox 99

ReportViewer 368 375eksport danych 413nawigacja mi dzy stronami raportu 377

komponenty u ytkownika 30komunikaty o b dach 171

kod statusowy 174 175koncepcja programowania zdarzeniowego 16konfiguracja

po czenia z baz danych 241uprawnie puli aplikacji 454walidacji danych 66

konkurencyjno aplikacji 332kontekst wi zania 389kontrola wprowadzanych danych 263

metoda onColumnChanged 269wstrzymanie walidacji wiersza 267zako czenie edycji rekordu 267

wymuszenie 267kontroler 16 25

AccountController 195Admin 223AdminController 212aplikacja Kardy 63asynchroniczny 466

a zadania 472dane wyj ciowe 25domeny 150ErrorController 174Glosowania 103Home 182 224 228 231

Bezpiecze stwo 336filtr wyj tku 131

HomeController 184EksportDanych 415Northwind 245

interfejs Web API 477KsiegaGosciController 424

Kup książkę Poleć książkę

532 ASPNET MVC

kontrolerLista 93Mapa 33

autouzupe nianie 117modyfikacja 45

niedost pne metody publiczne 136obs uga POST 431panelu administracyjnego 212

zarz dzanie grupami u ytkownikoacutew 220Pracownicy 57 64PracownicyController

implementacja 481Produkty 351projektowanie 27przekazywanie danych do widoku

zmiany 439uwierzytelnienia 195

klasa 198model 196widoki 203

uzupe nienie o widok 31u ycie modelu odsy anego przez widok 440ValuesController 478weryfikacja funkcjonalno ci 28wi zanie adresu URL z akcj 430widoki 58

konwersja obrazu 278kreator

Add New Item 242Add View 59 302Application 162blokowania szczegoacute oacutew b doacutew 172dodanie u ytkownikoacutew 164grup u ytkownikoacutew 165Provider 162Publish Web 501Security 162tworzenia pracownika 59ustawie aplikacji 167widokoacutew 60wyboacuter dostawcoacutew us ug 178

kwerendy parametryczne 274 401

Llayout witryny 30LINQ

to Entities 349lista rekordoacutew 301

prezentacja 304logika

aplikacji 30bazodanowa 30biznesowa 44

a cuch QueryString 26

Mmaster 315mechanizm

automatycznych w a ciwo ci 57autoryzacji 157eksportu danych 413filtroacutew 127grupowania plikoacutew 475IntelliSense 119QuerynotString 117szyfruj cy 187transakcji 319 321

przelewy bankowe 326wyznaczania trasy przejzdu 34

meotdaInsert 299ProtectSection 191WersjonowanieDataRow

definicja widoku 265message authentication code 155metoda

on 262HtmlValidationSummary 204About 124AcceptChanges 255 263ActionLinkActionLink 61 63 353AddUserToRole 159akcji 25

parametry opcjonalne 27aktualizacja statystyk ankiety 105AktualizujZdjeciePracownika 288Application_AuthenticateRequest 108Application_BeginRequest 107 108Application_End 108Application_EndRequest 107Application_Error 108 172Application_Start 108 123 139 430asynchroniczna kontrolera 472AttachTo 356Authenticate 152AutoUzupelnienie 117

zapytanie LINQ 118BeginEdit 267BeginForm 47 94BeginTransaction 326 332CancelEdit 263ChangeObjectState 356

Kup książkę Poleć książkę

Skorowidz 533

ChangePassword 200hiper cze 208widok 206

ChangePasswordSuccesswidok 206

CreateNazwaEncji 354CreateRole 159CreateUser 153czyBazaDanychIstnieje 326daneDostawcyForm 262DBeginnotEdit 263Delete 270DeleteObject 357DeleteRole 159DeleteUser 153DeszyfrujPlikKonfiguracyjny 191DodajDostawce 255DodajElementDoListy 94 97 101DodajGrupe 223DodajKomentarz 185DodajPracownika 299 491DopiszDoPlikuLog 430Edit 356EdytujDaneDostawcy 261EdytujDanePracownika 493Eksportuj 418EmptyResult 26EndEdit 263EndForm 47ErrorCodeToString 201Fill 246FillByCityName 275FormatDateTime 390FormsAuthenticationSetCookie 199GenerujDane 468Get(int id) 478GetAllRoles 159GetAsync 486GetChildRecords 291GetSection 170GetSectionGroup 170GetUser 153GetUsersInRole 160globalna

aplikacji ASPNET 108Grupy 223HasVersion 263HtmlListBox 97HtmlRenderPartial 101HtmlValidationSummary 61HtmlHelperLabel 437ImiePierwszegoPracownika 246 247Include 475Index 47 79 97 101

kontrolera Mapa 34testowanie 28

IsAjaxRequest 101IsMatch 76IsNotNull 29IsUserInRole 159Label 35ListaDostawcow 252 255ListaPracownikow 248

hiper cze skojarzone 249LogOff 198LogOn 198Macierzowy 397mapowalna 26MetodaAsynchronicznaWatki 472ModelStateAddModelError 199MvcApplicationRegisterRoutes 430obs uga zapyta POST 431odczyt aktualnych bilansoacutew kont 323OdczytajStanyKont 326OnActionExecuted 143OnActionExecuting 127 143onColumnChanged 269OnResultExecuted 144OnResultExecuting 144onRowChanged 266onRowChanging 268OpenConfiguration 170otwarcie po czenia z baz danych 341OtworzPlikDanych 107Page_Load 399PartialViewResult 26PobierzDane 394

modyfikacja 401PobierzPlikLogu 141 143PobierzZdjecie 278PokazTrasy 51PokazWyniki 107pomocnicza 25 455

HtmlEncode 51wykorzystanie 456

PostAsJsonAsync 486PostAsXmlAsync 486PostAsync 486PostResolveRequestCache 121PracownicyWedlugMiast

przechowywanie warto ci filtru 285PutAsJsonAsync 493PutAsXmlAsync 493PutAsync 493ReadAsAsync 486ReadXml 107ReadXmlSchema 107RedirectFromLoginPage 152

Kup książkę Poleć książkę

534 ASPNET MVC

metodaRedirectResult 26RedirectToAction 26RedirectToLoginPage 152RedirectToRoute 26RedirectToRouteResult 26RefreshReport 384Register 199 478RegisterAuth 461 462RegisterBundles 475RegisterGlobalFilters 171RegisterRoutes 94 123RejectChanges 256 263rejestrowanie zdarze aplikacji 430RemoveUserFromRole 160Render 384 413 418RenderPartial 99ResponseWrite 223ResultExecuteResult 143RoleExists 159RolesIsUserInRole 216RolesRemoveUsersFromRole 223route 35RowsAdd 255RozpocznijEdycje 269

hiper cze uruchamiaj ce 267SaveChanges 354ScaffoldingMasterDetail 317Session_End 108Session_Start 108SetAuthCookie 152SetParameters 401 405SignOut 152SprawdzDopasowania 79SprawdzPoprawnoscDatyZatrudnienia 67SqlPermissionAdd 343SqlTransactionCommit 326SqlTransactionRollback 326StronaNieIstnieje 175submit 115SzyfrowaniePlikuKonfiguracyjnego 190szyfruj ca i deszyfruj ca 189SzyfrujPlikKonfiguracyjny 191TextBox 35ThreadSleep 469 472TransactionScopeComplete 329Transfer 36UpdateUser 153UstawParametryRaportu 399UsunGrupe 223UsunTrase 50 51UtworzPracownika 64Uzytkownicy 216ValidateUser 152 153

ValidationMessage 437ValidationMessageFor 61ValidationSummary 437ViewResult 26WebApiConfigRegister 478WersjonowanieDataRow 265

sparametryzowanie 266WpisyZapiszDoPlikuXml 430wykonywanie przelewoacutew 323WyswietlLog 141 142 143wyswietlMape 34 35WyswietlTrase 50

modyfikacja 135 166wyznaczTrase 35ZaktualizujWyniki 107Zapami tajNazw U ytkownika 432ZmienStanKont 328

Microsoft SQL Server 319sposoby uwierzytelnienia 344

MIME type 390minification 476minimalizacja 476model 16 39

APM 464ChangePasswordModel 196EAP 465integracja z elementami aplikacji 39LogOnModel 196obs uga plikoacutew XML 427przesy anie z kontrolera do widoku 432 435RegisterModel 196TAP 465

model binding 48model danych encji 348

dodawanie encji 353edycja encji 355kreator 348 349

czenie encji 359metody akcji 354opcje 361projektowanie relacji 43tworzenie 349

schematu bazy danych 357usuwanie encji 357wyboacuter tabel 350

model first 52model zwi zkoacutew encji 347models 16Model-View-Controller 15Model-View-ViewModel 227Model-Widok-Kontroler 15modu

UrlAuthorizationModule 157

Kup książkę Poleć książkę

Skorowidz 535

MVC 15a Web Forms 16 365 367 423

kod 442serwer internetowych us ug

informacyjnych 495wydajno 443wykorzystanie w projektach 444

ataki XSS 185autoryzacja 158 162bezpiecze stwo aplikacji 152buforowanie 134domy lne wzorce aplikacji 21kreator aplikacji 20mechanizm filtrowania 127Model Binder 355nazwa kontrolera 27obs uga interakcji klient-serwer 121parametry opcjonalne 27pobieranie parametru z adresu URL 26projektowanie aplikacji 18 52przetwarzanie dania aplikacji klienckiej 18sprawdzanie poprawno ci danych 68struktura modelu 39techniki walidacji danych 53utworzenie widoku 30uzupe nianie o komponenty graficzne 367walidacja 438wersja 4 449wyboacuter mechanizmu przetwarzaj cego widoki 21wzorce URL 122zbioacuter modeli szablonu aplikacji 196roacuted o danych 40

MVC4 449grupowanie i optymalizacja skryptoacutew 475kaskadowe arkuszye stylu 475przetwarzanie asynchroniczne 464przystosowanie do urz dze mobillnych 457testowanie aplikacji 457uwierzytelnianie 460

integracja z portalem Facebook 462wsparcie dla urz dze mobilnych 450zdalna autoryzacja 461

MVVM 227

Nnarz dzie

aspnet_regiis 187przetwarzanie tekstu 73

Northwindinstalacja 240kwerenda wybieraj ca 240pobieranie informacji o dostawcach 251

NuGET 483nullable-types 27

OOAuth 461obiekt

AppDomain 339 341Chart 406Command 239Connection 239 241

w a ciwo i 243ConnectionString 343

sposoby uwierzytelniania 344szyfrowanie informacji 335

DataAdapter 239DataGridView 491DataReader 239 273DataRow 255

kontrola wprowadzonych danych 263usuwanie rekordoacutew 270wersje 263wersja proponowana 265wersjonowanie 263w a ciwo ci 255

DataSet 239 244 345edycja rekordoacutew 257kreator konfiguracji TableAdapter 274modyfikacja danych 249tworzenie nowych rekordoacutew 250usuwanie rekordoacutew 271wstawianie rekordoacutew 251wymuszenie wi zoacutew integralno ci 292

DataTable 107DirectionsService 35dostawca 153FormCollection 47jqXHR 218List 389logiki biznesowej 348materializacja 348Matrix 390Membership 152MvcRouteHandler 121 122o okre lonym typie danych 244o silnej typizacji 244o s abej typizacji 247ObjectStateManager 348PartialView 98ReportViewer 368ReportViewerLocalReport 418Request 26 101 432Response 26Route 122ShippersRow 255SqlConnCAS 341SqlConnection 326

Kup książkę Poleć książkę

536 ASPNET MVC

obiektTableAdapter 239 244 273 274 345

edycja danych 279 286wstawianie danych 294

TransactionScope 329parametryzacja 331

typuadres 118AppDomain 466ConcurrentDictionary 479NorthwindDataSet 247ObjectSetltTgt 348Route 121Thread 466

UrlRoutingModule 121ViewBag 36

przekazywanie danych do widoku WebForms 376

ViewData 36 79 432Object Relational Mapping 347Object Services 348obs uga b doacutew

konfiguracja 132w czenie 129

odrzucenie informacji o transakcji 148od wie anie witryny

a fragment widoku 97aktualizacja zawarto ci 113cz ciowe 96

OnSuccess 96operator

await 474konkatenacji 382Top 411Top N 411

ORM 347

Pparametr

CountryName 401data 115filtr 117mapDivId 35maxIloscRekordow 117Order 137raportu 395scopeTimeOut 330

warto ci 330TransactionScopeOption

warto ci 329type 115

parametryzacja kwerend 274partial view 30

piaskownica 341Plain Old CLR Object 360platforma NET

us ugi uwierzytelniania 153plik

ascx 22aspx 22bmp 390cookie 151cookies 154 155cshtml 22 434css 475edmx 360jpg 390js 475konfiguracyjny

zabezpieczenie 187master 22png 390rdl 368rdlc 368tekstowy

wy wietlenie w przegl darce 143vbhtml 22

POCO 360pola klucza 237polecenie

HtmlEncode 187ScriptsRender 476StylesRender 476GET 18POST 18

po czenieze roacuted em danych 241

pomocnik HTML 455Portable Document Format 413po rednik 341poziom izolacji 332

Chaos 333konfiguracja 332ReadCommitted 333ReadUncommitted 333Serializable 333Snapshot 333Unspecified 333

poziom zaufania 339ograniczenie 340

proceduraajax 115AjaxBeginForm 96niemapowalna 26PartialView 26serialize 115

Kup książkę Poleć książkę

Skorowidz 537

proces 465programowanie

oparte na zdarzeniach 17zdarzeniowe 17

projekt aplikacji MVCankieta 102asynchroniczne przetwarzanie da HTTP 92Bezpiecze stwo 181 336

nawi zanie komunikacji ze roacuted emdanych 342

szyfrowanie pliku konfiguracyjnego 191dodawanie i wy wietlanie komentarzy 183domy lny 20EksportDanych 413Filtry 131formularz oceny 107Kadry

walidacja adresu e-mail 84Kardy 55KsiegaGosci_MVC3 424lista prezentuj ca dodawane elementy 97MojaNawigacja 18

blokowanie samodzielnego tworzeniakont 224

buforowanie danych 135implementacja warstwy dost pu 42instalacja na serwerze IIS 500komunikat powitalny 168komunikaty 110komunikaty o b dach 173mechanizm podpowiedzi 115model weryfikuj cy po wiadczenia

u ytkownikoacutew 196modele kontrolera uwierzytelnienia 196od wie enie widoku mapy 109struktura 21szablon 19szablon witryny 225trasowanie da HTTP 123uzupe nienie o baz danych 40uzupe nienie o walidacj danych 69widok b du 175zablokowanie nieautoryzowanego

dost pu 128zarz dzanie u ytkownikami 163zarz dzanie grupami u ytkownikoacutew 212zarz dzanie procesem logowania 198

MsAjax 92NorthwindMVC 241

lista rekordoacutew 301szablon witryny 250

POCO 361priorytety regu filtrowania 137

Raport 368szablon

mechanizmy uwierzytelnienia 156zarz dzanie grupami u ytkownikoacutew 159

Transakcje 319aktualizacja danych 328formularz aktualizacji 328szablon stron 320

uzupe nianie widokiem GridView 49WyrazeniaRegularne 76Zapytania_EF 349

projekt aplikacji MVC4AsynchronicznyKontroler 466

prezentacja danych 468AutoryzacjaOAuth 461implementacja serwisu sieciowego 479konfiguracja grupowania 475MobileMvc 450

testowanie 457pobranie zdj cia 452przygotowanie listy pracownikoacutew 452SerwisSieciowy 477

projekt aplikacji Windows Formsedycja danych 487KlientWebAPI 483tworzenie nowych pracownikoacutew 486

dania typuDELETE 493POST 486PUT 491

projektowaniekontrolera 27widoku 31

protokoacuteFTP 495Kerberos 150NTLM 150SMTP 495SSL 337

proxy 341przechowywanie

informacji o trasach 44wynikoacutew g osowania 107

przeci enie aplikacji 147przekazywanie

danych 44mi dzy widokiem a kontrolerem 36

parametroacutew do metod akcji kontrolera 26przestrze nazw

SystemThreading 465przyjazne linki 122publikowanie aplikacji 495 500

na serwerze IIS 497

Kup książkę Poleć książkę

538 ASPNET MVC

pule aplikacji 465 497konfiguracja 498Windows 7 499Windows 8 500

Rraporty

dane w postaci macierzowej 390data 386definicja

dynamiczna 418filtrowanie danych 394

na poziomie roacuted a 401 418filtry 395formaty prezentacji danych 379grupowanie danych 381hiper cza 387

nawigacyjne 376kolumny obliczeniowe 378konfiguracja

filtrowania dynamicznego 396typu 392roacuted a danych 368

kreator formu 382macierzowe 391numery stron 386obrazy 390parametry 383 394

konfiguracja 399paski narz dziowe 379pola

bazy danych 386formularza 398raportu 390

po czenie z aplikacj 368prezentowanie uk adu graficznego 383projektowanie 371

i prezentowanie 368przystosowanie strony do obs ugi raportoacutew

387renderowanie 368tryby definicji 368tworzenie

definicji lokalnej 368formu 378przy u yciu kreatora 372

uk ad 383wstawianie nag oacutewka i stopki 385wykresy 406wy wietlenie 375

Razor 21 30przetwarzanie definicji widoku 208

RDL 418rekordy

edycja 307lista 301tworzenie 311usuwanie 305

Relationship 347Report Definition Language 418Report Wizard 371repudiation 148request 442response 442responsywno 464rollback transaction 319routing 22 430routowanie 121

SSandBox 341scaffolding 301Secure Socket Layer 337sekcja

membership 178roleManager 179set 441

serwerSMTP

konfiguracja 171us ug informacyjnych 149

weryfikacja to samo ci u ytkownika 149Simple Mail Transfer Protocol 495s owo kluczowe

helper 455await 474using 47 329

spaghetti code 18spoofing 147SQL Server Reporting Services 367SSRS 367stan pola

typu CheckBox 269pobieranie 264

STRIDE 148strona startowa

MojaNawigacja 226strona wzorcowa 30

aplikacji Kadry 55referencja do bibliotek skryptoacutew 70

systemowy serwer us ug informacyjnych 121szyfrowanie po czenia 335

ze roacuted em danych 336

Kup książkę Poleć książkę

Skorowidz 539

Ttabela danych

Categories 418Customers 305deklaracje kaskadowych arkuszy stylu 275edycja

danych 279danych w wierszu 257rekordoacutew 307 310

Employees 240 288filtrowanie listy 275integralno danych 288Konta 321 326kwerenda wybieraj ca 240Orders 291 315OrdersDetails 307pobieranie fotografii 276pobranie danych z wykorzystaniem JScript 280prezentacja

danych 277 325informacji 252listy danych 248pierwszego rekordu 246rekordoacutew 317

przekazanie do widoku 248Shippers 251tworzenie rekordoacutew 311umieszczenie w bazie danych 321uruchomienie edycji danych 258usuwanie

danych 288rekordoacutew 271 305 306

widok b du 268wstawianie

danych 294rekordoacutew 251

wy wietlenie listykonfiguracja hiper cza 315

zako czenie edycji rekordu 267tablica asocjacyjna 479tablica bajtoacutew

konwersja do bitmapy 277tampering 147task pane 371Task-based Asynchronous Pattern 465TDD 15

test jednostkowy funkcjonalno ci kontrolera28

Test-Driven Development 15testowanie

aplikacji 29wzorcoacutew wyra e regularnych 76 78

Toolbox 274

transakcje 319automatyczne zarz dzanie 327otaczaj ce 329poziom izolacji 332tworzenie i r czna kontrola 319

trasowanie 121aplikacja 430blokowanie dost pu 124domy lne regu y 123Ksi gaGosci_MVC3 430w asne regu y 124

trasowanie adresoacutew URL 121T-SQL 319

czynno ci bazodanowe 345tworzenie

bazy danych 40interfejsu u ytkownika

jQM 459szablony 231wzorzec MVVM 227

u ytkownika 200kody b doacutew 201

widoku Index 231wzorcoacutew wyra e regularnych 76

typed DataSet 244typizacja

silna 46s aba 46

typy puste 27

Uujawnienie krytycznych informacji 147ukryte pola 441Uniform Resource Locator 18URL 18uruchomienie aplikacji 503us uga

AspNetSqlProvider 178ustawienia aplikacji 167

odczytanie z pliku konfiguracyjnego 169UTC 155uwierzytelnienie 149

centralny serwis 151certyfikaty 150formularze logowania 151

atrybuty elementu forms 154konfiguracja 153mechanizmy zintegrowane z ASPNET 149na bazie protoko u NTLM 150przekazywanie informacji 151proste 150skroacutecone 150us ugi systemu Windows 150

Kup książkę Poleć książkę

540 ASPNET MVC

Vvariable placeholders 122view engine 21views 16viewstate 442Visual Studio

kreator projektu 19Visual Studio Development Server 496VS 2012

instalacja 240kreator Add New Item 242

VSDS 496

Wwalidacja

adresue-mail 83URL 83WWW 84

danych 53a technologia Entity Framework 68konfiguracja 66modelu Pracownik 66odwo anenie do jQuery 61po stronie klienta 67wyra enia regularne 73

skrypty i style walidatoroacutew 438w asno ci klasy encji 435

w tek 465Web API 477

edycja danych 491klient 483konfiguracja interfejsu 478obs uga da typu POST 486pobranie danych z serwera 485serwis sieciowy 479usuwanie danych 493

web serwer 495Web Site Administration Tool 161

konfigurowanie uprawnie 165zarz dzanie

dostawcami us ug 178u ytkownikami 163

WebForms 17bezpiecze stwo aplikacji 152integracja komponentoacutew z MVC 367kontrolka Repeater 434obs uga wyj tkoacutew 172przetwarzanie dania aplikacji klienckiej 18separacja modelu 427weryfikacja poprawno ci projektu 434

weryfikacjakodu pocztowego 81to samo ci 151

widok 16 25 30aplikacji

MVC4 453przystosowanie do urz dze mobilnych

459Transakcje 326

cz ciowy 30dodawanie 31edycji klienta 307elementy 31formularz

dodawania wpisu 425logowania 203

kontroleraaplikacja Kadry 58panelu administracyjnego 222

kontrolera AdminController 213kontrolera Dopasowania 77kontrolera ErrorControler 174kontrolera Glosowania 103kontrolera Home 131 169 182 307

metodaWyswietlLog 142Raport 375Transakcje 320

kontrolera HomeController 246AsynchronicznyKontroler 468EksportDanych 417

kontrolera Lista 93kontrolera Mapa 33 34

formularz 70Trasa 50

kreatorakonta u ytkownika 205zmiany has a 206

listyklientoacutew 302pracownikoacutew 61wyznaczonych tras 48zamoacutewie 316

mapyod wie enie 108parametryzacja 34

mechanizm przetwarzania 30modyfikowanie formularza 437obs uga wyj tkoacutew 130Pracownicycshtml 453projektowanie 31transfer danych do kontrolera 36typu CRUD 52

Kup książkę Poleć książkę

Skorowidz 541

typu GridViewimplementacja 48

typy plikoacutew 30utworzenie 30uzupe nianie tre ci 33walidacja 435wi zanie z modelem 437wstawianie rekordoacutew 312wynikoacutew ankiety 105wy wietlanie wpisoacutew 432

wielodziedziczenie 360Windows Authentication Provider 149Windows Data Protection API 187Windows Forms

implementacja klienta 483Windows Live ID 149w a ciwo

ConnectionString 243IsMobileDevice 460ModelStateIsValid 47

wstawianie rekordoacutew 299wstrzykni cie kodu 181 185wykresy 406

konfiguracjaserii danych 407typu 407

pobranie danych roacuted owych 408wy czenie aplikacji 171wyra enia lambda 46wyra enia regularne 73

atrybuty modelu 84liczba wyst pie sk adnikoacutew 76wzorzec

adres URL 83imi e skie 81kod pocztowy 80tworzenie 76

znaki i cyfry 74znaki specjalne 74znaki w wyznaczonych miejscach a cucha 75

wzorzecodnajdywanie

znakoacutew i cyfr 74znakoacutew specjalnych 74znakoacutew w wyznaczonych miejscach

a cucha 75okre lanie

liczby wyst pie znakoacutew 76

XXSS 181

Zzabezpieczenia

aplikacji bazodanowych 335ataki XSS 187informacje o b dach 171kodu po redniego 338konfiguracja 161konfiguracja aplikacji

kreatory 162obs uga wyj tkoacutew 171pliku konfiguracyjnego 167 187przed atakami 148ustawienia aplikacji 167witryny 181zarz dzanie dostawcami us ug 178z o liwy kod 181

zarz dzanieu ytkownikami i grupami 211

dost p do panelu administracyjnego 216lista grup 221podzia na grupy 220pobieranie listy 213tworzenie nowej grupy 222zmiana przynale no ci do grupy 215

z o ono ci aplikacji 16zdarzenie

DataGridViewCellDoubleClick 491rejestrowanie 430

z o liwy koddzia anie 181

znacznikinput 288

znaki specjalneodnajdywanie 74

zwi zanie z modelem 48zwi zek 347

danie 25asynchroniczna obs uga 92 466 470

skrypty 318zadania 473

GET 64POST 64przetwarzanie 127zablokowanie obs ugi 124

Kup książkę Poleć książkę

Notatki

Kup książkę Poleć książkę

310 Cz II Technologie bazodanowe w aplikacjach internetowych

3 W kontrolerze Home zdefiniuj metody z listingu 185

Listing 185 Edycja danych klienta

public ActionResult ScaffoldingEdit(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id)

if (cdr = null) return View(ScaffoldingEdit cdr) else return ScaffoldingList()

private void PrzepiszDaneKlienta(FormCollection daneKlienta refNorthwindDataSetCustomersRow rekordKlienta)

rekordKlientaCompanyName = daneKlienta[CompanyName]ToString() rekordKlientaContactName = daneKlienta[ContactName]ToString() rekordKlientaContactTitle = daneKlienta[ContactTitle]ToString() rekordKlientaAddress = daneKlienta[Address]ToString() rekordKlientaCity = daneKlienta[City]ToString()

public ActionResult EdytujDaneKlienta(FormCollection daneKlienta string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) if (cdr = null) PrzepiszDaneKlienta(daneKlienta ref cdr) AktualizujDaneKlientow() return ScaffoldingList()

Proces edycji rekordu w bazie danych za pomoc technologii ADONET opiera si nainformacjach zebranych w poprzednich rozdzia ach wi c nie b d go tu szczegoacute owoopisywa Celem tego przyk adu by o automatyczne wygenerowanie widoku umo li-wiaj cego edycj danych klienta przystosowanie go do w asnych potrzeb oraz inte-gracja z kontrolerem

Separacja modelu widoku i kontrolera umo liwia narz dziom Visual Studio 2012 auto-matyczne generowanie widoku na podstawie definicji modelu Jednak e jak pokaza-em w tym podrozdziale kreator tworzy widok ktoacutery umo liwia edycj wszystkich poacutel

rekordu (nawet identyfikatora) co sprawia e w wi kszo ci przypadkoacutew nale y sa-modzielnie edytowa plik widoku w celu przystosowania go do potrzeb projektowanejaplikacji Jednak jak pokazuje powy szy przyk ad nie jest to rzecz skomplikowan

Integracja widoku z kontrolerem polega na odpowiednim przekazywaniu informacjio edytowanym rekordzie oraz warto ci jego poacutel Do tego celu wykorzysta em identy-fikator klienta ktoacutery jednoznacznie identyfikuje rekordy w tabeli Customers

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 311

Przyk adowy wynik polece zaimplementowanych w tym podrozdziale przedstawiarysunek 185

Rysunek 185Edycja danych klienta

Tworzenie rekordoacutewW poprzednich podrozdzia ach zaimplementowa em trzy spo roacuted czterech podstawo-wych elementoacutew schematu CRUD czyli odczytywanie (R) aktualizacj (U) oraz usu-wanie (D) rekordoacutew Ostatnim elementem jest tworzenie (C) nowych rekordoacutew W celuzaimplementowania procedury uzupe niania tabeli Customers nowymi rekordami na-le y post pi nast puj co

1 W Solution Explorer rozwi w ze Views a nast pnie kliknij prawymprzyciskiem myszy folder Home

2 Wybierz opcj Add a nast pnie Viewhellip z menu kontekstowego

3 W kreatorze Add View

a) Zmie nazw widoku na ScaffoldingCreate

b) Zaznacz pole wyboru Create a strongly-typed view

c) Z listy dost pnych modeli wybierz pozycj CustomersRow

d) Z listy rozwijanej Scaffold template wybierz Create

e) Kliknij przycisk Add

4 Utworzony w ten sposoacuteb plik ScaffoldingCreatecshtml zmodyfikuj wed ugwzoru z listingu 186

Kup książkę Poleć książkę

312 Cz II Technologie bazodanowe w aplikacjach internetowych

Listing 186 Widok umo liwiaj cy wstawianie rekordoacutew do tabeli Customers

model NorthwindMVCModelsNorthwindDataSetCustomersRow

ViewBagTitle = ScaffoldingCreate

lth2gtScaffoldingCreatelth2gtlth2gtTworzenie rekordulth2gt

ltscript src=UrlContent(~Scriptsjqueryvalidateminjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~Scriptsjqueryvalidateunobtrusiveminjs)type=textjavascriptgtltscriptgt

using (HtmlBeginForm(DodajKlienta Home)) HtmlValidationSummary(true) ltfieldsetgt ltlegendgtDane klientaCustomersRowltlegendgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCustomerID) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCustomerID) HtmlValidationMessageFor(model =gt modelCustomerID) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCompanyName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCompanyName) HtmlValidationMessageFor(model =gt modelCompanyName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactName) HtmlValidationMessageFor(model =gt modelContactName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactTitle) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactTitle) HtmlValidationMessageFor(model =gt modelContactTitle) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelAddress) ltdivgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 313

ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelAddress) HtmlValidationMessageFor(model =gt modelAddress) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCity) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCity) HtmlValidationMessageFor(model =gt modelCity) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRegion) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRegion) HtmlValidationMessageFor(model =gt modelRegion) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPostalCode) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPostalCode) HtmlValidationMessageFor(model =gt modelPostalCode) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCountry) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCountry) HtmlValidationMessageFor(model =gt modelCountry) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPhone) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPhone) HtmlValidationMessageFor(model =gt modelPhone) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelFax) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelFax) HtmlValidationMessageFor(model =gt modelFax) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRowError) ltdivgt ltdiv class=editor-fieldgt

Kup książkę Poleć książkę

314 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlEditorFor(model =gt modelRowError) HtmlValidationMessageFor(model =gt modelRowError) ltdivgt

ltpgt ltinput type=submit value=CreateUtwoacuterz gt ltpgt ltfieldsetgt

ltdivgt HtmlActionLink(Back to List Index) HtmlActionLink(Powroacutet do listy ScaffoldingList)ltdivgt

5 Definicj kontrolera Home uzupe nij o polecenia z listingu 187

Listing 187 Wstawianie rekordoacutew do tabeli Customers

private char PobierzZnak(string lancuch int index) Random random = new Random() char znak

if (lancuchLength gt index) znak = lancuch[index] else znak = (char)randomNext(0 255)ToString()[0]

return znak

private void UtworzIdentyfikatorKlienta(ref NorthwindDataSetCustomersRowdaneKlienta)

string identyfikator = int indexZnaku = 0

identyfikator += PobierzZnak(daneKlientaCompanyName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactTitle indexZnaku) identyfikator += PobierzZnak(daneKlientaAddress indexZnaku) identyfikator += PobierzZnak(daneKlientaCity indexZnaku)

daneKlientaCustomerID = identyfikator

public ActionResult DodajKlienta(FormCollection daneKlienta string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersNewCustomersRow()

PrzepiszDaneKlienta(daneKlienta ref cdr)

UtworzIdentyfikatorKlienta(ref cdr)

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 315

customersTableAdapterInsert(cdrCustomerID cdrCompanyName cdrContactName cdrContactTitle cdrAddress cdrCity )

AktualizujDaneKlientow()

return ScaffoldingList()

Wstawienie rekordoacutew do tabeli Customers jest analogiczne do ich edycji Jedyn roacute -nic jest konieczno utworzenia identyfikatora klienta gdy nie jest on tworzonyautomatycznie jak to by o w przypadku tabeli Employees Identyfikatory rekordoacuteww tabeli Customers s pi cioelementowymi ci gami znakoacutew Tworz je na podstawiepierwszych liter poacutel CompanyName ContactName ContactTitle Address oraz City Je liw tych polach znajduj si puste ci gi to odpowiedni liter zast puj losowo wyge-nerowanym znakiem

W kolejnym podrozdziale poka w jaki sposoacuteb wy wietli informacje o rekordachpotomnych opieraj c si na relacji pomi dzy tabelami

Formularz z podformularzem(MasterDetail Form)

Jako podsumowanie tego rozdzia u utworz formularz z podformularzem tak zwanyformularz MasterDetail Jego dzia anie polega na tym e wy wietlanie danych od-bywa si na bazie co najmniej dwoacutech komponentoacutew (np blokoacutew czy tabel) oraz rela-cji mi dzy tabelami Pierwszy komponent prezentuje rekordy zawarte w tabeli g oacutew-nej (ang master) a drugi zawiera dane z tabeli podrz dnej (ang detail) Komponentzwi zany z tabel podrz dn ma zazwyczaj za zadanie prezentowa szczegoacute owe da-ne odpowiadaj ce rekordowi z tabeli nadrz dnej ktoacutery zosta wskazany przy pomocyzwi zanej z nim listy rekordoacutew Pola tych tabel musz by zatem uporz dkowane w takisposoacuteb aby pokazywa y informacj o tym samym rekordzie Uzyskuje si to przy po-mocy relacji mi dzy tabelami ktoacuterej zadaniem jest powi zanie informacji zawartychw bazie danych

W tym podrozdziale tabel nadrz dn b dzie tabela Customers a podrz dn OrdersPo klikni ciu na hiper cze z etykiet zamoacutewienia wy wietli si lista rekordoacutew tabeliOrders skojarzonych z danym klientem dania prezentacji zamoacutewie b d realizo-wane asynchronicznie

1 Plik widoku ScaffoldingListcshtml zmodyfikuj wed ug wzoru z listingu 188

Listing 188 Konfiguracja hiper cza umo liwiaj cego wy wietlenie listy zamoacutewie danego klienta

hellipforeach (var item in Model) lttrgt lttdgt

Kup książkę Poleć książkę

316 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlDisplayFor(modelItem =gt itemCustomerID) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCompanyName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactTitle) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemAddress) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCity) lttdgt lttdgt HtmlActionLink(Edytuj ScaffoldingEdit new id = itemCustomerID ) | AjaxActionLink(Zamoacutewienia ScaffoldingMasterDetail new id = itemCustomerID new AjaxOptions UpdateTargetId = zamowienia OnSuccess = documentgetElementById(zamowienia)scrollIntoView() ) | HtmlActionLink(Usu ScaffoldingDelete new id = itemCustomerID ) lttdgt lttrgtlttablegt

ltdiv id=zamowieniagtltdivgt

2 Utwoacuterz widok cz ciowy o nazwie ZamowieniaPartialViewcshtml i wstaww nim polecenia z listingu 189

Listing 189 Definicja widoku prezentuj cego list zamoacutewie

model IEnumerableltNorthwindMVCModelsNorthwindDataSetOrdersRowgt

if (Model == null) lth2gtBrak zamoacutewie lth2gtelse lth2gtLista zamoacutewie lth2gt

lttablegt lttrgt ltthgt OrderDate ltthgt ltthgt RequiredDate ltthgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 317

ltthgt ShippedDate ltthgt ltthgt ShipName ltthgt ltthgt ShipAddress ltthgt ltthgt ShipCity ltthgt ltthgtltthgt lttrgt

foreach (var item in Model) lttrgt lttdgt itemOrderDateToShortDateString() lttdgt lttdgt itemRequiredDateToShortDateString() lttdgt lttdgt itemShippedDateToShortDateString() lttdgt lttdgt itemShipName lttdgt lttdgt itemShipAddress lttdgt lttdgt itemShipCity lttdgt lttrgt lttablegt

3 Kontroler Home uzupe nij o metod ScaffoldingMasterDetail ktoacuterej definicjprzedstawi em na listingu 1810

Listing 1810 Pobranie i prezentacja rekordoacutew potomnych wybranego klienta

public ActionResult ScaffoldingMasterDetail(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) NorthwindDataSetOrdersRow[] zamowieniaPracownika = null

if (cdr = null) zamowieniaPracownika = (NorthwindDataSetOrdersRow[])cdrGetChildRows(FK_Orders_Customers)

Kup książkę Poleć książkę

318 Cz II Technologie bazodanowe w aplikacjach internetowych

if (RequestIsAjaxRequest()) return View(ZamowieniaPartialView zamowieniaPracownika) else return ScaffoldingList()

4 Sekcj ltheadgt pliku _Layoutcshtml uzupe nij o polecenia z listingu 1811

Listing 1811 Import skryptoacutew obs uguj cych dania asynchroniczne

ltscript src=UrlContent(~Scriptsjqueryunobtrusive-ajaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftAjaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftMvcAjaxjs)type=textjavascriptgtltscriptgt

5 Po skompilowaniu i uruchomieniu aplikacji powiniene uzyska efektanalogiczny do przedstawionego na rysunku 186

Rysunek 186 Przyk ad formularza typu MasterDetail

Kup książkę Poleć książkę

Skorowidz

AACL 149action methods 25ActiveX Data Object 238ADO 238ADONET 238

obiekty 238podstawy 237synchronizacja buforu ze roacuted em danych 273

adresy URLautoryzacja 157parametry 122trasowanie 121wzorce 122 123

agile programming 15AJAX 91

aktualizacja bloku witryny 113dodanie referencji do bibliotek JavaScript 94

akcjaCreate 354Delete 357Details 353dodaj ca nowy produkt 355Edit 356

aktualizacjazawarto ci elementu witryny 92

algorytmRSA 187

ambient transaction 329ankieta 102AntiXss 187aplikacje

bazodanowe 235bezpiecze stwo 335mechanizm transakcji 319scaffolding 301

synchronizacja ze roacuted em danych 273uwagi do projektowania 345

mo liwo edytowania wpisoacutew 441rejestrowanie zdarze i trasowanie 430

Application Domain 339architektura obiektowa 347ASPNET

konfiguracja aplikacji 161mechanizmy uwierzytelnienia 149metody globalne 107w czanie i wy czanie aplikacji 171

ASPNET AJAX 91ASPNET MVC 15

komponenty 16ASPX 21 30asynchroniczne przetwarzanie da http

jQuery 113Asynchronous JavaScript and XML 48Asynchronous Programming Model 464ataki

rodzaje 147SQL Injection 148 344wy udzenie informacji 148z o liwy kod 181

atrybut 347AcceptVerbs(HttpPost) 47AcceptVerbs(HttpVerbsPost) 65AssociationAttribute 58Authorize 200AuthorizeAttribute 128autoryzacyjny 145ConcurrencyCheckAttribute 58Confirm 95cookieless 154CustomValidationAttribute 58 66data-bind 230DataType 54 57

Kup książkę Poleć książkę

528 ASPNET MVC

atrybutDataTypeAttribute 58defaultRedirect 173defaultUrl 154DisplayAttribute 58DisplayColumnAttribute 58DisplayName 436EditableAttribute 58enableCrossAppRedirects 155EnumDataTypeAttribute 58FilterUIHintAttribute 58HandleError 138 175HandleErrorAttribute 129HttpMethod 95InsertionMode 95KeyAttribute 58klasy do konfiguracji metadanych 57 58LoadingElementDuration 110LoadingElementId 95 110Log

klasa implementuj ca 142loginUrl 154MetadataType 69MetadataTypeAttribute 58mode 153 173modelu 55name 155NonAction 26 135OnBegin 95OnComplete 95OnFailure 95OnSuccess 95 110OutputCache 133OutputCacheAttribute

parametry 134passwordFormat 156protection 155Range 54 66RangeAttribute 58redirectMode 173RegularExpressionAttribute 58Required 54 66RequiredAttribute 58RequireHttps 135requireSSL 155slidingExpiration 155StringLength 66StringLengthAttribute 58TestClass 29TestMethod 29ticketCompatibilityMode 155timeout 155TimestampAttribute 58UpdateTargetId 95

Url 95ValidateInput 185

atrybuty modeluwyra enia regularne 84

Attribute 347authentication ticket 151auto post back 217autocomplete textbox 115automatyczne uzupe nienie pola tekstowego 115autoryzacja 149 157

adresoacutew URL 157konfiguracja 157

grupy u ytkownikoacutew 158mechanizm filtrowania 158otwarta 460plikoacutew 157zdalna

powi zanie z portalem Facebook 461Azure 496

Bbazy danych 40 237

aktualizacja 41lista rekordoacutew 301Northwind 240

detale produktu 352dodawanie po cze 350pobieranie produktoacutew 351

po czenie ze roacuted em danych 241relacyjne 237schemat CRUD 301transakcje 319tworzenie 321

nowego rekordu 48schematu na bazie modelu encji 357

usuwanie danych 290regu y integralno ci 293

usuwanie powi zanych wierszyrekordy potomne 291

warstwa dost pu 42bezpiecze stwo

aplikacji internetowych 147ataki 147mechanizmy 149

biblioteka NETprogramowanie asynchroniczne 464

biblioteka skryptoacutewMapajs 32

bilet uwierzytelniaj cy 151b dy

dzia ania aplikacji 171strona b du 176tworzenie u ytkownika 202wprowadzenie z ego rekordu 268

Kup książkę Poleć książkę

Skorowidz 529

body 383buforowanie

danych ze roacutede zewn trznych 133bundling 475Business Intelligence 368

Ccallback 35CAS 151 338CDN 113Central Authentication Service 151centralna us uga uwierzytelnienia 151certyfikat 337CLR

procesy systemowe 466Code Access Security 338Confirm 96connString 341controllers 16Coordinated Universal Time 155Create Read Update Delete 301cross-site scripting 181CRUD 54 301Crystal Reports 368

Ddane

agregacja 378bezpo redni dost p do roacuted a 346eksport 413

do dokumentu tekstowego 419do PDF 420skoroszyt MS Excel 421tabele dynamiczne 418

integralno 288 319pomini cie sprawdzania 292regu y 291

modyfikacja 249platforma modelowania 347prezentacja

graficzna 406w postaci macierzowej 390

przekazywaniez formularza do roacuted a 46z kontrolera do widoku 437 439

serializacja i transfer struktur 117szyfrowanie 337typu

ActionResult 25walidacja 53weryfikacja 53wi zy integralno ci 306

wy wietlanie 315zabezpieczenie 338

Data Binding 389Data Definition Language 345Database Management System 237DBMS 237

wi zy integralno ci 238DDL 345denial of service 147detail 315Development Server 504DIE 53DisplayFormatAttribute 58document object model 92DOM 92domena aplikacji 339 466

instancja obiektoacutew 341tworzenie 339wspoacute dzielenie obiektu 341

dostawcy us ug 178dost p anonimowy 150DotNetOpenAuth 149DPAPI 187DRY 53dyrektywa

model 46

Eelement

customErrors 173success 115

elevation of privilege 147encapsulation 107encja 347

atrybuty 54bazodanowa 54KategoriaProduktu 358odwzorowanie w bazie danych 360Order_Details 362Orders 361Products 361Produkt 358

Entity 347Entity Framework 43 347

POCO 360potwierdzenie explicite 356technologie 349wersje 347

Entity Relationship Model 347Entity SQL 349ERM 347Event-based Asynchronous Pattern 465event-driven programming 17

Kup książkę Poleć książkę

530 ASPNET MVC

FFile Transfer Protocol 495filtry 127

akcji 127 139autoryzacyjne 127 144dynamiczne 395kolejno wykonywania 137

priorytety 138Log

metody 141LogAttribute

definicja klasy 140podstawowe atrybuty 128statyczne 395w asne 139wyj tkoacutew 128 144

niestandardowe 145wyniku 128 144

for 434foreach 51Forms Authentication Provider 149formularz

MasterDetail 315z podformularzem 315

funkcjadelay 217ListaPracownikoacutew 57Mid 390RolesIsUserInRole 217Today 390wyznaczaj ca tras 109zmienPrzynaleznoscDoGrupy 217 218

GGauge 383 403GDI 368graficzny interfejs u ytkownika 17 30Graphics Device Interface 368GridView 48grupy u ytkownikoacutew

autoryzacja 158GUI 17

Hhard-coding 167haszowanie 150helper methods 25html helper 455

Iidentyfikator

klienta 315rekordoacutew 315

IIS 121 149 495instalacja

ASPNET 445 498serwera w Windows 7 496serwera w Windows 8 496

mened er Windows 499uruchamianie aplikacji 503

serwer do rozwoju aplikacji 504information disclosure 147instancje aplikacji 465instancjonowanie modelu 39IntelliSense 247interfejs u ytkownika

przycisk umo liwiaj cy dodanie pracownika294

przycisk usuni cia wybranego rekordu 289Internet Information Services 121internetowe us ugi informacyjne 495in ynieria spo eczna 148Isolation Level 332izolacja 339 466

JJavaScript Object Notation 117jQM 457jQuery

autocomplete 116pliki roacuted owe 113

jQuery Mobile 457jQuery UI 367

wykorzystanie przyciskoacutew 284JSON 117

obiekt typu adres 118

KKey Performance Indicators 403klasa

AccountController 198ActionExecutingContext 143AdminController 212Ajax 94AjaxOptions 94

atrybuty 95AspNetHidden 442AssemblyName 170Assert 29

Kup książkę Poleć książkę

Skorowidz 531

AuthConfig 461BundleConfig 475Configuration 170ConfigurationManager 170ConfigurationSection 187 188ConnectionStringBuilder 345DpapiProtectedConfigurationProvider 187FiltryRaportuMacierzowego 397Form1 484FormsAuthentication 152Global 430HandleErrorInfo 133HtmlHelper 437HttpClient 483 486HttpResponseMessage 486kontekstu 362LogOnModel 198MarshallByRefObject 341Membership 152 198 211MvcApplication 430NorthwindContext 362ObjectContext 348ObjectQueryltTgt 348Order_Details 362Orders 361Osoba 228ParametryWatku 470Pracownik 484Products 361Produkt 230Raport 392RequestBrowser 460ResultExecutedContext 144ResultExecutingContext 144Roles 211RsaProtectedConfigurationProvider 187SQLConnCAS

definicja 340stowarzyszona z modelem 69SystemNetHttpFormattingJsonMediaTypeF

ormatter 491SystemTextRegularExpressions 74SystemWebSecurityRoles 159Task 465 472testuj ca 29Thread 465 469TransactionScope 327UrlRoutingModule 121ViewData 434 436 439WebApiConfig 478WebConfigurationManager 170Wpisy 427 436

klucze 237MAC 155obce 238podstawowe 238

kluczowe wska niki efektywno ci 403dynamiczna zmiana warto ci 404

Knockout 227wykorzystanie szablonoacutew JavaScript 230wywo anie skryptu 229

kodowanie danychprzekazywanych przez u ytkownikoacutew 186

komponentFormDanePracownika 489obiektu

PartialView 99typu ListBox 99

ReportViewer 368 375eksport danych 413nawigacja mi dzy stronami raportu 377

komponenty u ytkownika 30komunikaty o b dach 171

kod statusowy 174 175koncepcja programowania zdarzeniowego 16konfiguracja

po czenia z baz danych 241uprawnie puli aplikacji 454walidacji danych 66

konkurencyjno aplikacji 332kontekst wi zania 389kontrola wprowadzanych danych 263

metoda onColumnChanged 269wstrzymanie walidacji wiersza 267zako czenie edycji rekordu 267

wymuszenie 267kontroler 16 25

AccountController 195Admin 223AdminController 212aplikacja Kardy 63asynchroniczny 466

a zadania 472dane wyj ciowe 25domeny 150ErrorController 174Glosowania 103Home 182 224 228 231

Bezpiecze stwo 336filtr wyj tku 131

HomeController 184EksportDanych 415Northwind 245

interfejs Web API 477KsiegaGosciController 424

Kup książkę Poleć książkę

532 ASPNET MVC

kontrolerLista 93Mapa 33

autouzupe nianie 117modyfikacja 45

niedost pne metody publiczne 136obs uga POST 431panelu administracyjnego 212

zarz dzanie grupami u ytkownikoacutew 220Pracownicy 57 64PracownicyController

implementacja 481Produkty 351projektowanie 27przekazywanie danych do widoku

zmiany 439uwierzytelnienia 195

klasa 198model 196widoki 203

uzupe nienie o widok 31u ycie modelu odsy anego przez widok 440ValuesController 478weryfikacja funkcjonalno ci 28wi zanie adresu URL z akcj 430widoki 58

konwersja obrazu 278kreator

Add New Item 242Add View 59 302Application 162blokowania szczegoacute oacutew b doacutew 172dodanie u ytkownikoacutew 164grup u ytkownikoacutew 165Provider 162Publish Web 501Security 162tworzenia pracownika 59ustawie aplikacji 167widokoacutew 60wyboacuter dostawcoacutew us ug 178

kwerendy parametryczne 274 401

Llayout witryny 30LINQ

to Entities 349lista rekordoacutew 301

prezentacja 304logika

aplikacji 30bazodanowa 30biznesowa 44

a cuch QueryString 26

Mmaster 315mechanizm

automatycznych w a ciwo ci 57autoryzacji 157eksportu danych 413filtroacutew 127grupowania plikoacutew 475IntelliSense 119QuerynotString 117szyfruj cy 187transakcji 319 321

przelewy bankowe 326wyznaczania trasy przejzdu 34

meotdaInsert 299ProtectSection 191WersjonowanieDataRow

definicja widoku 265message authentication code 155metoda

on 262HtmlValidationSummary 204About 124AcceptChanges 255 263ActionLinkActionLink 61 63 353AddUserToRole 159akcji 25

parametry opcjonalne 27aktualizacja statystyk ankiety 105AktualizujZdjeciePracownika 288Application_AuthenticateRequest 108Application_BeginRequest 107 108Application_End 108Application_EndRequest 107Application_Error 108 172Application_Start 108 123 139 430asynchroniczna kontrolera 472AttachTo 356Authenticate 152AutoUzupelnienie 117

zapytanie LINQ 118BeginEdit 267BeginForm 47 94BeginTransaction 326 332CancelEdit 263ChangeObjectState 356

Kup książkę Poleć książkę

Skorowidz 533

ChangePassword 200hiper cze 208widok 206

ChangePasswordSuccesswidok 206

CreateNazwaEncji 354CreateRole 159CreateUser 153czyBazaDanychIstnieje 326daneDostawcyForm 262DBeginnotEdit 263Delete 270DeleteObject 357DeleteRole 159DeleteUser 153DeszyfrujPlikKonfiguracyjny 191DodajDostawce 255DodajElementDoListy 94 97 101DodajGrupe 223DodajKomentarz 185DodajPracownika 299 491DopiszDoPlikuLog 430Edit 356EdytujDaneDostawcy 261EdytujDanePracownika 493Eksportuj 418EmptyResult 26EndEdit 263EndForm 47ErrorCodeToString 201Fill 246FillByCityName 275FormatDateTime 390FormsAuthenticationSetCookie 199GenerujDane 468Get(int id) 478GetAllRoles 159GetAsync 486GetChildRecords 291GetSection 170GetSectionGroup 170GetUser 153GetUsersInRole 160globalna

aplikacji ASPNET 108Grupy 223HasVersion 263HtmlListBox 97HtmlRenderPartial 101HtmlValidationSummary 61HtmlHelperLabel 437ImiePierwszegoPracownika 246 247Include 475Index 47 79 97 101

kontrolera Mapa 34testowanie 28

IsAjaxRequest 101IsMatch 76IsNotNull 29IsUserInRole 159Label 35ListaDostawcow 252 255ListaPracownikow 248

hiper cze skojarzone 249LogOff 198LogOn 198Macierzowy 397mapowalna 26MetodaAsynchronicznaWatki 472ModelStateAddModelError 199MvcApplicationRegisterRoutes 430obs uga zapyta POST 431odczyt aktualnych bilansoacutew kont 323OdczytajStanyKont 326OnActionExecuted 143OnActionExecuting 127 143onColumnChanged 269OnResultExecuted 144OnResultExecuting 144onRowChanged 266onRowChanging 268OpenConfiguration 170otwarcie po czenia z baz danych 341OtworzPlikDanych 107Page_Load 399PartialViewResult 26PobierzDane 394

modyfikacja 401PobierzPlikLogu 141 143PobierzZdjecie 278PokazTrasy 51PokazWyniki 107pomocnicza 25 455

HtmlEncode 51wykorzystanie 456

PostAsJsonAsync 486PostAsXmlAsync 486PostAsync 486PostResolveRequestCache 121PracownicyWedlugMiast

przechowywanie warto ci filtru 285PutAsJsonAsync 493PutAsXmlAsync 493PutAsync 493ReadAsAsync 486ReadXml 107ReadXmlSchema 107RedirectFromLoginPage 152

Kup książkę Poleć książkę

534 ASPNET MVC

metodaRedirectResult 26RedirectToAction 26RedirectToLoginPage 152RedirectToRoute 26RedirectToRouteResult 26RefreshReport 384Register 199 478RegisterAuth 461 462RegisterBundles 475RegisterGlobalFilters 171RegisterRoutes 94 123RejectChanges 256 263rejestrowanie zdarze aplikacji 430RemoveUserFromRole 160Render 384 413 418RenderPartial 99ResponseWrite 223ResultExecuteResult 143RoleExists 159RolesIsUserInRole 216RolesRemoveUsersFromRole 223route 35RowsAdd 255RozpocznijEdycje 269

hiper cze uruchamiaj ce 267SaveChanges 354ScaffoldingMasterDetail 317Session_End 108Session_Start 108SetAuthCookie 152SetParameters 401 405SignOut 152SprawdzDopasowania 79SprawdzPoprawnoscDatyZatrudnienia 67SqlPermissionAdd 343SqlTransactionCommit 326SqlTransactionRollback 326StronaNieIstnieje 175submit 115SzyfrowaniePlikuKonfiguracyjnego 190szyfruj ca i deszyfruj ca 189SzyfrujPlikKonfiguracyjny 191TextBox 35ThreadSleep 469 472TransactionScopeComplete 329Transfer 36UpdateUser 153UstawParametryRaportu 399UsunGrupe 223UsunTrase 50 51UtworzPracownika 64Uzytkownicy 216ValidateUser 152 153

ValidationMessage 437ValidationMessageFor 61ValidationSummary 437ViewResult 26WebApiConfigRegister 478WersjonowanieDataRow 265

sparametryzowanie 266WpisyZapiszDoPlikuXml 430wykonywanie przelewoacutew 323WyswietlLog 141 142 143wyswietlMape 34 35WyswietlTrase 50

modyfikacja 135 166wyznaczTrase 35ZaktualizujWyniki 107Zapami tajNazw U ytkownika 432ZmienStanKont 328

Microsoft SQL Server 319sposoby uwierzytelnienia 344

MIME type 390minification 476minimalizacja 476model 16 39

APM 464ChangePasswordModel 196EAP 465integracja z elementami aplikacji 39LogOnModel 196obs uga plikoacutew XML 427przesy anie z kontrolera do widoku 432 435RegisterModel 196TAP 465

model binding 48model danych encji 348

dodawanie encji 353edycja encji 355kreator 348 349

czenie encji 359metody akcji 354opcje 361projektowanie relacji 43tworzenie 349

schematu bazy danych 357usuwanie encji 357wyboacuter tabel 350

model first 52model zwi zkoacutew encji 347models 16Model-View-Controller 15Model-View-ViewModel 227Model-Widok-Kontroler 15modu

UrlAuthorizationModule 157

Kup książkę Poleć książkę

Skorowidz 535

MVC 15a Web Forms 16 365 367 423

kod 442serwer internetowych us ug

informacyjnych 495wydajno 443wykorzystanie w projektach 444

ataki XSS 185autoryzacja 158 162bezpiecze stwo aplikacji 152buforowanie 134domy lne wzorce aplikacji 21kreator aplikacji 20mechanizm filtrowania 127Model Binder 355nazwa kontrolera 27obs uga interakcji klient-serwer 121parametry opcjonalne 27pobieranie parametru z adresu URL 26projektowanie aplikacji 18 52przetwarzanie dania aplikacji klienckiej 18sprawdzanie poprawno ci danych 68struktura modelu 39techniki walidacji danych 53utworzenie widoku 30uzupe nianie o komponenty graficzne 367walidacja 438wersja 4 449wyboacuter mechanizmu przetwarzaj cego widoki 21wzorce URL 122zbioacuter modeli szablonu aplikacji 196roacuted o danych 40

MVC4 449grupowanie i optymalizacja skryptoacutew 475kaskadowe arkuszye stylu 475przetwarzanie asynchroniczne 464przystosowanie do urz dze mobillnych 457testowanie aplikacji 457uwierzytelnianie 460

integracja z portalem Facebook 462wsparcie dla urz dze mobilnych 450zdalna autoryzacja 461

MVVM 227

Nnarz dzie

aspnet_regiis 187przetwarzanie tekstu 73

Northwindinstalacja 240kwerenda wybieraj ca 240pobieranie informacji o dostawcach 251

NuGET 483nullable-types 27

OOAuth 461obiekt

AppDomain 339 341Chart 406Command 239Connection 239 241

w a ciwo i 243ConnectionString 343

sposoby uwierzytelniania 344szyfrowanie informacji 335

DataAdapter 239DataGridView 491DataReader 239 273DataRow 255

kontrola wprowadzonych danych 263usuwanie rekordoacutew 270wersje 263wersja proponowana 265wersjonowanie 263w a ciwo ci 255

DataSet 239 244 345edycja rekordoacutew 257kreator konfiguracji TableAdapter 274modyfikacja danych 249tworzenie nowych rekordoacutew 250usuwanie rekordoacutew 271wstawianie rekordoacutew 251wymuszenie wi zoacutew integralno ci 292

DataTable 107DirectionsService 35dostawca 153FormCollection 47jqXHR 218List 389logiki biznesowej 348materializacja 348Matrix 390Membership 152MvcRouteHandler 121 122o okre lonym typie danych 244o silnej typizacji 244o s abej typizacji 247ObjectStateManager 348PartialView 98ReportViewer 368ReportViewerLocalReport 418Request 26 101 432Response 26Route 122ShippersRow 255SqlConnCAS 341SqlConnection 326

Kup książkę Poleć książkę

536 ASPNET MVC

obiektTableAdapter 239 244 273 274 345

edycja danych 279 286wstawianie danych 294

TransactionScope 329parametryzacja 331

typuadres 118AppDomain 466ConcurrentDictionary 479NorthwindDataSet 247ObjectSetltTgt 348Route 121Thread 466

UrlRoutingModule 121ViewBag 36

przekazywanie danych do widoku WebForms 376

ViewData 36 79 432Object Relational Mapping 347Object Services 348obs uga b doacutew

konfiguracja 132w czenie 129

odrzucenie informacji o transakcji 148od wie anie witryny

a fragment widoku 97aktualizacja zawarto ci 113cz ciowe 96

OnSuccess 96operator

await 474konkatenacji 382Top 411Top N 411

ORM 347

Pparametr

CountryName 401data 115filtr 117mapDivId 35maxIloscRekordow 117Order 137raportu 395scopeTimeOut 330

warto ci 330TransactionScopeOption

warto ci 329type 115

parametryzacja kwerend 274partial view 30

piaskownica 341Plain Old CLR Object 360platforma NET

us ugi uwierzytelniania 153plik

ascx 22aspx 22bmp 390cookie 151cookies 154 155cshtml 22 434css 475edmx 360jpg 390js 475konfiguracyjny

zabezpieczenie 187master 22png 390rdl 368rdlc 368tekstowy

wy wietlenie w przegl darce 143vbhtml 22

POCO 360pola klucza 237polecenie

HtmlEncode 187ScriptsRender 476StylesRender 476GET 18POST 18

po czenieze roacuted em danych 241

pomocnik HTML 455Portable Document Format 413po rednik 341poziom izolacji 332

Chaos 333konfiguracja 332ReadCommitted 333ReadUncommitted 333Serializable 333Snapshot 333Unspecified 333

poziom zaufania 339ograniczenie 340

proceduraajax 115AjaxBeginForm 96niemapowalna 26PartialView 26serialize 115

Kup książkę Poleć książkę

Skorowidz 537

proces 465programowanie

oparte na zdarzeniach 17zdarzeniowe 17

projekt aplikacji MVCankieta 102asynchroniczne przetwarzanie da HTTP 92Bezpiecze stwo 181 336

nawi zanie komunikacji ze roacuted emdanych 342

szyfrowanie pliku konfiguracyjnego 191dodawanie i wy wietlanie komentarzy 183domy lny 20EksportDanych 413Filtry 131formularz oceny 107Kadry

walidacja adresu e-mail 84Kardy 55KsiegaGosci_MVC3 424lista prezentuj ca dodawane elementy 97MojaNawigacja 18

blokowanie samodzielnego tworzeniakont 224

buforowanie danych 135implementacja warstwy dost pu 42instalacja na serwerze IIS 500komunikat powitalny 168komunikaty 110komunikaty o b dach 173mechanizm podpowiedzi 115model weryfikuj cy po wiadczenia

u ytkownikoacutew 196modele kontrolera uwierzytelnienia 196od wie enie widoku mapy 109struktura 21szablon 19szablon witryny 225trasowanie da HTTP 123uzupe nienie o baz danych 40uzupe nienie o walidacj danych 69widok b du 175zablokowanie nieautoryzowanego

dost pu 128zarz dzanie u ytkownikami 163zarz dzanie grupami u ytkownikoacutew 212zarz dzanie procesem logowania 198

MsAjax 92NorthwindMVC 241

lista rekordoacutew 301szablon witryny 250

POCO 361priorytety regu filtrowania 137

Raport 368szablon

mechanizmy uwierzytelnienia 156zarz dzanie grupami u ytkownikoacutew 159

Transakcje 319aktualizacja danych 328formularz aktualizacji 328szablon stron 320

uzupe nianie widokiem GridView 49WyrazeniaRegularne 76Zapytania_EF 349

projekt aplikacji MVC4AsynchronicznyKontroler 466

prezentacja danych 468AutoryzacjaOAuth 461implementacja serwisu sieciowego 479konfiguracja grupowania 475MobileMvc 450

testowanie 457pobranie zdj cia 452przygotowanie listy pracownikoacutew 452SerwisSieciowy 477

projekt aplikacji Windows Formsedycja danych 487KlientWebAPI 483tworzenie nowych pracownikoacutew 486

dania typuDELETE 493POST 486PUT 491

projektowaniekontrolera 27widoku 31

protokoacuteFTP 495Kerberos 150NTLM 150SMTP 495SSL 337

proxy 341przechowywanie

informacji o trasach 44wynikoacutew g osowania 107

przeci enie aplikacji 147przekazywanie

danych 44mi dzy widokiem a kontrolerem 36

parametroacutew do metod akcji kontrolera 26przestrze nazw

SystemThreading 465przyjazne linki 122publikowanie aplikacji 495 500

na serwerze IIS 497

Kup książkę Poleć książkę

538 ASPNET MVC

pule aplikacji 465 497konfiguracja 498Windows 7 499Windows 8 500

Rraporty

dane w postaci macierzowej 390data 386definicja

dynamiczna 418filtrowanie danych 394

na poziomie roacuted a 401 418filtry 395formaty prezentacji danych 379grupowanie danych 381hiper cza 387

nawigacyjne 376kolumny obliczeniowe 378konfiguracja

filtrowania dynamicznego 396typu 392roacuted a danych 368

kreator formu 382macierzowe 391numery stron 386obrazy 390parametry 383 394

konfiguracja 399paski narz dziowe 379pola

bazy danych 386formularza 398raportu 390

po czenie z aplikacj 368prezentowanie uk adu graficznego 383projektowanie 371

i prezentowanie 368przystosowanie strony do obs ugi raportoacutew

387renderowanie 368tryby definicji 368tworzenie

definicji lokalnej 368formu 378przy u yciu kreatora 372

uk ad 383wstawianie nag oacutewka i stopki 385wykresy 406wy wietlenie 375

Razor 21 30przetwarzanie definicji widoku 208

RDL 418rekordy

edycja 307lista 301tworzenie 311usuwanie 305

Relationship 347Report Definition Language 418Report Wizard 371repudiation 148request 442response 442responsywno 464rollback transaction 319routing 22 430routowanie 121

SSandBox 341scaffolding 301Secure Socket Layer 337sekcja

membership 178roleManager 179set 441

serwerSMTP

konfiguracja 171us ug informacyjnych 149

weryfikacja to samo ci u ytkownika 149Simple Mail Transfer Protocol 495s owo kluczowe

helper 455await 474using 47 329

spaghetti code 18spoofing 147SQL Server Reporting Services 367SSRS 367stan pola

typu CheckBox 269pobieranie 264

STRIDE 148strona startowa

MojaNawigacja 226strona wzorcowa 30

aplikacji Kadry 55referencja do bibliotek skryptoacutew 70

systemowy serwer us ug informacyjnych 121szyfrowanie po czenia 335

ze roacuted em danych 336

Kup książkę Poleć książkę

Skorowidz 539

Ttabela danych

Categories 418Customers 305deklaracje kaskadowych arkuszy stylu 275edycja

danych 279danych w wierszu 257rekordoacutew 307 310

Employees 240 288filtrowanie listy 275integralno danych 288Konta 321 326kwerenda wybieraj ca 240Orders 291 315OrdersDetails 307pobieranie fotografii 276pobranie danych z wykorzystaniem JScript 280prezentacja

danych 277 325informacji 252listy danych 248pierwszego rekordu 246rekordoacutew 317

przekazanie do widoku 248Shippers 251tworzenie rekordoacutew 311umieszczenie w bazie danych 321uruchomienie edycji danych 258usuwanie

danych 288rekordoacutew 271 305 306

widok b du 268wstawianie

danych 294rekordoacutew 251

wy wietlenie listykonfiguracja hiper cza 315

zako czenie edycji rekordu 267tablica asocjacyjna 479tablica bajtoacutew

konwersja do bitmapy 277tampering 147task pane 371Task-based Asynchronous Pattern 465TDD 15

test jednostkowy funkcjonalno ci kontrolera28

Test-Driven Development 15testowanie

aplikacji 29wzorcoacutew wyra e regularnych 76 78

Toolbox 274

transakcje 319automatyczne zarz dzanie 327otaczaj ce 329poziom izolacji 332tworzenie i r czna kontrola 319

trasowanie 121aplikacja 430blokowanie dost pu 124domy lne regu y 123Ksi gaGosci_MVC3 430w asne regu y 124

trasowanie adresoacutew URL 121T-SQL 319

czynno ci bazodanowe 345tworzenie

bazy danych 40interfejsu u ytkownika

jQM 459szablony 231wzorzec MVVM 227

u ytkownika 200kody b doacutew 201

widoku Index 231wzorcoacutew wyra e regularnych 76

typed DataSet 244typizacja

silna 46s aba 46

typy puste 27

Uujawnienie krytycznych informacji 147ukryte pola 441Uniform Resource Locator 18URL 18uruchomienie aplikacji 503us uga

AspNetSqlProvider 178ustawienia aplikacji 167

odczytanie z pliku konfiguracyjnego 169UTC 155uwierzytelnienie 149

centralny serwis 151certyfikaty 150formularze logowania 151

atrybuty elementu forms 154konfiguracja 153mechanizmy zintegrowane z ASPNET 149na bazie protoko u NTLM 150przekazywanie informacji 151proste 150skroacutecone 150us ugi systemu Windows 150

Kup książkę Poleć książkę

540 ASPNET MVC

Vvariable placeholders 122view engine 21views 16viewstate 442Visual Studio

kreator projektu 19Visual Studio Development Server 496VS 2012

instalacja 240kreator Add New Item 242

VSDS 496

Wwalidacja

adresue-mail 83URL 83WWW 84

danych 53a technologia Entity Framework 68konfiguracja 66modelu Pracownik 66odwo anenie do jQuery 61po stronie klienta 67wyra enia regularne 73

skrypty i style walidatoroacutew 438w asno ci klasy encji 435

w tek 465Web API 477

edycja danych 491klient 483konfiguracja interfejsu 478obs uga da typu POST 486pobranie danych z serwera 485serwis sieciowy 479usuwanie danych 493

web serwer 495Web Site Administration Tool 161

konfigurowanie uprawnie 165zarz dzanie

dostawcami us ug 178u ytkownikami 163

WebForms 17bezpiecze stwo aplikacji 152integracja komponentoacutew z MVC 367kontrolka Repeater 434obs uga wyj tkoacutew 172przetwarzanie dania aplikacji klienckiej 18separacja modelu 427weryfikacja poprawno ci projektu 434

weryfikacjakodu pocztowego 81to samo ci 151

widok 16 25 30aplikacji

MVC4 453przystosowanie do urz dze mobilnych

459Transakcje 326

cz ciowy 30dodawanie 31edycji klienta 307elementy 31formularz

dodawania wpisu 425logowania 203

kontroleraaplikacja Kadry 58panelu administracyjnego 222

kontrolera AdminController 213kontrolera Dopasowania 77kontrolera ErrorControler 174kontrolera Glosowania 103kontrolera Home 131 169 182 307

metodaWyswietlLog 142Raport 375Transakcje 320

kontrolera HomeController 246AsynchronicznyKontroler 468EksportDanych 417

kontrolera Lista 93kontrolera Mapa 33 34

formularz 70Trasa 50

kreatorakonta u ytkownika 205zmiany has a 206

listyklientoacutew 302pracownikoacutew 61wyznaczonych tras 48zamoacutewie 316

mapyod wie enie 108parametryzacja 34

mechanizm przetwarzania 30modyfikowanie formularza 437obs uga wyj tkoacutew 130Pracownicycshtml 453projektowanie 31transfer danych do kontrolera 36typu CRUD 52

Kup książkę Poleć książkę

Skorowidz 541

typu GridViewimplementacja 48

typy plikoacutew 30utworzenie 30uzupe nianie tre ci 33walidacja 435wi zanie z modelem 437wstawianie rekordoacutew 312wynikoacutew ankiety 105wy wietlanie wpisoacutew 432

wielodziedziczenie 360Windows Authentication Provider 149Windows Data Protection API 187Windows Forms

implementacja klienta 483Windows Live ID 149w a ciwo

ConnectionString 243IsMobileDevice 460ModelStateIsValid 47

wstawianie rekordoacutew 299wstrzykni cie kodu 181 185wykresy 406

konfiguracjaserii danych 407typu 407

pobranie danych roacuted owych 408wy czenie aplikacji 171wyra enia lambda 46wyra enia regularne 73

atrybuty modelu 84liczba wyst pie sk adnikoacutew 76wzorzec

adres URL 83imi e skie 81kod pocztowy 80tworzenie 76

znaki i cyfry 74znaki specjalne 74znaki w wyznaczonych miejscach a cucha 75

wzorzecodnajdywanie

znakoacutew i cyfr 74znakoacutew specjalnych 74znakoacutew w wyznaczonych miejscach

a cucha 75okre lanie

liczby wyst pie znakoacutew 76

XXSS 181

Zzabezpieczenia

aplikacji bazodanowych 335ataki XSS 187informacje o b dach 171kodu po redniego 338konfiguracja 161konfiguracja aplikacji

kreatory 162obs uga wyj tkoacutew 171pliku konfiguracyjnego 167 187przed atakami 148ustawienia aplikacji 167witryny 181zarz dzanie dostawcami us ug 178z o liwy kod 181

zarz dzanieu ytkownikami i grupami 211

dost p do panelu administracyjnego 216lista grup 221podzia na grupy 220pobieranie listy 213tworzenie nowej grupy 222zmiana przynale no ci do grupy 215

z o ono ci aplikacji 16zdarzenie

DataGridViewCellDoubleClick 491rejestrowanie 430

z o liwy koddzia anie 181

znacznikinput 288

znaki specjalneodnajdywanie 74

zwi zanie z modelem 48zwi zek 347

danie 25asynchroniczna obs uga 92 466 470

skrypty 318zadania 473

GET 64POST 64przetwarzanie 127zablokowanie obs ugi 124

Kup książkę Poleć książkę

Notatki

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 311

Przyk adowy wynik polece zaimplementowanych w tym podrozdziale przedstawiarysunek 185

Rysunek 185Edycja danych klienta

Tworzenie rekordoacutewW poprzednich podrozdzia ach zaimplementowa em trzy spo roacuted czterech podstawo-wych elementoacutew schematu CRUD czyli odczytywanie (R) aktualizacj (U) oraz usu-wanie (D) rekordoacutew Ostatnim elementem jest tworzenie (C) nowych rekordoacutew W celuzaimplementowania procedury uzupe niania tabeli Customers nowymi rekordami na-le y post pi nast puj co

1 W Solution Explorer rozwi w ze Views a nast pnie kliknij prawymprzyciskiem myszy folder Home

2 Wybierz opcj Add a nast pnie Viewhellip z menu kontekstowego

3 W kreatorze Add View

a) Zmie nazw widoku na ScaffoldingCreate

b) Zaznacz pole wyboru Create a strongly-typed view

c) Z listy dost pnych modeli wybierz pozycj CustomersRow

d) Z listy rozwijanej Scaffold template wybierz Create

e) Kliknij przycisk Add

4 Utworzony w ten sposoacuteb plik ScaffoldingCreatecshtml zmodyfikuj wed ugwzoru z listingu 186

Kup książkę Poleć książkę

312 Cz II Technologie bazodanowe w aplikacjach internetowych

Listing 186 Widok umo liwiaj cy wstawianie rekordoacutew do tabeli Customers

model NorthwindMVCModelsNorthwindDataSetCustomersRow

ViewBagTitle = ScaffoldingCreate

lth2gtScaffoldingCreatelth2gtlth2gtTworzenie rekordulth2gt

ltscript src=UrlContent(~Scriptsjqueryvalidateminjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~Scriptsjqueryvalidateunobtrusiveminjs)type=textjavascriptgtltscriptgt

using (HtmlBeginForm(DodajKlienta Home)) HtmlValidationSummary(true) ltfieldsetgt ltlegendgtDane klientaCustomersRowltlegendgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCustomerID) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCustomerID) HtmlValidationMessageFor(model =gt modelCustomerID) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCompanyName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCompanyName) HtmlValidationMessageFor(model =gt modelCompanyName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactName) HtmlValidationMessageFor(model =gt modelContactName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactTitle) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactTitle) HtmlValidationMessageFor(model =gt modelContactTitle) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelAddress) ltdivgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 313

ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelAddress) HtmlValidationMessageFor(model =gt modelAddress) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCity) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCity) HtmlValidationMessageFor(model =gt modelCity) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRegion) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRegion) HtmlValidationMessageFor(model =gt modelRegion) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPostalCode) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPostalCode) HtmlValidationMessageFor(model =gt modelPostalCode) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCountry) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCountry) HtmlValidationMessageFor(model =gt modelCountry) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPhone) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPhone) HtmlValidationMessageFor(model =gt modelPhone) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelFax) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelFax) HtmlValidationMessageFor(model =gt modelFax) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRowError) ltdivgt ltdiv class=editor-fieldgt

Kup książkę Poleć książkę

314 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlEditorFor(model =gt modelRowError) HtmlValidationMessageFor(model =gt modelRowError) ltdivgt

ltpgt ltinput type=submit value=CreateUtwoacuterz gt ltpgt ltfieldsetgt

ltdivgt HtmlActionLink(Back to List Index) HtmlActionLink(Powroacutet do listy ScaffoldingList)ltdivgt

5 Definicj kontrolera Home uzupe nij o polecenia z listingu 187

Listing 187 Wstawianie rekordoacutew do tabeli Customers

private char PobierzZnak(string lancuch int index) Random random = new Random() char znak

if (lancuchLength gt index) znak = lancuch[index] else znak = (char)randomNext(0 255)ToString()[0]

return znak

private void UtworzIdentyfikatorKlienta(ref NorthwindDataSetCustomersRowdaneKlienta)

string identyfikator = int indexZnaku = 0

identyfikator += PobierzZnak(daneKlientaCompanyName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactTitle indexZnaku) identyfikator += PobierzZnak(daneKlientaAddress indexZnaku) identyfikator += PobierzZnak(daneKlientaCity indexZnaku)

daneKlientaCustomerID = identyfikator

public ActionResult DodajKlienta(FormCollection daneKlienta string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersNewCustomersRow()

PrzepiszDaneKlienta(daneKlienta ref cdr)

UtworzIdentyfikatorKlienta(ref cdr)

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 315

customersTableAdapterInsert(cdrCustomerID cdrCompanyName cdrContactName cdrContactTitle cdrAddress cdrCity )

AktualizujDaneKlientow()

return ScaffoldingList()

Wstawienie rekordoacutew do tabeli Customers jest analogiczne do ich edycji Jedyn roacute -nic jest konieczno utworzenia identyfikatora klienta gdy nie jest on tworzonyautomatycznie jak to by o w przypadku tabeli Employees Identyfikatory rekordoacuteww tabeli Customers s pi cioelementowymi ci gami znakoacutew Tworz je na podstawiepierwszych liter poacutel CompanyName ContactName ContactTitle Address oraz City Je liw tych polach znajduj si puste ci gi to odpowiedni liter zast puj losowo wyge-nerowanym znakiem

W kolejnym podrozdziale poka w jaki sposoacuteb wy wietli informacje o rekordachpotomnych opieraj c si na relacji pomi dzy tabelami

Formularz z podformularzem(MasterDetail Form)

Jako podsumowanie tego rozdzia u utworz formularz z podformularzem tak zwanyformularz MasterDetail Jego dzia anie polega na tym e wy wietlanie danych od-bywa si na bazie co najmniej dwoacutech komponentoacutew (np blokoacutew czy tabel) oraz rela-cji mi dzy tabelami Pierwszy komponent prezentuje rekordy zawarte w tabeli g oacutew-nej (ang master) a drugi zawiera dane z tabeli podrz dnej (ang detail) Komponentzwi zany z tabel podrz dn ma zazwyczaj za zadanie prezentowa szczegoacute owe da-ne odpowiadaj ce rekordowi z tabeli nadrz dnej ktoacutery zosta wskazany przy pomocyzwi zanej z nim listy rekordoacutew Pola tych tabel musz by zatem uporz dkowane w takisposoacuteb aby pokazywa y informacj o tym samym rekordzie Uzyskuje si to przy po-mocy relacji mi dzy tabelami ktoacuterej zadaniem jest powi zanie informacji zawartychw bazie danych

W tym podrozdziale tabel nadrz dn b dzie tabela Customers a podrz dn OrdersPo klikni ciu na hiper cze z etykiet zamoacutewienia wy wietli si lista rekordoacutew tabeliOrders skojarzonych z danym klientem dania prezentacji zamoacutewie b d realizo-wane asynchronicznie

1 Plik widoku ScaffoldingListcshtml zmodyfikuj wed ug wzoru z listingu 188

Listing 188 Konfiguracja hiper cza umo liwiaj cego wy wietlenie listy zamoacutewie danego klienta

hellipforeach (var item in Model) lttrgt lttdgt

Kup książkę Poleć książkę

316 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlDisplayFor(modelItem =gt itemCustomerID) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCompanyName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactTitle) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemAddress) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCity) lttdgt lttdgt HtmlActionLink(Edytuj ScaffoldingEdit new id = itemCustomerID ) | AjaxActionLink(Zamoacutewienia ScaffoldingMasterDetail new id = itemCustomerID new AjaxOptions UpdateTargetId = zamowienia OnSuccess = documentgetElementById(zamowienia)scrollIntoView() ) | HtmlActionLink(Usu ScaffoldingDelete new id = itemCustomerID ) lttdgt lttrgtlttablegt

ltdiv id=zamowieniagtltdivgt

2 Utwoacuterz widok cz ciowy o nazwie ZamowieniaPartialViewcshtml i wstaww nim polecenia z listingu 189

Listing 189 Definicja widoku prezentuj cego list zamoacutewie

model IEnumerableltNorthwindMVCModelsNorthwindDataSetOrdersRowgt

if (Model == null) lth2gtBrak zamoacutewie lth2gtelse lth2gtLista zamoacutewie lth2gt

lttablegt lttrgt ltthgt OrderDate ltthgt ltthgt RequiredDate ltthgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 317

ltthgt ShippedDate ltthgt ltthgt ShipName ltthgt ltthgt ShipAddress ltthgt ltthgt ShipCity ltthgt ltthgtltthgt lttrgt

foreach (var item in Model) lttrgt lttdgt itemOrderDateToShortDateString() lttdgt lttdgt itemRequiredDateToShortDateString() lttdgt lttdgt itemShippedDateToShortDateString() lttdgt lttdgt itemShipName lttdgt lttdgt itemShipAddress lttdgt lttdgt itemShipCity lttdgt lttrgt lttablegt

3 Kontroler Home uzupe nij o metod ScaffoldingMasterDetail ktoacuterej definicjprzedstawi em na listingu 1810

Listing 1810 Pobranie i prezentacja rekordoacutew potomnych wybranego klienta

public ActionResult ScaffoldingMasterDetail(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) NorthwindDataSetOrdersRow[] zamowieniaPracownika = null

if (cdr = null) zamowieniaPracownika = (NorthwindDataSetOrdersRow[])cdrGetChildRows(FK_Orders_Customers)

Kup książkę Poleć książkę

318 Cz II Technologie bazodanowe w aplikacjach internetowych

if (RequestIsAjaxRequest()) return View(ZamowieniaPartialView zamowieniaPracownika) else return ScaffoldingList()

4 Sekcj ltheadgt pliku _Layoutcshtml uzupe nij o polecenia z listingu 1811

Listing 1811 Import skryptoacutew obs uguj cych dania asynchroniczne

ltscript src=UrlContent(~Scriptsjqueryunobtrusive-ajaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftAjaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftMvcAjaxjs)type=textjavascriptgtltscriptgt

5 Po skompilowaniu i uruchomieniu aplikacji powiniene uzyska efektanalogiczny do przedstawionego na rysunku 186

Rysunek 186 Przyk ad formularza typu MasterDetail

Kup książkę Poleć książkę

Skorowidz

AACL 149action methods 25ActiveX Data Object 238ADO 238ADONET 238

obiekty 238podstawy 237synchronizacja buforu ze roacuted em danych 273

adresy URLautoryzacja 157parametry 122trasowanie 121wzorce 122 123

agile programming 15AJAX 91

aktualizacja bloku witryny 113dodanie referencji do bibliotek JavaScript 94

akcjaCreate 354Delete 357Details 353dodaj ca nowy produkt 355Edit 356

aktualizacjazawarto ci elementu witryny 92

algorytmRSA 187

ambient transaction 329ankieta 102AntiXss 187aplikacje

bazodanowe 235bezpiecze stwo 335mechanizm transakcji 319scaffolding 301

synchronizacja ze roacuted em danych 273uwagi do projektowania 345

mo liwo edytowania wpisoacutew 441rejestrowanie zdarze i trasowanie 430

Application Domain 339architektura obiektowa 347ASPNET

konfiguracja aplikacji 161mechanizmy uwierzytelnienia 149metody globalne 107w czanie i wy czanie aplikacji 171

ASPNET AJAX 91ASPNET MVC 15

komponenty 16ASPX 21 30asynchroniczne przetwarzanie da http

jQuery 113Asynchronous JavaScript and XML 48Asynchronous Programming Model 464ataki

rodzaje 147SQL Injection 148 344wy udzenie informacji 148z o liwy kod 181

atrybut 347AcceptVerbs(HttpPost) 47AcceptVerbs(HttpVerbsPost) 65AssociationAttribute 58Authorize 200AuthorizeAttribute 128autoryzacyjny 145ConcurrencyCheckAttribute 58Confirm 95cookieless 154CustomValidationAttribute 58 66data-bind 230DataType 54 57

Kup książkę Poleć książkę

528 ASPNET MVC

atrybutDataTypeAttribute 58defaultRedirect 173defaultUrl 154DisplayAttribute 58DisplayColumnAttribute 58DisplayName 436EditableAttribute 58enableCrossAppRedirects 155EnumDataTypeAttribute 58FilterUIHintAttribute 58HandleError 138 175HandleErrorAttribute 129HttpMethod 95InsertionMode 95KeyAttribute 58klasy do konfiguracji metadanych 57 58LoadingElementDuration 110LoadingElementId 95 110Log

klasa implementuj ca 142loginUrl 154MetadataType 69MetadataTypeAttribute 58mode 153 173modelu 55name 155NonAction 26 135OnBegin 95OnComplete 95OnFailure 95OnSuccess 95 110OutputCache 133OutputCacheAttribute

parametry 134passwordFormat 156protection 155Range 54 66RangeAttribute 58redirectMode 173RegularExpressionAttribute 58Required 54 66RequiredAttribute 58RequireHttps 135requireSSL 155slidingExpiration 155StringLength 66StringLengthAttribute 58TestClass 29TestMethod 29ticketCompatibilityMode 155timeout 155TimestampAttribute 58UpdateTargetId 95

Url 95ValidateInput 185

atrybuty modeluwyra enia regularne 84

Attribute 347authentication ticket 151auto post back 217autocomplete textbox 115automatyczne uzupe nienie pola tekstowego 115autoryzacja 149 157

adresoacutew URL 157konfiguracja 157

grupy u ytkownikoacutew 158mechanizm filtrowania 158otwarta 460plikoacutew 157zdalna

powi zanie z portalem Facebook 461Azure 496

Bbazy danych 40 237

aktualizacja 41lista rekordoacutew 301Northwind 240

detale produktu 352dodawanie po cze 350pobieranie produktoacutew 351

po czenie ze roacuted em danych 241relacyjne 237schemat CRUD 301transakcje 319tworzenie 321

nowego rekordu 48schematu na bazie modelu encji 357

usuwanie danych 290regu y integralno ci 293

usuwanie powi zanych wierszyrekordy potomne 291

warstwa dost pu 42bezpiecze stwo

aplikacji internetowych 147ataki 147mechanizmy 149

biblioteka NETprogramowanie asynchroniczne 464

biblioteka skryptoacutewMapajs 32

bilet uwierzytelniaj cy 151b dy

dzia ania aplikacji 171strona b du 176tworzenie u ytkownika 202wprowadzenie z ego rekordu 268

Kup książkę Poleć książkę

Skorowidz 529

body 383buforowanie

danych ze roacutede zewn trznych 133bundling 475Business Intelligence 368

Ccallback 35CAS 151 338CDN 113Central Authentication Service 151centralna us uga uwierzytelnienia 151certyfikat 337CLR

procesy systemowe 466Code Access Security 338Confirm 96connString 341controllers 16Coordinated Universal Time 155Create Read Update Delete 301cross-site scripting 181CRUD 54 301Crystal Reports 368

Ddane

agregacja 378bezpo redni dost p do roacuted a 346eksport 413

do dokumentu tekstowego 419do PDF 420skoroszyt MS Excel 421tabele dynamiczne 418

integralno 288 319pomini cie sprawdzania 292regu y 291

modyfikacja 249platforma modelowania 347prezentacja

graficzna 406w postaci macierzowej 390

przekazywaniez formularza do roacuted a 46z kontrolera do widoku 437 439

serializacja i transfer struktur 117szyfrowanie 337typu

ActionResult 25walidacja 53weryfikacja 53wi zy integralno ci 306

wy wietlanie 315zabezpieczenie 338

Data Binding 389Data Definition Language 345Database Management System 237DBMS 237

wi zy integralno ci 238DDL 345denial of service 147detail 315Development Server 504DIE 53DisplayFormatAttribute 58document object model 92DOM 92domena aplikacji 339 466

instancja obiektoacutew 341tworzenie 339wspoacute dzielenie obiektu 341

dostawcy us ug 178dost p anonimowy 150DotNetOpenAuth 149DPAPI 187DRY 53dyrektywa

model 46

Eelement

customErrors 173success 115

elevation of privilege 147encapsulation 107encja 347

atrybuty 54bazodanowa 54KategoriaProduktu 358odwzorowanie w bazie danych 360Order_Details 362Orders 361Products 361Produkt 358

Entity 347Entity Framework 43 347

POCO 360potwierdzenie explicite 356technologie 349wersje 347

Entity Relationship Model 347Entity SQL 349ERM 347Event-based Asynchronous Pattern 465event-driven programming 17

Kup książkę Poleć książkę

530 ASPNET MVC

FFile Transfer Protocol 495filtry 127

akcji 127 139autoryzacyjne 127 144dynamiczne 395kolejno wykonywania 137

priorytety 138Log

metody 141LogAttribute

definicja klasy 140podstawowe atrybuty 128statyczne 395w asne 139wyj tkoacutew 128 144

niestandardowe 145wyniku 128 144

for 434foreach 51Forms Authentication Provider 149formularz

MasterDetail 315z podformularzem 315

funkcjadelay 217ListaPracownikoacutew 57Mid 390RolesIsUserInRole 217Today 390wyznaczaj ca tras 109zmienPrzynaleznoscDoGrupy 217 218

GGauge 383 403GDI 368graficzny interfejs u ytkownika 17 30Graphics Device Interface 368GridView 48grupy u ytkownikoacutew

autoryzacja 158GUI 17

Hhard-coding 167haszowanie 150helper methods 25html helper 455

Iidentyfikator

klienta 315rekordoacutew 315

IIS 121 149 495instalacja

ASPNET 445 498serwera w Windows 7 496serwera w Windows 8 496

mened er Windows 499uruchamianie aplikacji 503

serwer do rozwoju aplikacji 504information disclosure 147instancje aplikacji 465instancjonowanie modelu 39IntelliSense 247interfejs u ytkownika

przycisk umo liwiaj cy dodanie pracownika294

przycisk usuni cia wybranego rekordu 289Internet Information Services 121internetowe us ugi informacyjne 495in ynieria spo eczna 148Isolation Level 332izolacja 339 466

JJavaScript Object Notation 117jQM 457jQuery

autocomplete 116pliki roacuted owe 113

jQuery Mobile 457jQuery UI 367

wykorzystanie przyciskoacutew 284JSON 117

obiekt typu adres 118

KKey Performance Indicators 403klasa

AccountController 198ActionExecutingContext 143AdminController 212Ajax 94AjaxOptions 94

atrybuty 95AspNetHidden 442AssemblyName 170Assert 29

Kup książkę Poleć książkę

Skorowidz 531

AuthConfig 461BundleConfig 475Configuration 170ConfigurationManager 170ConfigurationSection 187 188ConnectionStringBuilder 345DpapiProtectedConfigurationProvider 187FiltryRaportuMacierzowego 397Form1 484FormsAuthentication 152Global 430HandleErrorInfo 133HtmlHelper 437HttpClient 483 486HttpResponseMessage 486kontekstu 362LogOnModel 198MarshallByRefObject 341Membership 152 198 211MvcApplication 430NorthwindContext 362ObjectContext 348ObjectQueryltTgt 348Order_Details 362Orders 361Osoba 228ParametryWatku 470Pracownik 484Products 361Produkt 230Raport 392RequestBrowser 460ResultExecutedContext 144ResultExecutingContext 144Roles 211RsaProtectedConfigurationProvider 187SQLConnCAS

definicja 340stowarzyszona z modelem 69SystemNetHttpFormattingJsonMediaTypeF

ormatter 491SystemTextRegularExpressions 74SystemWebSecurityRoles 159Task 465 472testuj ca 29Thread 465 469TransactionScope 327UrlRoutingModule 121ViewData 434 436 439WebApiConfig 478WebConfigurationManager 170Wpisy 427 436

klucze 237MAC 155obce 238podstawowe 238

kluczowe wska niki efektywno ci 403dynamiczna zmiana warto ci 404

Knockout 227wykorzystanie szablonoacutew JavaScript 230wywo anie skryptu 229

kodowanie danychprzekazywanych przez u ytkownikoacutew 186

komponentFormDanePracownika 489obiektu

PartialView 99typu ListBox 99

ReportViewer 368 375eksport danych 413nawigacja mi dzy stronami raportu 377

komponenty u ytkownika 30komunikaty o b dach 171

kod statusowy 174 175koncepcja programowania zdarzeniowego 16konfiguracja

po czenia z baz danych 241uprawnie puli aplikacji 454walidacji danych 66

konkurencyjno aplikacji 332kontekst wi zania 389kontrola wprowadzanych danych 263

metoda onColumnChanged 269wstrzymanie walidacji wiersza 267zako czenie edycji rekordu 267

wymuszenie 267kontroler 16 25

AccountController 195Admin 223AdminController 212aplikacja Kardy 63asynchroniczny 466

a zadania 472dane wyj ciowe 25domeny 150ErrorController 174Glosowania 103Home 182 224 228 231

Bezpiecze stwo 336filtr wyj tku 131

HomeController 184EksportDanych 415Northwind 245

interfejs Web API 477KsiegaGosciController 424

Kup książkę Poleć książkę

532 ASPNET MVC

kontrolerLista 93Mapa 33

autouzupe nianie 117modyfikacja 45

niedost pne metody publiczne 136obs uga POST 431panelu administracyjnego 212

zarz dzanie grupami u ytkownikoacutew 220Pracownicy 57 64PracownicyController

implementacja 481Produkty 351projektowanie 27przekazywanie danych do widoku

zmiany 439uwierzytelnienia 195

klasa 198model 196widoki 203

uzupe nienie o widok 31u ycie modelu odsy anego przez widok 440ValuesController 478weryfikacja funkcjonalno ci 28wi zanie adresu URL z akcj 430widoki 58

konwersja obrazu 278kreator

Add New Item 242Add View 59 302Application 162blokowania szczegoacute oacutew b doacutew 172dodanie u ytkownikoacutew 164grup u ytkownikoacutew 165Provider 162Publish Web 501Security 162tworzenia pracownika 59ustawie aplikacji 167widokoacutew 60wyboacuter dostawcoacutew us ug 178

kwerendy parametryczne 274 401

Llayout witryny 30LINQ

to Entities 349lista rekordoacutew 301

prezentacja 304logika

aplikacji 30bazodanowa 30biznesowa 44

a cuch QueryString 26

Mmaster 315mechanizm

automatycznych w a ciwo ci 57autoryzacji 157eksportu danych 413filtroacutew 127grupowania plikoacutew 475IntelliSense 119QuerynotString 117szyfruj cy 187transakcji 319 321

przelewy bankowe 326wyznaczania trasy przejzdu 34

meotdaInsert 299ProtectSection 191WersjonowanieDataRow

definicja widoku 265message authentication code 155metoda

on 262HtmlValidationSummary 204About 124AcceptChanges 255 263ActionLinkActionLink 61 63 353AddUserToRole 159akcji 25

parametry opcjonalne 27aktualizacja statystyk ankiety 105AktualizujZdjeciePracownika 288Application_AuthenticateRequest 108Application_BeginRequest 107 108Application_End 108Application_EndRequest 107Application_Error 108 172Application_Start 108 123 139 430asynchroniczna kontrolera 472AttachTo 356Authenticate 152AutoUzupelnienie 117

zapytanie LINQ 118BeginEdit 267BeginForm 47 94BeginTransaction 326 332CancelEdit 263ChangeObjectState 356

Kup książkę Poleć książkę

Skorowidz 533

ChangePassword 200hiper cze 208widok 206

ChangePasswordSuccesswidok 206

CreateNazwaEncji 354CreateRole 159CreateUser 153czyBazaDanychIstnieje 326daneDostawcyForm 262DBeginnotEdit 263Delete 270DeleteObject 357DeleteRole 159DeleteUser 153DeszyfrujPlikKonfiguracyjny 191DodajDostawce 255DodajElementDoListy 94 97 101DodajGrupe 223DodajKomentarz 185DodajPracownika 299 491DopiszDoPlikuLog 430Edit 356EdytujDaneDostawcy 261EdytujDanePracownika 493Eksportuj 418EmptyResult 26EndEdit 263EndForm 47ErrorCodeToString 201Fill 246FillByCityName 275FormatDateTime 390FormsAuthenticationSetCookie 199GenerujDane 468Get(int id) 478GetAllRoles 159GetAsync 486GetChildRecords 291GetSection 170GetSectionGroup 170GetUser 153GetUsersInRole 160globalna

aplikacji ASPNET 108Grupy 223HasVersion 263HtmlListBox 97HtmlRenderPartial 101HtmlValidationSummary 61HtmlHelperLabel 437ImiePierwszegoPracownika 246 247Include 475Index 47 79 97 101

kontrolera Mapa 34testowanie 28

IsAjaxRequest 101IsMatch 76IsNotNull 29IsUserInRole 159Label 35ListaDostawcow 252 255ListaPracownikow 248

hiper cze skojarzone 249LogOff 198LogOn 198Macierzowy 397mapowalna 26MetodaAsynchronicznaWatki 472ModelStateAddModelError 199MvcApplicationRegisterRoutes 430obs uga zapyta POST 431odczyt aktualnych bilansoacutew kont 323OdczytajStanyKont 326OnActionExecuted 143OnActionExecuting 127 143onColumnChanged 269OnResultExecuted 144OnResultExecuting 144onRowChanged 266onRowChanging 268OpenConfiguration 170otwarcie po czenia z baz danych 341OtworzPlikDanych 107Page_Load 399PartialViewResult 26PobierzDane 394

modyfikacja 401PobierzPlikLogu 141 143PobierzZdjecie 278PokazTrasy 51PokazWyniki 107pomocnicza 25 455

HtmlEncode 51wykorzystanie 456

PostAsJsonAsync 486PostAsXmlAsync 486PostAsync 486PostResolveRequestCache 121PracownicyWedlugMiast

przechowywanie warto ci filtru 285PutAsJsonAsync 493PutAsXmlAsync 493PutAsync 493ReadAsAsync 486ReadXml 107ReadXmlSchema 107RedirectFromLoginPage 152

Kup książkę Poleć książkę

534 ASPNET MVC

metodaRedirectResult 26RedirectToAction 26RedirectToLoginPage 152RedirectToRoute 26RedirectToRouteResult 26RefreshReport 384Register 199 478RegisterAuth 461 462RegisterBundles 475RegisterGlobalFilters 171RegisterRoutes 94 123RejectChanges 256 263rejestrowanie zdarze aplikacji 430RemoveUserFromRole 160Render 384 413 418RenderPartial 99ResponseWrite 223ResultExecuteResult 143RoleExists 159RolesIsUserInRole 216RolesRemoveUsersFromRole 223route 35RowsAdd 255RozpocznijEdycje 269

hiper cze uruchamiaj ce 267SaveChanges 354ScaffoldingMasterDetail 317Session_End 108Session_Start 108SetAuthCookie 152SetParameters 401 405SignOut 152SprawdzDopasowania 79SprawdzPoprawnoscDatyZatrudnienia 67SqlPermissionAdd 343SqlTransactionCommit 326SqlTransactionRollback 326StronaNieIstnieje 175submit 115SzyfrowaniePlikuKonfiguracyjnego 190szyfruj ca i deszyfruj ca 189SzyfrujPlikKonfiguracyjny 191TextBox 35ThreadSleep 469 472TransactionScopeComplete 329Transfer 36UpdateUser 153UstawParametryRaportu 399UsunGrupe 223UsunTrase 50 51UtworzPracownika 64Uzytkownicy 216ValidateUser 152 153

ValidationMessage 437ValidationMessageFor 61ValidationSummary 437ViewResult 26WebApiConfigRegister 478WersjonowanieDataRow 265

sparametryzowanie 266WpisyZapiszDoPlikuXml 430wykonywanie przelewoacutew 323WyswietlLog 141 142 143wyswietlMape 34 35WyswietlTrase 50

modyfikacja 135 166wyznaczTrase 35ZaktualizujWyniki 107Zapami tajNazw U ytkownika 432ZmienStanKont 328

Microsoft SQL Server 319sposoby uwierzytelnienia 344

MIME type 390minification 476minimalizacja 476model 16 39

APM 464ChangePasswordModel 196EAP 465integracja z elementami aplikacji 39LogOnModel 196obs uga plikoacutew XML 427przesy anie z kontrolera do widoku 432 435RegisterModel 196TAP 465

model binding 48model danych encji 348

dodawanie encji 353edycja encji 355kreator 348 349

czenie encji 359metody akcji 354opcje 361projektowanie relacji 43tworzenie 349

schematu bazy danych 357usuwanie encji 357wyboacuter tabel 350

model first 52model zwi zkoacutew encji 347models 16Model-View-Controller 15Model-View-ViewModel 227Model-Widok-Kontroler 15modu

UrlAuthorizationModule 157

Kup książkę Poleć książkę

Skorowidz 535

MVC 15a Web Forms 16 365 367 423

kod 442serwer internetowych us ug

informacyjnych 495wydajno 443wykorzystanie w projektach 444

ataki XSS 185autoryzacja 158 162bezpiecze stwo aplikacji 152buforowanie 134domy lne wzorce aplikacji 21kreator aplikacji 20mechanizm filtrowania 127Model Binder 355nazwa kontrolera 27obs uga interakcji klient-serwer 121parametry opcjonalne 27pobieranie parametru z adresu URL 26projektowanie aplikacji 18 52przetwarzanie dania aplikacji klienckiej 18sprawdzanie poprawno ci danych 68struktura modelu 39techniki walidacji danych 53utworzenie widoku 30uzupe nianie o komponenty graficzne 367walidacja 438wersja 4 449wyboacuter mechanizmu przetwarzaj cego widoki 21wzorce URL 122zbioacuter modeli szablonu aplikacji 196roacuted o danych 40

MVC4 449grupowanie i optymalizacja skryptoacutew 475kaskadowe arkuszye stylu 475przetwarzanie asynchroniczne 464przystosowanie do urz dze mobillnych 457testowanie aplikacji 457uwierzytelnianie 460

integracja z portalem Facebook 462wsparcie dla urz dze mobilnych 450zdalna autoryzacja 461

MVVM 227

Nnarz dzie

aspnet_regiis 187przetwarzanie tekstu 73

Northwindinstalacja 240kwerenda wybieraj ca 240pobieranie informacji o dostawcach 251

NuGET 483nullable-types 27

OOAuth 461obiekt

AppDomain 339 341Chart 406Command 239Connection 239 241

w a ciwo i 243ConnectionString 343

sposoby uwierzytelniania 344szyfrowanie informacji 335

DataAdapter 239DataGridView 491DataReader 239 273DataRow 255

kontrola wprowadzonych danych 263usuwanie rekordoacutew 270wersje 263wersja proponowana 265wersjonowanie 263w a ciwo ci 255

DataSet 239 244 345edycja rekordoacutew 257kreator konfiguracji TableAdapter 274modyfikacja danych 249tworzenie nowych rekordoacutew 250usuwanie rekordoacutew 271wstawianie rekordoacutew 251wymuszenie wi zoacutew integralno ci 292

DataTable 107DirectionsService 35dostawca 153FormCollection 47jqXHR 218List 389logiki biznesowej 348materializacja 348Matrix 390Membership 152MvcRouteHandler 121 122o okre lonym typie danych 244o silnej typizacji 244o s abej typizacji 247ObjectStateManager 348PartialView 98ReportViewer 368ReportViewerLocalReport 418Request 26 101 432Response 26Route 122ShippersRow 255SqlConnCAS 341SqlConnection 326

Kup książkę Poleć książkę

536 ASPNET MVC

obiektTableAdapter 239 244 273 274 345

edycja danych 279 286wstawianie danych 294

TransactionScope 329parametryzacja 331

typuadres 118AppDomain 466ConcurrentDictionary 479NorthwindDataSet 247ObjectSetltTgt 348Route 121Thread 466

UrlRoutingModule 121ViewBag 36

przekazywanie danych do widoku WebForms 376

ViewData 36 79 432Object Relational Mapping 347Object Services 348obs uga b doacutew

konfiguracja 132w czenie 129

odrzucenie informacji o transakcji 148od wie anie witryny

a fragment widoku 97aktualizacja zawarto ci 113cz ciowe 96

OnSuccess 96operator

await 474konkatenacji 382Top 411Top N 411

ORM 347

Pparametr

CountryName 401data 115filtr 117mapDivId 35maxIloscRekordow 117Order 137raportu 395scopeTimeOut 330

warto ci 330TransactionScopeOption

warto ci 329type 115

parametryzacja kwerend 274partial view 30

piaskownica 341Plain Old CLR Object 360platforma NET

us ugi uwierzytelniania 153plik

ascx 22aspx 22bmp 390cookie 151cookies 154 155cshtml 22 434css 475edmx 360jpg 390js 475konfiguracyjny

zabezpieczenie 187master 22png 390rdl 368rdlc 368tekstowy

wy wietlenie w przegl darce 143vbhtml 22

POCO 360pola klucza 237polecenie

HtmlEncode 187ScriptsRender 476StylesRender 476GET 18POST 18

po czenieze roacuted em danych 241

pomocnik HTML 455Portable Document Format 413po rednik 341poziom izolacji 332

Chaos 333konfiguracja 332ReadCommitted 333ReadUncommitted 333Serializable 333Snapshot 333Unspecified 333

poziom zaufania 339ograniczenie 340

proceduraajax 115AjaxBeginForm 96niemapowalna 26PartialView 26serialize 115

Kup książkę Poleć książkę

Skorowidz 537

proces 465programowanie

oparte na zdarzeniach 17zdarzeniowe 17

projekt aplikacji MVCankieta 102asynchroniczne przetwarzanie da HTTP 92Bezpiecze stwo 181 336

nawi zanie komunikacji ze roacuted emdanych 342

szyfrowanie pliku konfiguracyjnego 191dodawanie i wy wietlanie komentarzy 183domy lny 20EksportDanych 413Filtry 131formularz oceny 107Kadry

walidacja adresu e-mail 84Kardy 55KsiegaGosci_MVC3 424lista prezentuj ca dodawane elementy 97MojaNawigacja 18

blokowanie samodzielnego tworzeniakont 224

buforowanie danych 135implementacja warstwy dost pu 42instalacja na serwerze IIS 500komunikat powitalny 168komunikaty 110komunikaty o b dach 173mechanizm podpowiedzi 115model weryfikuj cy po wiadczenia

u ytkownikoacutew 196modele kontrolera uwierzytelnienia 196od wie enie widoku mapy 109struktura 21szablon 19szablon witryny 225trasowanie da HTTP 123uzupe nienie o baz danych 40uzupe nienie o walidacj danych 69widok b du 175zablokowanie nieautoryzowanego

dost pu 128zarz dzanie u ytkownikami 163zarz dzanie grupami u ytkownikoacutew 212zarz dzanie procesem logowania 198

MsAjax 92NorthwindMVC 241

lista rekordoacutew 301szablon witryny 250

POCO 361priorytety regu filtrowania 137

Raport 368szablon

mechanizmy uwierzytelnienia 156zarz dzanie grupami u ytkownikoacutew 159

Transakcje 319aktualizacja danych 328formularz aktualizacji 328szablon stron 320

uzupe nianie widokiem GridView 49WyrazeniaRegularne 76Zapytania_EF 349

projekt aplikacji MVC4AsynchronicznyKontroler 466

prezentacja danych 468AutoryzacjaOAuth 461implementacja serwisu sieciowego 479konfiguracja grupowania 475MobileMvc 450

testowanie 457pobranie zdj cia 452przygotowanie listy pracownikoacutew 452SerwisSieciowy 477

projekt aplikacji Windows Formsedycja danych 487KlientWebAPI 483tworzenie nowych pracownikoacutew 486

dania typuDELETE 493POST 486PUT 491

projektowaniekontrolera 27widoku 31

protokoacuteFTP 495Kerberos 150NTLM 150SMTP 495SSL 337

proxy 341przechowywanie

informacji o trasach 44wynikoacutew g osowania 107

przeci enie aplikacji 147przekazywanie

danych 44mi dzy widokiem a kontrolerem 36

parametroacutew do metod akcji kontrolera 26przestrze nazw

SystemThreading 465przyjazne linki 122publikowanie aplikacji 495 500

na serwerze IIS 497

Kup książkę Poleć książkę

538 ASPNET MVC

pule aplikacji 465 497konfiguracja 498Windows 7 499Windows 8 500

Rraporty

dane w postaci macierzowej 390data 386definicja

dynamiczna 418filtrowanie danych 394

na poziomie roacuted a 401 418filtry 395formaty prezentacji danych 379grupowanie danych 381hiper cza 387

nawigacyjne 376kolumny obliczeniowe 378konfiguracja

filtrowania dynamicznego 396typu 392roacuted a danych 368

kreator formu 382macierzowe 391numery stron 386obrazy 390parametry 383 394

konfiguracja 399paski narz dziowe 379pola

bazy danych 386formularza 398raportu 390

po czenie z aplikacj 368prezentowanie uk adu graficznego 383projektowanie 371

i prezentowanie 368przystosowanie strony do obs ugi raportoacutew

387renderowanie 368tryby definicji 368tworzenie

definicji lokalnej 368formu 378przy u yciu kreatora 372

uk ad 383wstawianie nag oacutewka i stopki 385wykresy 406wy wietlenie 375

Razor 21 30przetwarzanie definicji widoku 208

RDL 418rekordy

edycja 307lista 301tworzenie 311usuwanie 305

Relationship 347Report Definition Language 418Report Wizard 371repudiation 148request 442response 442responsywno 464rollback transaction 319routing 22 430routowanie 121

SSandBox 341scaffolding 301Secure Socket Layer 337sekcja

membership 178roleManager 179set 441

serwerSMTP

konfiguracja 171us ug informacyjnych 149

weryfikacja to samo ci u ytkownika 149Simple Mail Transfer Protocol 495s owo kluczowe

helper 455await 474using 47 329

spaghetti code 18spoofing 147SQL Server Reporting Services 367SSRS 367stan pola

typu CheckBox 269pobieranie 264

STRIDE 148strona startowa

MojaNawigacja 226strona wzorcowa 30

aplikacji Kadry 55referencja do bibliotek skryptoacutew 70

systemowy serwer us ug informacyjnych 121szyfrowanie po czenia 335

ze roacuted em danych 336

Kup książkę Poleć książkę

Skorowidz 539

Ttabela danych

Categories 418Customers 305deklaracje kaskadowych arkuszy stylu 275edycja

danych 279danych w wierszu 257rekordoacutew 307 310

Employees 240 288filtrowanie listy 275integralno danych 288Konta 321 326kwerenda wybieraj ca 240Orders 291 315OrdersDetails 307pobieranie fotografii 276pobranie danych z wykorzystaniem JScript 280prezentacja

danych 277 325informacji 252listy danych 248pierwszego rekordu 246rekordoacutew 317

przekazanie do widoku 248Shippers 251tworzenie rekordoacutew 311umieszczenie w bazie danych 321uruchomienie edycji danych 258usuwanie

danych 288rekordoacutew 271 305 306

widok b du 268wstawianie

danych 294rekordoacutew 251

wy wietlenie listykonfiguracja hiper cza 315

zako czenie edycji rekordu 267tablica asocjacyjna 479tablica bajtoacutew

konwersja do bitmapy 277tampering 147task pane 371Task-based Asynchronous Pattern 465TDD 15

test jednostkowy funkcjonalno ci kontrolera28

Test-Driven Development 15testowanie

aplikacji 29wzorcoacutew wyra e regularnych 76 78

Toolbox 274

transakcje 319automatyczne zarz dzanie 327otaczaj ce 329poziom izolacji 332tworzenie i r czna kontrola 319

trasowanie 121aplikacja 430blokowanie dost pu 124domy lne regu y 123Ksi gaGosci_MVC3 430w asne regu y 124

trasowanie adresoacutew URL 121T-SQL 319

czynno ci bazodanowe 345tworzenie

bazy danych 40interfejsu u ytkownika

jQM 459szablony 231wzorzec MVVM 227

u ytkownika 200kody b doacutew 201

widoku Index 231wzorcoacutew wyra e regularnych 76

typed DataSet 244typizacja

silna 46s aba 46

typy puste 27

Uujawnienie krytycznych informacji 147ukryte pola 441Uniform Resource Locator 18URL 18uruchomienie aplikacji 503us uga

AspNetSqlProvider 178ustawienia aplikacji 167

odczytanie z pliku konfiguracyjnego 169UTC 155uwierzytelnienie 149

centralny serwis 151certyfikaty 150formularze logowania 151

atrybuty elementu forms 154konfiguracja 153mechanizmy zintegrowane z ASPNET 149na bazie protoko u NTLM 150przekazywanie informacji 151proste 150skroacutecone 150us ugi systemu Windows 150

Kup książkę Poleć książkę

540 ASPNET MVC

Vvariable placeholders 122view engine 21views 16viewstate 442Visual Studio

kreator projektu 19Visual Studio Development Server 496VS 2012

instalacja 240kreator Add New Item 242

VSDS 496

Wwalidacja

adresue-mail 83URL 83WWW 84

danych 53a technologia Entity Framework 68konfiguracja 66modelu Pracownik 66odwo anenie do jQuery 61po stronie klienta 67wyra enia regularne 73

skrypty i style walidatoroacutew 438w asno ci klasy encji 435

w tek 465Web API 477

edycja danych 491klient 483konfiguracja interfejsu 478obs uga da typu POST 486pobranie danych z serwera 485serwis sieciowy 479usuwanie danych 493

web serwer 495Web Site Administration Tool 161

konfigurowanie uprawnie 165zarz dzanie

dostawcami us ug 178u ytkownikami 163

WebForms 17bezpiecze stwo aplikacji 152integracja komponentoacutew z MVC 367kontrolka Repeater 434obs uga wyj tkoacutew 172przetwarzanie dania aplikacji klienckiej 18separacja modelu 427weryfikacja poprawno ci projektu 434

weryfikacjakodu pocztowego 81to samo ci 151

widok 16 25 30aplikacji

MVC4 453przystosowanie do urz dze mobilnych

459Transakcje 326

cz ciowy 30dodawanie 31edycji klienta 307elementy 31formularz

dodawania wpisu 425logowania 203

kontroleraaplikacja Kadry 58panelu administracyjnego 222

kontrolera AdminController 213kontrolera Dopasowania 77kontrolera ErrorControler 174kontrolera Glosowania 103kontrolera Home 131 169 182 307

metodaWyswietlLog 142Raport 375Transakcje 320

kontrolera HomeController 246AsynchronicznyKontroler 468EksportDanych 417

kontrolera Lista 93kontrolera Mapa 33 34

formularz 70Trasa 50

kreatorakonta u ytkownika 205zmiany has a 206

listyklientoacutew 302pracownikoacutew 61wyznaczonych tras 48zamoacutewie 316

mapyod wie enie 108parametryzacja 34

mechanizm przetwarzania 30modyfikowanie formularza 437obs uga wyj tkoacutew 130Pracownicycshtml 453projektowanie 31transfer danych do kontrolera 36typu CRUD 52

Kup książkę Poleć książkę

Skorowidz 541

typu GridViewimplementacja 48

typy plikoacutew 30utworzenie 30uzupe nianie tre ci 33walidacja 435wi zanie z modelem 437wstawianie rekordoacutew 312wynikoacutew ankiety 105wy wietlanie wpisoacutew 432

wielodziedziczenie 360Windows Authentication Provider 149Windows Data Protection API 187Windows Forms

implementacja klienta 483Windows Live ID 149w a ciwo

ConnectionString 243IsMobileDevice 460ModelStateIsValid 47

wstawianie rekordoacutew 299wstrzykni cie kodu 181 185wykresy 406

konfiguracjaserii danych 407typu 407

pobranie danych roacuted owych 408wy czenie aplikacji 171wyra enia lambda 46wyra enia regularne 73

atrybuty modelu 84liczba wyst pie sk adnikoacutew 76wzorzec

adres URL 83imi e skie 81kod pocztowy 80tworzenie 76

znaki i cyfry 74znaki specjalne 74znaki w wyznaczonych miejscach a cucha 75

wzorzecodnajdywanie

znakoacutew i cyfr 74znakoacutew specjalnych 74znakoacutew w wyznaczonych miejscach

a cucha 75okre lanie

liczby wyst pie znakoacutew 76

XXSS 181

Zzabezpieczenia

aplikacji bazodanowych 335ataki XSS 187informacje o b dach 171kodu po redniego 338konfiguracja 161konfiguracja aplikacji

kreatory 162obs uga wyj tkoacutew 171pliku konfiguracyjnego 167 187przed atakami 148ustawienia aplikacji 167witryny 181zarz dzanie dostawcami us ug 178z o liwy kod 181

zarz dzanieu ytkownikami i grupami 211

dost p do panelu administracyjnego 216lista grup 221podzia na grupy 220pobieranie listy 213tworzenie nowej grupy 222zmiana przynale no ci do grupy 215

z o ono ci aplikacji 16zdarzenie

DataGridViewCellDoubleClick 491rejestrowanie 430

z o liwy koddzia anie 181

znacznikinput 288

znaki specjalneodnajdywanie 74

zwi zanie z modelem 48zwi zek 347

danie 25asynchroniczna obs uga 92 466 470

skrypty 318zadania 473

GET 64POST 64przetwarzanie 127zablokowanie obs ugi 124

Kup książkę Poleć książkę

Notatki

Kup książkę Poleć książkę

312 Cz II Technologie bazodanowe w aplikacjach internetowych

Listing 186 Widok umo liwiaj cy wstawianie rekordoacutew do tabeli Customers

model NorthwindMVCModelsNorthwindDataSetCustomersRow

ViewBagTitle = ScaffoldingCreate

lth2gtScaffoldingCreatelth2gtlth2gtTworzenie rekordulth2gt

ltscript src=UrlContent(~Scriptsjqueryvalidateminjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~Scriptsjqueryvalidateunobtrusiveminjs)type=textjavascriptgtltscriptgt

using (HtmlBeginForm(DodajKlienta Home)) HtmlValidationSummary(true) ltfieldsetgt ltlegendgtDane klientaCustomersRowltlegendgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCustomerID) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCustomerID) HtmlValidationMessageFor(model =gt modelCustomerID) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCompanyName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCompanyName) HtmlValidationMessageFor(model =gt modelCompanyName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactName) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactName) HtmlValidationMessageFor(model =gt modelContactName) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelContactTitle) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelContactTitle) HtmlValidationMessageFor(model =gt modelContactTitle) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelAddress) ltdivgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 313

ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelAddress) HtmlValidationMessageFor(model =gt modelAddress) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCity) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCity) HtmlValidationMessageFor(model =gt modelCity) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRegion) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRegion) HtmlValidationMessageFor(model =gt modelRegion) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPostalCode) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPostalCode) HtmlValidationMessageFor(model =gt modelPostalCode) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCountry) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCountry) HtmlValidationMessageFor(model =gt modelCountry) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPhone) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPhone) HtmlValidationMessageFor(model =gt modelPhone) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelFax) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelFax) HtmlValidationMessageFor(model =gt modelFax) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRowError) ltdivgt ltdiv class=editor-fieldgt

Kup książkę Poleć książkę

314 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlEditorFor(model =gt modelRowError) HtmlValidationMessageFor(model =gt modelRowError) ltdivgt

ltpgt ltinput type=submit value=CreateUtwoacuterz gt ltpgt ltfieldsetgt

ltdivgt HtmlActionLink(Back to List Index) HtmlActionLink(Powroacutet do listy ScaffoldingList)ltdivgt

5 Definicj kontrolera Home uzupe nij o polecenia z listingu 187

Listing 187 Wstawianie rekordoacutew do tabeli Customers

private char PobierzZnak(string lancuch int index) Random random = new Random() char znak

if (lancuchLength gt index) znak = lancuch[index] else znak = (char)randomNext(0 255)ToString()[0]

return znak

private void UtworzIdentyfikatorKlienta(ref NorthwindDataSetCustomersRowdaneKlienta)

string identyfikator = int indexZnaku = 0

identyfikator += PobierzZnak(daneKlientaCompanyName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactTitle indexZnaku) identyfikator += PobierzZnak(daneKlientaAddress indexZnaku) identyfikator += PobierzZnak(daneKlientaCity indexZnaku)

daneKlientaCustomerID = identyfikator

public ActionResult DodajKlienta(FormCollection daneKlienta string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersNewCustomersRow()

PrzepiszDaneKlienta(daneKlienta ref cdr)

UtworzIdentyfikatorKlienta(ref cdr)

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 315

customersTableAdapterInsert(cdrCustomerID cdrCompanyName cdrContactName cdrContactTitle cdrAddress cdrCity )

AktualizujDaneKlientow()

return ScaffoldingList()

Wstawienie rekordoacutew do tabeli Customers jest analogiczne do ich edycji Jedyn roacute -nic jest konieczno utworzenia identyfikatora klienta gdy nie jest on tworzonyautomatycznie jak to by o w przypadku tabeli Employees Identyfikatory rekordoacuteww tabeli Customers s pi cioelementowymi ci gami znakoacutew Tworz je na podstawiepierwszych liter poacutel CompanyName ContactName ContactTitle Address oraz City Je liw tych polach znajduj si puste ci gi to odpowiedni liter zast puj losowo wyge-nerowanym znakiem

W kolejnym podrozdziale poka w jaki sposoacuteb wy wietli informacje o rekordachpotomnych opieraj c si na relacji pomi dzy tabelami

Formularz z podformularzem(MasterDetail Form)

Jako podsumowanie tego rozdzia u utworz formularz z podformularzem tak zwanyformularz MasterDetail Jego dzia anie polega na tym e wy wietlanie danych od-bywa si na bazie co najmniej dwoacutech komponentoacutew (np blokoacutew czy tabel) oraz rela-cji mi dzy tabelami Pierwszy komponent prezentuje rekordy zawarte w tabeli g oacutew-nej (ang master) a drugi zawiera dane z tabeli podrz dnej (ang detail) Komponentzwi zany z tabel podrz dn ma zazwyczaj za zadanie prezentowa szczegoacute owe da-ne odpowiadaj ce rekordowi z tabeli nadrz dnej ktoacutery zosta wskazany przy pomocyzwi zanej z nim listy rekordoacutew Pola tych tabel musz by zatem uporz dkowane w takisposoacuteb aby pokazywa y informacj o tym samym rekordzie Uzyskuje si to przy po-mocy relacji mi dzy tabelami ktoacuterej zadaniem jest powi zanie informacji zawartychw bazie danych

W tym podrozdziale tabel nadrz dn b dzie tabela Customers a podrz dn OrdersPo klikni ciu na hiper cze z etykiet zamoacutewienia wy wietli si lista rekordoacutew tabeliOrders skojarzonych z danym klientem dania prezentacji zamoacutewie b d realizo-wane asynchronicznie

1 Plik widoku ScaffoldingListcshtml zmodyfikuj wed ug wzoru z listingu 188

Listing 188 Konfiguracja hiper cza umo liwiaj cego wy wietlenie listy zamoacutewie danego klienta

hellipforeach (var item in Model) lttrgt lttdgt

Kup książkę Poleć książkę

316 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlDisplayFor(modelItem =gt itemCustomerID) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCompanyName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactTitle) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemAddress) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCity) lttdgt lttdgt HtmlActionLink(Edytuj ScaffoldingEdit new id = itemCustomerID ) | AjaxActionLink(Zamoacutewienia ScaffoldingMasterDetail new id = itemCustomerID new AjaxOptions UpdateTargetId = zamowienia OnSuccess = documentgetElementById(zamowienia)scrollIntoView() ) | HtmlActionLink(Usu ScaffoldingDelete new id = itemCustomerID ) lttdgt lttrgtlttablegt

ltdiv id=zamowieniagtltdivgt

2 Utwoacuterz widok cz ciowy o nazwie ZamowieniaPartialViewcshtml i wstaww nim polecenia z listingu 189

Listing 189 Definicja widoku prezentuj cego list zamoacutewie

model IEnumerableltNorthwindMVCModelsNorthwindDataSetOrdersRowgt

if (Model == null) lth2gtBrak zamoacutewie lth2gtelse lth2gtLista zamoacutewie lth2gt

lttablegt lttrgt ltthgt OrderDate ltthgt ltthgt RequiredDate ltthgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 317

ltthgt ShippedDate ltthgt ltthgt ShipName ltthgt ltthgt ShipAddress ltthgt ltthgt ShipCity ltthgt ltthgtltthgt lttrgt

foreach (var item in Model) lttrgt lttdgt itemOrderDateToShortDateString() lttdgt lttdgt itemRequiredDateToShortDateString() lttdgt lttdgt itemShippedDateToShortDateString() lttdgt lttdgt itemShipName lttdgt lttdgt itemShipAddress lttdgt lttdgt itemShipCity lttdgt lttrgt lttablegt

3 Kontroler Home uzupe nij o metod ScaffoldingMasterDetail ktoacuterej definicjprzedstawi em na listingu 1810

Listing 1810 Pobranie i prezentacja rekordoacutew potomnych wybranego klienta

public ActionResult ScaffoldingMasterDetail(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) NorthwindDataSetOrdersRow[] zamowieniaPracownika = null

if (cdr = null) zamowieniaPracownika = (NorthwindDataSetOrdersRow[])cdrGetChildRows(FK_Orders_Customers)

Kup książkę Poleć książkę

318 Cz II Technologie bazodanowe w aplikacjach internetowych

if (RequestIsAjaxRequest()) return View(ZamowieniaPartialView zamowieniaPracownika) else return ScaffoldingList()

4 Sekcj ltheadgt pliku _Layoutcshtml uzupe nij o polecenia z listingu 1811

Listing 1811 Import skryptoacutew obs uguj cych dania asynchroniczne

ltscript src=UrlContent(~Scriptsjqueryunobtrusive-ajaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftAjaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftMvcAjaxjs)type=textjavascriptgtltscriptgt

5 Po skompilowaniu i uruchomieniu aplikacji powiniene uzyska efektanalogiczny do przedstawionego na rysunku 186

Rysunek 186 Przyk ad formularza typu MasterDetail

Kup książkę Poleć książkę

Skorowidz

AACL 149action methods 25ActiveX Data Object 238ADO 238ADONET 238

obiekty 238podstawy 237synchronizacja buforu ze roacuted em danych 273

adresy URLautoryzacja 157parametry 122trasowanie 121wzorce 122 123

agile programming 15AJAX 91

aktualizacja bloku witryny 113dodanie referencji do bibliotek JavaScript 94

akcjaCreate 354Delete 357Details 353dodaj ca nowy produkt 355Edit 356

aktualizacjazawarto ci elementu witryny 92

algorytmRSA 187

ambient transaction 329ankieta 102AntiXss 187aplikacje

bazodanowe 235bezpiecze stwo 335mechanizm transakcji 319scaffolding 301

synchronizacja ze roacuted em danych 273uwagi do projektowania 345

mo liwo edytowania wpisoacutew 441rejestrowanie zdarze i trasowanie 430

Application Domain 339architektura obiektowa 347ASPNET

konfiguracja aplikacji 161mechanizmy uwierzytelnienia 149metody globalne 107w czanie i wy czanie aplikacji 171

ASPNET AJAX 91ASPNET MVC 15

komponenty 16ASPX 21 30asynchroniczne przetwarzanie da http

jQuery 113Asynchronous JavaScript and XML 48Asynchronous Programming Model 464ataki

rodzaje 147SQL Injection 148 344wy udzenie informacji 148z o liwy kod 181

atrybut 347AcceptVerbs(HttpPost) 47AcceptVerbs(HttpVerbsPost) 65AssociationAttribute 58Authorize 200AuthorizeAttribute 128autoryzacyjny 145ConcurrencyCheckAttribute 58Confirm 95cookieless 154CustomValidationAttribute 58 66data-bind 230DataType 54 57

Kup książkę Poleć książkę

528 ASPNET MVC

atrybutDataTypeAttribute 58defaultRedirect 173defaultUrl 154DisplayAttribute 58DisplayColumnAttribute 58DisplayName 436EditableAttribute 58enableCrossAppRedirects 155EnumDataTypeAttribute 58FilterUIHintAttribute 58HandleError 138 175HandleErrorAttribute 129HttpMethod 95InsertionMode 95KeyAttribute 58klasy do konfiguracji metadanych 57 58LoadingElementDuration 110LoadingElementId 95 110Log

klasa implementuj ca 142loginUrl 154MetadataType 69MetadataTypeAttribute 58mode 153 173modelu 55name 155NonAction 26 135OnBegin 95OnComplete 95OnFailure 95OnSuccess 95 110OutputCache 133OutputCacheAttribute

parametry 134passwordFormat 156protection 155Range 54 66RangeAttribute 58redirectMode 173RegularExpressionAttribute 58Required 54 66RequiredAttribute 58RequireHttps 135requireSSL 155slidingExpiration 155StringLength 66StringLengthAttribute 58TestClass 29TestMethod 29ticketCompatibilityMode 155timeout 155TimestampAttribute 58UpdateTargetId 95

Url 95ValidateInput 185

atrybuty modeluwyra enia regularne 84

Attribute 347authentication ticket 151auto post back 217autocomplete textbox 115automatyczne uzupe nienie pola tekstowego 115autoryzacja 149 157

adresoacutew URL 157konfiguracja 157

grupy u ytkownikoacutew 158mechanizm filtrowania 158otwarta 460plikoacutew 157zdalna

powi zanie z portalem Facebook 461Azure 496

Bbazy danych 40 237

aktualizacja 41lista rekordoacutew 301Northwind 240

detale produktu 352dodawanie po cze 350pobieranie produktoacutew 351

po czenie ze roacuted em danych 241relacyjne 237schemat CRUD 301transakcje 319tworzenie 321

nowego rekordu 48schematu na bazie modelu encji 357

usuwanie danych 290regu y integralno ci 293

usuwanie powi zanych wierszyrekordy potomne 291

warstwa dost pu 42bezpiecze stwo

aplikacji internetowych 147ataki 147mechanizmy 149

biblioteka NETprogramowanie asynchroniczne 464

biblioteka skryptoacutewMapajs 32

bilet uwierzytelniaj cy 151b dy

dzia ania aplikacji 171strona b du 176tworzenie u ytkownika 202wprowadzenie z ego rekordu 268

Kup książkę Poleć książkę

Skorowidz 529

body 383buforowanie

danych ze roacutede zewn trznych 133bundling 475Business Intelligence 368

Ccallback 35CAS 151 338CDN 113Central Authentication Service 151centralna us uga uwierzytelnienia 151certyfikat 337CLR

procesy systemowe 466Code Access Security 338Confirm 96connString 341controllers 16Coordinated Universal Time 155Create Read Update Delete 301cross-site scripting 181CRUD 54 301Crystal Reports 368

Ddane

agregacja 378bezpo redni dost p do roacuted a 346eksport 413

do dokumentu tekstowego 419do PDF 420skoroszyt MS Excel 421tabele dynamiczne 418

integralno 288 319pomini cie sprawdzania 292regu y 291

modyfikacja 249platforma modelowania 347prezentacja

graficzna 406w postaci macierzowej 390

przekazywaniez formularza do roacuted a 46z kontrolera do widoku 437 439

serializacja i transfer struktur 117szyfrowanie 337typu

ActionResult 25walidacja 53weryfikacja 53wi zy integralno ci 306

wy wietlanie 315zabezpieczenie 338

Data Binding 389Data Definition Language 345Database Management System 237DBMS 237

wi zy integralno ci 238DDL 345denial of service 147detail 315Development Server 504DIE 53DisplayFormatAttribute 58document object model 92DOM 92domena aplikacji 339 466

instancja obiektoacutew 341tworzenie 339wspoacute dzielenie obiektu 341

dostawcy us ug 178dost p anonimowy 150DotNetOpenAuth 149DPAPI 187DRY 53dyrektywa

model 46

Eelement

customErrors 173success 115

elevation of privilege 147encapsulation 107encja 347

atrybuty 54bazodanowa 54KategoriaProduktu 358odwzorowanie w bazie danych 360Order_Details 362Orders 361Products 361Produkt 358

Entity 347Entity Framework 43 347

POCO 360potwierdzenie explicite 356technologie 349wersje 347

Entity Relationship Model 347Entity SQL 349ERM 347Event-based Asynchronous Pattern 465event-driven programming 17

Kup książkę Poleć książkę

530 ASPNET MVC

FFile Transfer Protocol 495filtry 127

akcji 127 139autoryzacyjne 127 144dynamiczne 395kolejno wykonywania 137

priorytety 138Log

metody 141LogAttribute

definicja klasy 140podstawowe atrybuty 128statyczne 395w asne 139wyj tkoacutew 128 144

niestandardowe 145wyniku 128 144

for 434foreach 51Forms Authentication Provider 149formularz

MasterDetail 315z podformularzem 315

funkcjadelay 217ListaPracownikoacutew 57Mid 390RolesIsUserInRole 217Today 390wyznaczaj ca tras 109zmienPrzynaleznoscDoGrupy 217 218

GGauge 383 403GDI 368graficzny interfejs u ytkownika 17 30Graphics Device Interface 368GridView 48grupy u ytkownikoacutew

autoryzacja 158GUI 17

Hhard-coding 167haszowanie 150helper methods 25html helper 455

Iidentyfikator

klienta 315rekordoacutew 315

IIS 121 149 495instalacja

ASPNET 445 498serwera w Windows 7 496serwera w Windows 8 496

mened er Windows 499uruchamianie aplikacji 503

serwer do rozwoju aplikacji 504information disclosure 147instancje aplikacji 465instancjonowanie modelu 39IntelliSense 247interfejs u ytkownika

przycisk umo liwiaj cy dodanie pracownika294

przycisk usuni cia wybranego rekordu 289Internet Information Services 121internetowe us ugi informacyjne 495in ynieria spo eczna 148Isolation Level 332izolacja 339 466

JJavaScript Object Notation 117jQM 457jQuery

autocomplete 116pliki roacuted owe 113

jQuery Mobile 457jQuery UI 367

wykorzystanie przyciskoacutew 284JSON 117

obiekt typu adres 118

KKey Performance Indicators 403klasa

AccountController 198ActionExecutingContext 143AdminController 212Ajax 94AjaxOptions 94

atrybuty 95AspNetHidden 442AssemblyName 170Assert 29

Kup książkę Poleć książkę

Skorowidz 531

AuthConfig 461BundleConfig 475Configuration 170ConfigurationManager 170ConfigurationSection 187 188ConnectionStringBuilder 345DpapiProtectedConfigurationProvider 187FiltryRaportuMacierzowego 397Form1 484FormsAuthentication 152Global 430HandleErrorInfo 133HtmlHelper 437HttpClient 483 486HttpResponseMessage 486kontekstu 362LogOnModel 198MarshallByRefObject 341Membership 152 198 211MvcApplication 430NorthwindContext 362ObjectContext 348ObjectQueryltTgt 348Order_Details 362Orders 361Osoba 228ParametryWatku 470Pracownik 484Products 361Produkt 230Raport 392RequestBrowser 460ResultExecutedContext 144ResultExecutingContext 144Roles 211RsaProtectedConfigurationProvider 187SQLConnCAS

definicja 340stowarzyszona z modelem 69SystemNetHttpFormattingJsonMediaTypeF

ormatter 491SystemTextRegularExpressions 74SystemWebSecurityRoles 159Task 465 472testuj ca 29Thread 465 469TransactionScope 327UrlRoutingModule 121ViewData 434 436 439WebApiConfig 478WebConfigurationManager 170Wpisy 427 436

klucze 237MAC 155obce 238podstawowe 238

kluczowe wska niki efektywno ci 403dynamiczna zmiana warto ci 404

Knockout 227wykorzystanie szablonoacutew JavaScript 230wywo anie skryptu 229

kodowanie danychprzekazywanych przez u ytkownikoacutew 186

komponentFormDanePracownika 489obiektu

PartialView 99typu ListBox 99

ReportViewer 368 375eksport danych 413nawigacja mi dzy stronami raportu 377

komponenty u ytkownika 30komunikaty o b dach 171

kod statusowy 174 175koncepcja programowania zdarzeniowego 16konfiguracja

po czenia z baz danych 241uprawnie puli aplikacji 454walidacji danych 66

konkurencyjno aplikacji 332kontekst wi zania 389kontrola wprowadzanych danych 263

metoda onColumnChanged 269wstrzymanie walidacji wiersza 267zako czenie edycji rekordu 267

wymuszenie 267kontroler 16 25

AccountController 195Admin 223AdminController 212aplikacja Kardy 63asynchroniczny 466

a zadania 472dane wyj ciowe 25domeny 150ErrorController 174Glosowania 103Home 182 224 228 231

Bezpiecze stwo 336filtr wyj tku 131

HomeController 184EksportDanych 415Northwind 245

interfejs Web API 477KsiegaGosciController 424

Kup książkę Poleć książkę

532 ASPNET MVC

kontrolerLista 93Mapa 33

autouzupe nianie 117modyfikacja 45

niedost pne metody publiczne 136obs uga POST 431panelu administracyjnego 212

zarz dzanie grupami u ytkownikoacutew 220Pracownicy 57 64PracownicyController

implementacja 481Produkty 351projektowanie 27przekazywanie danych do widoku

zmiany 439uwierzytelnienia 195

klasa 198model 196widoki 203

uzupe nienie o widok 31u ycie modelu odsy anego przez widok 440ValuesController 478weryfikacja funkcjonalno ci 28wi zanie adresu URL z akcj 430widoki 58

konwersja obrazu 278kreator

Add New Item 242Add View 59 302Application 162blokowania szczegoacute oacutew b doacutew 172dodanie u ytkownikoacutew 164grup u ytkownikoacutew 165Provider 162Publish Web 501Security 162tworzenia pracownika 59ustawie aplikacji 167widokoacutew 60wyboacuter dostawcoacutew us ug 178

kwerendy parametryczne 274 401

Llayout witryny 30LINQ

to Entities 349lista rekordoacutew 301

prezentacja 304logika

aplikacji 30bazodanowa 30biznesowa 44

a cuch QueryString 26

Mmaster 315mechanizm

automatycznych w a ciwo ci 57autoryzacji 157eksportu danych 413filtroacutew 127grupowania plikoacutew 475IntelliSense 119QuerynotString 117szyfruj cy 187transakcji 319 321

przelewy bankowe 326wyznaczania trasy przejzdu 34

meotdaInsert 299ProtectSection 191WersjonowanieDataRow

definicja widoku 265message authentication code 155metoda

on 262HtmlValidationSummary 204About 124AcceptChanges 255 263ActionLinkActionLink 61 63 353AddUserToRole 159akcji 25

parametry opcjonalne 27aktualizacja statystyk ankiety 105AktualizujZdjeciePracownika 288Application_AuthenticateRequest 108Application_BeginRequest 107 108Application_End 108Application_EndRequest 107Application_Error 108 172Application_Start 108 123 139 430asynchroniczna kontrolera 472AttachTo 356Authenticate 152AutoUzupelnienie 117

zapytanie LINQ 118BeginEdit 267BeginForm 47 94BeginTransaction 326 332CancelEdit 263ChangeObjectState 356

Kup książkę Poleć książkę

Skorowidz 533

ChangePassword 200hiper cze 208widok 206

ChangePasswordSuccesswidok 206

CreateNazwaEncji 354CreateRole 159CreateUser 153czyBazaDanychIstnieje 326daneDostawcyForm 262DBeginnotEdit 263Delete 270DeleteObject 357DeleteRole 159DeleteUser 153DeszyfrujPlikKonfiguracyjny 191DodajDostawce 255DodajElementDoListy 94 97 101DodajGrupe 223DodajKomentarz 185DodajPracownika 299 491DopiszDoPlikuLog 430Edit 356EdytujDaneDostawcy 261EdytujDanePracownika 493Eksportuj 418EmptyResult 26EndEdit 263EndForm 47ErrorCodeToString 201Fill 246FillByCityName 275FormatDateTime 390FormsAuthenticationSetCookie 199GenerujDane 468Get(int id) 478GetAllRoles 159GetAsync 486GetChildRecords 291GetSection 170GetSectionGroup 170GetUser 153GetUsersInRole 160globalna

aplikacji ASPNET 108Grupy 223HasVersion 263HtmlListBox 97HtmlRenderPartial 101HtmlValidationSummary 61HtmlHelperLabel 437ImiePierwszegoPracownika 246 247Include 475Index 47 79 97 101

kontrolera Mapa 34testowanie 28

IsAjaxRequest 101IsMatch 76IsNotNull 29IsUserInRole 159Label 35ListaDostawcow 252 255ListaPracownikow 248

hiper cze skojarzone 249LogOff 198LogOn 198Macierzowy 397mapowalna 26MetodaAsynchronicznaWatki 472ModelStateAddModelError 199MvcApplicationRegisterRoutes 430obs uga zapyta POST 431odczyt aktualnych bilansoacutew kont 323OdczytajStanyKont 326OnActionExecuted 143OnActionExecuting 127 143onColumnChanged 269OnResultExecuted 144OnResultExecuting 144onRowChanged 266onRowChanging 268OpenConfiguration 170otwarcie po czenia z baz danych 341OtworzPlikDanych 107Page_Load 399PartialViewResult 26PobierzDane 394

modyfikacja 401PobierzPlikLogu 141 143PobierzZdjecie 278PokazTrasy 51PokazWyniki 107pomocnicza 25 455

HtmlEncode 51wykorzystanie 456

PostAsJsonAsync 486PostAsXmlAsync 486PostAsync 486PostResolveRequestCache 121PracownicyWedlugMiast

przechowywanie warto ci filtru 285PutAsJsonAsync 493PutAsXmlAsync 493PutAsync 493ReadAsAsync 486ReadXml 107ReadXmlSchema 107RedirectFromLoginPage 152

Kup książkę Poleć książkę

534 ASPNET MVC

metodaRedirectResult 26RedirectToAction 26RedirectToLoginPage 152RedirectToRoute 26RedirectToRouteResult 26RefreshReport 384Register 199 478RegisterAuth 461 462RegisterBundles 475RegisterGlobalFilters 171RegisterRoutes 94 123RejectChanges 256 263rejestrowanie zdarze aplikacji 430RemoveUserFromRole 160Render 384 413 418RenderPartial 99ResponseWrite 223ResultExecuteResult 143RoleExists 159RolesIsUserInRole 216RolesRemoveUsersFromRole 223route 35RowsAdd 255RozpocznijEdycje 269

hiper cze uruchamiaj ce 267SaveChanges 354ScaffoldingMasterDetail 317Session_End 108Session_Start 108SetAuthCookie 152SetParameters 401 405SignOut 152SprawdzDopasowania 79SprawdzPoprawnoscDatyZatrudnienia 67SqlPermissionAdd 343SqlTransactionCommit 326SqlTransactionRollback 326StronaNieIstnieje 175submit 115SzyfrowaniePlikuKonfiguracyjnego 190szyfruj ca i deszyfruj ca 189SzyfrujPlikKonfiguracyjny 191TextBox 35ThreadSleep 469 472TransactionScopeComplete 329Transfer 36UpdateUser 153UstawParametryRaportu 399UsunGrupe 223UsunTrase 50 51UtworzPracownika 64Uzytkownicy 216ValidateUser 152 153

ValidationMessage 437ValidationMessageFor 61ValidationSummary 437ViewResult 26WebApiConfigRegister 478WersjonowanieDataRow 265

sparametryzowanie 266WpisyZapiszDoPlikuXml 430wykonywanie przelewoacutew 323WyswietlLog 141 142 143wyswietlMape 34 35WyswietlTrase 50

modyfikacja 135 166wyznaczTrase 35ZaktualizujWyniki 107Zapami tajNazw U ytkownika 432ZmienStanKont 328

Microsoft SQL Server 319sposoby uwierzytelnienia 344

MIME type 390minification 476minimalizacja 476model 16 39

APM 464ChangePasswordModel 196EAP 465integracja z elementami aplikacji 39LogOnModel 196obs uga plikoacutew XML 427przesy anie z kontrolera do widoku 432 435RegisterModel 196TAP 465

model binding 48model danych encji 348

dodawanie encji 353edycja encji 355kreator 348 349

czenie encji 359metody akcji 354opcje 361projektowanie relacji 43tworzenie 349

schematu bazy danych 357usuwanie encji 357wyboacuter tabel 350

model first 52model zwi zkoacutew encji 347models 16Model-View-Controller 15Model-View-ViewModel 227Model-Widok-Kontroler 15modu

UrlAuthorizationModule 157

Kup książkę Poleć książkę

Skorowidz 535

MVC 15a Web Forms 16 365 367 423

kod 442serwer internetowych us ug

informacyjnych 495wydajno 443wykorzystanie w projektach 444

ataki XSS 185autoryzacja 158 162bezpiecze stwo aplikacji 152buforowanie 134domy lne wzorce aplikacji 21kreator aplikacji 20mechanizm filtrowania 127Model Binder 355nazwa kontrolera 27obs uga interakcji klient-serwer 121parametry opcjonalne 27pobieranie parametru z adresu URL 26projektowanie aplikacji 18 52przetwarzanie dania aplikacji klienckiej 18sprawdzanie poprawno ci danych 68struktura modelu 39techniki walidacji danych 53utworzenie widoku 30uzupe nianie o komponenty graficzne 367walidacja 438wersja 4 449wyboacuter mechanizmu przetwarzaj cego widoki 21wzorce URL 122zbioacuter modeli szablonu aplikacji 196roacuted o danych 40

MVC4 449grupowanie i optymalizacja skryptoacutew 475kaskadowe arkuszye stylu 475przetwarzanie asynchroniczne 464przystosowanie do urz dze mobillnych 457testowanie aplikacji 457uwierzytelnianie 460

integracja z portalem Facebook 462wsparcie dla urz dze mobilnych 450zdalna autoryzacja 461

MVVM 227

Nnarz dzie

aspnet_regiis 187przetwarzanie tekstu 73

Northwindinstalacja 240kwerenda wybieraj ca 240pobieranie informacji o dostawcach 251

NuGET 483nullable-types 27

OOAuth 461obiekt

AppDomain 339 341Chart 406Command 239Connection 239 241

w a ciwo i 243ConnectionString 343

sposoby uwierzytelniania 344szyfrowanie informacji 335

DataAdapter 239DataGridView 491DataReader 239 273DataRow 255

kontrola wprowadzonych danych 263usuwanie rekordoacutew 270wersje 263wersja proponowana 265wersjonowanie 263w a ciwo ci 255

DataSet 239 244 345edycja rekordoacutew 257kreator konfiguracji TableAdapter 274modyfikacja danych 249tworzenie nowych rekordoacutew 250usuwanie rekordoacutew 271wstawianie rekordoacutew 251wymuszenie wi zoacutew integralno ci 292

DataTable 107DirectionsService 35dostawca 153FormCollection 47jqXHR 218List 389logiki biznesowej 348materializacja 348Matrix 390Membership 152MvcRouteHandler 121 122o okre lonym typie danych 244o silnej typizacji 244o s abej typizacji 247ObjectStateManager 348PartialView 98ReportViewer 368ReportViewerLocalReport 418Request 26 101 432Response 26Route 122ShippersRow 255SqlConnCAS 341SqlConnection 326

Kup książkę Poleć książkę

536 ASPNET MVC

obiektTableAdapter 239 244 273 274 345

edycja danych 279 286wstawianie danych 294

TransactionScope 329parametryzacja 331

typuadres 118AppDomain 466ConcurrentDictionary 479NorthwindDataSet 247ObjectSetltTgt 348Route 121Thread 466

UrlRoutingModule 121ViewBag 36

przekazywanie danych do widoku WebForms 376

ViewData 36 79 432Object Relational Mapping 347Object Services 348obs uga b doacutew

konfiguracja 132w czenie 129

odrzucenie informacji o transakcji 148od wie anie witryny

a fragment widoku 97aktualizacja zawarto ci 113cz ciowe 96

OnSuccess 96operator

await 474konkatenacji 382Top 411Top N 411

ORM 347

Pparametr

CountryName 401data 115filtr 117mapDivId 35maxIloscRekordow 117Order 137raportu 395scopeTimeOut 330

warto ci 330TransactionScopeOption

warto ci 329type 115

parametryzacja kwerend 274partial view 30

piaskownica 341Plain Old CLR Object 360platforma NET

us ugi uwierzytelniania 153plik

ascx 22aspx 22bmp 390cookie 151cookies 154 155cshtml 22 434css 475edmx 360jpg 390js 475konfiguracyjny

zabezpieczenie 187master 22png 390rdl 368rdlc 368tekstowy

wy wietlenie w przegl darce 143vbhtml 22

POCO 360pola klucza 237polecenie

HtmlEncode 187ScriptsRender 476StylesRender 476GET 18POST 18

po czenieze roacuted em danych 241

pomocnik HTML 455Portable Document Format 413po rednik 341poziom izolacji 332

Chaos 333konfiguracja 332ReadCommitted 333ReadUncommitted 333Serializable 333Snapshot 333Unspecified 333

poziom zaufania 339ograniczenie 340

proceduraajax 115AjaxBeginForm 96niemapowalna 26PartialView 26serialize 115

Kup książkę Poleć książkę

Skorowidz 537

proces 465programowanie

oparte na zdarzeniach 17zdarzeniowe 17

projekt aplikacji MVCankieta 102asynchroniczne przetwarzanie da HTTP 92Bezpiecze stwo 181 336

nawi zanie komunikacji ze roacuted emdanych 342

szyfrowanie pliku konfiguracyjnego 191dodawanie i wy wietlanie komentarzy 183domy lny 20EksportDanych 413Filtry 131formularz oceny 107Kadry

walidacja adresu e-mail 84Kardy 55KsiegaGosci_MVC3 424lista prezentuj ca dodawane elementy 97MojaNawigacja 18

blokowanie samodzielnego tworzeniakont 224

buforowanie danych 135implementacja warstwy dost pu 42instalacja na serwerze IIS 500komunikat powitalny 168komunikaty 110komunikaty o b dach 173mechanizm podpowiedzi 115model weryfikuj cy po wiadczenia

u ytkownikoacutew 196modele kontrolera uwierzytelnienia 196od wie enie widoku mapy 109struktura 21szablon 19szablon witryny 225trasowanie da HTTP 123uzupe nienie o baz danych 40uzupe nienie o walidacj danych 69widok b du 175zablokowanie nieautoryzowanego

dost pu 128zarz dzanie u ytkownikami 163zarz dzanie grupami u ytkownikoacutew 212zarz dzanie procesem logowania 198

MsAjax 92NorthwindMVC 241

lista rekordoacutew 301szablon witryny 250

POCO 361priorytety regu filtrowania 137

Raport 368szablon

mechanizmy uwierzytelnienia 156zarz dzanie grupami u ytkownikoacutew 159

Transakcje 319aktualizacja danych 328formularz aktualizacji 328szablon stron 320

uzupe nianie widokiem GridView 49WyrazeniaRegularne 76Zapytania_EF 349

projekt aplikacji MVC4AsynchronicznyKontroler 466

prezentacja danych 468AutoryzacjaOAuth 461implementacja serwisu sieciowego 479konfiguracja grupowania 475MobileMvc 450

testowanie 457pobranie zdj cia 452przygotowanie listy pracownikoacutew 452SerwisSieciowy 477

projekt aplikacji Windows Formsedycja danych 487KlientWebAPI 483tworzenie nowych pracownikoacutew 486

dania typuDELETE 493POST 486PUT 491

projektowaniekontrolera 27widoku 31

protokoacuteFTP 495Kerberos 150NTLM 150SMTP 495SSL 337

proxy 341przechowywanie

informacji o trasach 44wynikoacutew g osowania 107

przeci enie aplikacji 147przekazywanie

danych 44mi dzy widokiem a kontrolerem 36

parametroacutew do metod akcji kontrolera 26przestrze nazw

SystemThreading 465przyjazne linki 122publikowanie aplikacji 495 500

na serwerze IIS 497

Kup książkę Poleć książkę

538 ASPNET MVC

pule aplikacji 465 497konfiguracja 498Windows 7 499Windows 8 500

Rraporty

dane w postaci macierzowej 390data 386definicja

dynamiczna 418filtrowanie danych 394

na poziomie roacuted a 401 418filtry 395formaty prezentacji danych 379grupowanie danych 381hiper cza 387

nawigacyjne 376kolumny obliczeniowe 378konfiguracja

filtrowania dynamicznego 396typu 392roacuted a danych 368

kreator formu 382macierzowe 391numery stron 386obrazy 390parametry 383 394

konfiguracja 399paski narz dziowe 379pola

bazy danych 386formularza 398raportu 390

po czenie z aplikacj 368prezentowanie uk adu graficznego 383projektowanie 371

i prezentowanie 368przystosowanie strony do obs ugi raportoacutew

387renderowanie 368tryby definicji 368tworzenie

definicji lokalnej 368formu 378przy u yciu kreatora 372

uk ad 383wstawianie nag oacutewka i stopki 385wykresy 406wy wietlenie 375

Razor 21 30przetwarzanie definicji widoku 208

RDL 418rekordy

edycja 307lista 301tworzenie 311usuwanie 305

Relationship 347Report Definition Language 418Report Wizard 371repudiation 148request 442response 442responsywno 464rollback transaction 319routing 22 430routowanie 121

SSandBox 341scaffolding 301Secure Socket Layer 337sekcja

membership 178roleManager 179set 441

serwerSMTP

konfiguracja 171us ug informacyjnych 149

weryfikacja to samo ci u ytkownika 149Simple Mail Transfer Protocol 495s owo kluczowe

helper 455await 474using 47 329

spaghetti code 18spoofing 147SQL Server Reporting Services 367SSRS 367stan pola

typu CheckBox 269pobieranie 264

STRIDE 148strona startowa

MojaNawigacja 226strona wzorcowa 30

aplikacji Kadry 55referencja do bibliotek skryptoacutew 70

systemowy serwer us ug informacyjnych 121szyfrowanie po czenia 335

ze roacuted em danych 336

Kup książkę Poleć książkę

Skorowidz 539

Ttabela danych

Categories 418Customers 305deklaracje kaskadowych arkuszy stylu 275edycja

danych 279danych w wierszu 257rekordoacutew 307 310

Employees 240 288filtrowanie listy 275integralno danych 288Konta 321 326kwerenda wybieraj ca 240Orders 291 315OrdersDetails 307pobieranie fotografii 276pobranie danych z wykorzystaniem JScript 280prezentacja

danych 277 325informacji 252listy danych 248pierwszego rekordu 246rekordoacutew 317

przekazanie do widoku 248Shippers 251tworzenie rekordoacutew 311umieszczenie w bazie danych 321uruchomienie edycji danych 258usuwanie

danych 288rekordoacutew 271 305 306

widok b du 268wstawianie

danych 294rekordoacutew 251

wy wietlenie listykonfiguracja hiper cza 315

zako czenie edycji rekordu 267tablica asocjacyjna 479tablica bajtoacutew

konwersja do bitmapy 277tampering 147task pane 371Task-based Asynchronous Pattern 465TDD 15

test jednostkowy funkcjonalno ci kontrolera28

Test-Driven Development 15testowanie

aplikacji 29wzorcoacutew wyra e regularnych 76 78

Toolbox 274

transakcje 319automatyczne zarz dzanie 327otaczaj ce 329poziom izolacji 332tworzenie i r czna kontrola 319

trasowanie 121aplikacja 430blokowanie dost pu 124domy lne regu y 123Ksi gaGosci_MVC3 430w asne regu y 124

trasowanie adresoacutew URL 121T-SQL 319

czynno ci bazodanowe 345tworzenie

bazy danych 40interfejsu u ytkownika

jQM 459szablony 231wzorzec MVVM 227

u ytkownika 200kody b doacutew 201

widoku Index 231wzorcoacutew wyra e regularnych 76

typed DataSet 244typizacja

silna 46s aba 46

typy puste 27

Uujawnienie krytycznych informacji 147ukryte pola 441Uniform Resource Locator 18URL 18uruchomienie aplikacji 503us uga

AspNetSqlProvider 178ustawienia aplikacji 167

odczytanie z pliku konfiguracyjnego 169UTC 155uwierzytelnienie 149

centralny serwis 151certyfikaty 150formularze logowania 151

atrybuty elementu forms 154konfiguracja 153mechanizmy zintegrowane z ASPNET 149na bazie protoko u NTLM 150przekazywanie informacji 151proste 150skroacutecone 150us ugi systemu Windows 150

Kup książkę Poleć książkę

540 ASPNET MVC

Vvariable placeholders 122view engine 21views 16viewstate 442Visual Studio

kreator projektu 19Visual Studio Development Server 496VS 2012

instalacja 240kreator Add New Item 242

VSDS 496

Wwalidacja

adresue-mail 83URL 83WWW 84

danych 53a technologia Entity Framework 68konfiguracja 66modelu Pracownik 66odwo anenie do jQuery 61po stronie klienta 67wyra enia regularne 73

skrypty i style walidatoroacutew 438w asno ci klasy encji 435

w tek 465Web API 477

edycja danych 491klient 483konfiguracja interfejsu 478obs uga da typu POST 486pobranie danych z serwera 485serwis sieciowy 479usuwanie danych 493

web serwer 495Web Site Administration Tool 161

konfigurowanie uprawnie 165zarz dzanie

dostawcami us ug 178u ytkownikami 163

WebForms 17bezpiecze stwo aplikacji 152integracja komponentoacutew z MVC 367kontrolka Repeater 434obs uga wyj tkoacutew 172przetwarzanie dania aplikacji klienckiej 18separacja modelu 427weryfikacja poprawno ci projektu 434

weryfikacjakodu pocztowego 81to samo ci 151

widok 16 25 30aplikacji

MVC4 453przystosowanie do urz dze mobilnych

459Transakcje 326

cz ciowy 30dodawanie 31edycji klienta 307elementy 31formularz

dodawania wpisu 425logowania 203

kontroleraaplikacja Kadry 58panelu administracyjnego 222

kontrolera AdminController 213kontrolera Dopasowania 77kontrolera ErrorControler 174kontrolera Glosowania 103kontrolera Home 131 169 182 307

metodaWyswietlLog 142Raport 375Transakcje 320

kontrolera HomeController 246AsynchronicznyKontroler 468EksportDanych 417

kontrolera Lista 93kontrolera Mapa 33 34

formularz 70Trasa 50

kreatorakonta u ytkownika 205zmiany has a 206

listyklientoacutew 302pracownikoacutew 61wyznaczonych tras 48zamoacutewie 316

mapyod wie enie 108parametryzacja 34

mechanizm przetwarzania 30modyfikowanie formularza 437obs uga wyj tkoacutew 130Pracownicycshtml 453projektowanie 31transfer danych do kontrolera 36typu CRUD 52

Kup książkę Poleć książkę

Skorowidz 541

typu GridViewimplementacja 48

typy plikoacutew 30utworzenie 30uzupe nianie tre ci 33walidacja 435wi zanie z modelem 437wstawianie rekordoacutew 312wynikoacutew ankiety 105wy wietlanie wpisoacutew 432

wielodziedziczenie 360Windows Authentication Provider 149Windows Data Protection API 187Windows Forms

implementacja klienta 483Windows Live ID 149w a ciwo

ConnectionString 243IsMobileDevice 460ModelStateIsValid 47

wstawianie rekordoacutew 299wstrzykni cie kodu 181 185wykresy 406

konfiguracjaserii danych 407typu 407

pobranie danych roacuted owych 408wy czenie aplikacji 171wyra enia lambda 46wyra enia regularne 73

atrybuty modelu 84liczba wyst pie sk adnikoacutew 76wzorzec

adres URL 83imi e skie 81kod pocztowy 80tworzenie 76

znaki i cyfry 74znaki specjalne 74znaki w wyznaczonych miejscach a cucha 75

wzorzecodnajdywanie

znakoacutew i cyfr 74znakoacutew specjalnych 74znakoacutew w wyznaczonych miejscach

a cucha 75okre lanie

liczby wyst pie znakoacutew 76

XXSS 181

Zzabezpieczenia

aplikacji bazodanowych 335ataki XSS 187informacje o b dach 171kodu po redniego 338konfiguracja 161konfiguracja aplikacji

kreatory 162obs uga wyj tkoacutew 171pliku konfiguracyjnego 167 187przed atakami 148ustawienia aplikacji 167witryny 181zarz dzanie dostawcami us ug 178z o liwy kod 181

zarz dzanieu ytkownikami i grupami 211

dost p do panelu administracyjnego 216lista grup 221podzia na grupy 220pobieranie listy 213tworzenie nowej grupy 222zmiana przynale no ci do grupy 215

z o ono ci aplikacji 16zdarzenie

DataGridViewCellDoubleClick 491rejestrowanie 430

z o liwy koddzia anie 181

znacznikinput 288

znaki specjalneodnajdywanie 74

zwi zanie z modelem 48zwi zek 347

danie 25asynchroniczna obs uga 92 466 470

skrypty 318zadania 473

GET 64POST 64przetwarzanie 127zablokowanie obs ugi 124

Kup książkę Poleć książkę

Notatki

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 313

ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelAddress) HtmlValidationMessageFor(model =gt modelAddress) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCity) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCity) HtmlValidationMessageFor(model =gt modelCity) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRegion) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelRegion) HtmlValidationMessageFor(model =gt modelRegion) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPostalCode) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPostalCode) HtmlValidationMessageFor(model =gt modelPostalCode) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelCountry) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelCountry) HtmlValidationMessageFor(model =gt modelCountry) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelPhone) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelPhone) HtmlValidationMessageFor(model =gt modelPhone) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelFax) ltdivgt ltdiv class=editor-fieldgt HtmlEditorFor(model =gt modelFax) HtmlValidationMessageFor(model =gt modelFax) ltdivgt

ltdiv class=editor-labelgt HtmlLabelFor(model =gt modelRowError) ltdivgt ltdiv class=editor-fieldgt

Kup książkę Poleć książkę

314 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlEditorFor(model =gt modelRowError) HtmlValidationMessageFor(model =gt modelRowError) ltdivgt

ltpgt ltinput type=submit value=CreateUtwoacuterz gt ltpgt ltfieldsetgt

ltdivgt HtmlActionLink(Back to List Index) HtmlActionLink(Powroacutet do listy ScaffoldingList)ltdivgt

5 Definicj kontrolera Home uzupe nij o polecenia z listingu 187

Listing 187 Wstawianie rekordoacutew do tabeli Customers

private char PobierzZnak(string lancuch int index) Random random = new Random() char znak

if (lancuchLength gt index) znak = lancuch[index] else znak = (char)randomNext(0 255)ToString()[0]

return znak

private void UtworzIdentyfikatorKlienta(ref NorthwindDataSetCustomersRowdaneKlienta)

string identyfikator = int indexZnaku = 0

identyfikator += PobierzZnak(daneKlientaCompanyName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactTitle indexZnaku) identyfikator += PobierzZnak(daneKlientaAddress indexZnaku) identyfikator += PobierzZnak(daneKlientaCity indexZnaku)

daneKlientaCustomerID = identyfikator

public ActionResult DodajKlienta(FormCollection daneKlienta string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersNewCustomersRow()

PrzepiszDaneKlienta(daneKlienta ref cdr)

UtworzIdentyfikatorKlienta(ref cdr)

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 315

customersTableAdapterInsert(cdrCustomerID cdrCompanyName cdrContactName cdrContactTitle cdrAddress cdrCity )

AktualizujDaneKlientow()

return ScaffoldingList()

Wstawienie rekordoacutew do tabeli Customers jest analogiczne do ich edycji Jedyn roacute -nic jest konieczno utworzenia identyfikatora klienta gdy nie jest on tworzonyautomatycznie jak to by o w przypadku tabeli Employees Identyfikatory rekordoacuteww tabeli Customers s pi cioelementowymi ci gami znakoacutew Tworz je na podstawiepierwszych liter poacutel CompanyName ContactName ContactTitle Address oraz City Je liw tych polach znajduj si puste ci gi to odpowiedni liter zast puj losowo wyge-nerowanym znakiem

W kolejnym podrozdziale poka w jaki sposoacuteb wy wietli informacje o rekordachpotomnych opieraj c si na relacji pomi dzy tabelami

Formularz z podformularzem(MasterDetail Form)

Jako podsumowanie tego rozdzia u utworz formularz z podformularzem tak zwanyformularz MasterDetail Jego dzia anie polega na tym e wy wietlanie danych od-bywa si na bazie co najmniej dwoacutech komponentoacutew (np blokoacutew czy tabel) oraz rela-cji mi dzy tabelami Pierwszy komponent prezentuje rekordy zawarte w tabeli g oacutew-nej (ang master) a drugi zawiera dane z tabeli podrz dnej (ang detail) Komponentzwi zany z tabel podrz dn ma zazwyczaj za zadanie prezentowa szczegoacute owe da-ne odpowiadaj ce rekordowi z tabeli nadrz dnej ktoacutery zosta wskazany przy pomocyzwi zanej z nim listy rekordoacutew Pola tych tabel musz by zatem uporz dkowane w takisposoacuteb aby pokazywa y informacj o tym samym rekordzie Uzyskuje si to przy po-mocy relacji mi dzy tabelami ktoacuterej zadaniem jest powi zanie informacji zawartychw bazie danych

W tym podrozdziale tabel nadrz dn b dzie tabela Customers a podrz dn OrdersPo klikni ciu na hiper cze z etykiet zamoacutewienia wy wietli si lista rekordoacutew tabeliOrders skojarzonych z danym klientem dania prezentacji zamoacutewie b d realizo-wane asynchronicznie

1 Plik widoku ScaffoldingListcshtml zmodyfikuj wed ug wzoru z listingu 188

Listing 188 Konfiguracja hiper cza umo liwiaj cego wy wietlenie listy zamoacutewie danego klienta

hellipforeach (var item in Model) lttrgt lttdgt

Kup książkę Poleć książkę

316 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlDisplayFor(modelItem =gt itemCustomerID) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCompanyName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactTitle) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemAddress) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCity) lttdgt lttdgt HtmlActionLink(Edytuj ScaffoldingEdit new id = itemCustomerID ) | AjaxActionLink(Zamoacutewienia ScaffoldingMasterDetail new id = itemCustomerID new AjaxOptions UpdateTargetId = zamowienia OnSuccess = documentgetElementById(zamowienia)scrollIntoView() ) | HtmlActionLink(Usu ScaffoldingDelete new id = itemCustomerID ) lttdgt lttrgtlttablegt

ltdiv id=zamowieniagtltdivgt

2 Utwoacuterz widok cz ciowy o nazwie ZamowieniaPartialViewcshtml i wstaww nim polecenia z listingu 189

Listing 189 Definicja widoku prezentuj cego list zamoacutewie

model IEnumerableltNorthwindMVCModelsNorthwindDataSetOrdersRowgt

if (Model == null) lth2gtBrak zamoacutewie lth2gtelse lth2gtLista zamoacutewie lth2gt

lttablegt lttrgt ltthgt OrderDate ltthgt ltthgt RequiredDate ltthgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 317

ltthgt ShippedDate ltthgt ltthgt ShipName ltthgt ltthgt ShipAddress ltthgt ltthgt ShipCity ltthgt ltthgtltthgt lttrgt

foreach (var item in Model) lttrgt lttdgt itemOrderDateToShortDateString() lttdgt lttdgt itemRequiredDateToShortDateString() lttdgt lttdgt itemShippedDateToShortDateString() lttdgt lttdgt itemShipName lttdgt lttdgt itemShipAddress lttdgt lttdgt itemShipCity lttdgt lttrgt lttablegt

3 Kontroler Home uzupe nij o metod ScaffoldingMasterDetail ktoacuterej definicjprzedstawi em na listingu 1810

Listing 1810 Pobranie i prezentacja rekordoacutew potomnych wybranego klienta

public ActionResult ScaffoldingMasterDetail(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) NorthwindDataSetOrdersRow[] zamowieniaPracownika = null

if (cdr = null) zamowieniaPracownika = (NorthwindDataSetOrdersRow[])cdrGetChildRows(FK_Orders_Customers)

Kup książkę Poleć książkę

318 Cz II Technologie bazodanowe w aplikacjach internetowych

if (RequestIsAjaxRequest()) return View(ZamowieniaPartialView zamowieniaPracownika) else return ScaffoldingList()

4 Sekcj ltheadgt pliku _Layoutcshtml uzupe nij o polecenia z listingu 1811

Listing 1811 Import skryptoacutew obs uguj cych dania asynchroniczne

ltscript src=UrlContent(~Scriptsjqueryunobtrusive-ajaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftAjaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftMvcAjaxjs)type=textjavascriptgtltscriptgt

5 Po skompilowaniu i uruchomieniu aplikacji powiniene uzyska efektanalogiczny do przedstawionego na rysunku 186

Rysunek 186 Przyk ad formularza typu MasterDetail

Kup książkę Poleć książkę

Skorowidz

AACL 149action methods 25ActiveX Data Object 238ADO 238ADONET 238

obiekty 238podstawy 237synchronizacja buforu ze roacuted em danych 273

adresy URLautoryzacja 157parametry 122trasowanie 121wzorce 122 123

agile programming 15AJAX 91

aktualizacja bloku witryny 113dodanie referencji do bibliotek JavaScript 94

akcjaCreate 354Delete 357Details 353dodaj ca nowy produkt 355Edit 356

aktualizacjazawarto ci elementu witryny 92

algorytmRSA 187

ambient transaction 329ankieta 102AntiXss 187aplikacje

bazodanowe 235bezpiecze stwo 335mechanizm transakcji 319scaffolding 301

synchronizacja ze roacuted em danych 273uwagi do projektowania 345

mo liwo edytowania wpisoacutew 441rejestrowanie zdarze i trasowanie 430

Application Domain 339architektura obiektowa 347ASPNET

konfiguracja aplikacji 161mechanizmy uwierzytelnienia 149metody globalne 107w czanie i wy czanie aplikacji 171

ASPNET AJAX 91ASPNET MVC 15

komponenty 16ASPX 21 30asynchroniczne przetwarzanie da http

jQuery 113Asynchronous JavaScript and XML 48Asynchronous Programming Model 464ataki

rodzaje 147SQL Injection 148 344wy udzenie informacji 148z o liwy kod 181

atrybut 347AcceptVerbs(HttpPost) 47AcceptVerbs(HttpVerbsPost) 65AssociationAttribute 58Authorize 200AuthorizeAttribute 128autoryzacyjny 145ConcurrencyCheckAttribute 58Confirm 95cookieless 154CustomValidationAttribute 58 66data-bind 230DataType 54 57

Kup książkę Poleć książkę

528 ASPNET MVC

atrybutDataTypeAttribute 58defaultRedirect 173defaultUrl 154DisplayAttribute 58DisplayColumnAttribute 58DisplayName 436EditableAttribute 58enableCrossAppRedirects 155EnumDataTypeAttribute 58FilterUIHintAttribute 58HandleError 138 175HandleErrorAttribute 129HttpMethod 95InsertionMode 95KeyAttribute 58klasy do konfiguracji metadanych 57 58LoadingElementDuration 110LoadingElementId 95 110Log

klasa implementuj ca 142loginUrl 154MetadataType 69MetadataTypeAttribute 58mode 153 173modelu 55name 155NonAction 26 135OnBegin 95OnComplete 95OnFailure 95OnSuccess 95 110OutputCache 133OutputCacheAttribute

parametry 134passwordFormat 156protection 155Range 54 66RangeAttribute 58redirectMode 173RegularExpressionAttribute 58Required 54 66RequiredAttribute 58RequireHttps 135requireSSL 155slidingExpiration 155StringLength 66StringLengthAttribute 58TestClass 29TestMethod 29ticketCompatibilityMode 155timeout 155TimestampAttribute 58UpdateTargetId 95

Url 95ValidateInput 185

atrybuty modeluwyra enia regularne 84

Attribute 347authentication ticket 151auto post back 217autocomplete textbox 115automatyczne uzupe nienie pola tekstowego 115autoryzacja 149 157

adresoacutew URL 157konfiguracja 157

grupy u ytkownikoacutew 158mechanizm filtrowania 158otwarta 460plikoacutew 157zdalna

powi zanie z portalem Facebook 461Azure 496

Bbazy danych 40 237

aktualizacja 41lista rekordoacutew 301Northwind 240

detale produktu 352dodawanie po cze 350pobieranie produktoacutew 351

po czenie ze roacuted em danych 241relacyjne 237schemat CRUD 301transakcje 319tworzenie 321

nowego rekordu 48schematu na bazie modelu encji 357

usuwanie danych 290regu y integralno ci 293

usuwanie powi zanych wierszyrekordy potomne 291

warstwa dost pu 42bezpiecze stwo

aplikacji internetowych 147ataki 147mechanizmy 149

biblioteka NETprogramowanie asynchroniczne 464

biblioteka skryptoacutewMapajs 32

bilet uwierzytelniaj cy 151b dy

dzia ania aplikacji 171strona b du 176tworzenie u ytkownika 202wprowadzenie z ego rekordu 268

Kup książkę Poleć książkę

Skorowidz 529

body 383buforowanie

danych ze roacutede zewn trznych 133bundling 475Business Intelligence 368

Ccallback 35CAS 151 338CDN 113Central Authentication Service 151centralna us uga uwierzytelnienia 151certyfikat 337CLR

procesy systemowe 466Code Access Security 338Confirm 96connString 341controllers 16Coordinated Universal Time 155Create Read Update Delete 301cross-site scripting 181CRUD 54 301Crystal Reports 368

Ddane

agregacja 378bezpo redni dost p do roacuted a 346eksport 413

do dokumentu tekstowego 419do PDF 420skoroszyt MS Excel 421tabele dynamiczne 418

integralno 288 319pomini cie sprawdzania 292regu y 291

modyfikacja 249platforma modelowania 347prezentacja

graficzna 406w postaci macierzowej 390

przekazywaniez formularza do roacuted a 46z kontrolera do widoku 437 439

serializacja i transfer struktur 117szyfrowanie 337typu

ActionResult 25walidacja 53weryfikacja 53wi zy integralno ci 306

wy wietlanie 315zabezpieczenie 338

Data Binding 389Data Definition Language 345Database Management System 237DBMS 237

wi zy integralno ci 238DDL 345denial of service 147detail 315Development Server 504DIE 53DisplayFormatAttribute 58document object model 92DOM 92domena aplikacji 339 466

instancja obiektoacutew 341tworzenie 339wspoacute dzielenie obiektu 341

dostawcy us ug 178dost p anonimowy 150DotNetOpenAuth 149DPAPI 187DRY 53dyrektywa

model 46

Eelement

customErrors 173success 115

elevation of privilege 147encapsulation 107encja 347

atrybuty 54bazodanowa 54KategoriaProduktu 358odwzorowanie w bazie danych 360Order_Details 362Orders 361Products 361Produkt 358

Entity 347Entity Framework 43 347

POCO 360potwierdzenie explicite 356technologie 349wersje 347

Entity Relationship Model 347Entity SQL 349ERM 347Event-based Asynchronous Pattern 465event-driven programming 17

Kup książkę Poleć książkę

530 ASPNET MVC

FFile Transfer Protocol 495filtry 127

akcji 127 139autoryzacyjne 127 144dynamiczne 395kolejno wykonywania 137

priorytety 138Log

metody 141LogAttribute

definicja klasy 140podstawowe atrybuty 128statyczne 395w asne 139wyj tkoacutew 128 144

niestandardowe 145wyniku 128 144

for 434foreach 51Forms Authentication Provider 149formularz

MasterDetail 315z podformularzem 315

funkcjadelay 217ListaPracownikoacutew 57Mid 390RolesIsUserInRole 217Today 390wyznaczaj ca tras 109zmienPrzynaleznoscDoGrupy 217 218

GGauge 383 403GDI 368graficzny interfejs u ytkownika 17 30Graphics Device Interface 368GridView 48grupy u ytkownikoacutew

autoryzacja 158GUI 17

Hhard-coding 167haszowanie 150helper methods 25html helper 455

Iidentyfikator

klienta 315rekordoacutew 315

IIS 121 149 495instalacja

ASPNET 445 498serwera w Windows 7 496serwera w Windows 8 496

mened er Windows 499uruchamianie aplikacji 503

serwer do rozwoju aplikacji 504information disclosure 147instancje aplikacji 465instancjonowanie modelu 39IntelliSense 247interfejs u ytkownika

przycisk umo liwiaj cy dodanie pracownika294

przycisk usuni cia wybranego rekordu 289Internet Information Services 121internetowe us ugi informacyjne 495in ynieria spo eczna 148Isolation Level 332izolacja 339 466

JJavaScript Object Notation 117jQM 457jQuery

autocomplete 116pliki roacuted owe 113

jQuery Mobile 457jQuery UI 367

wykorzystanie przyciskoacutew 284JSON 117

obiekt typu adres 118

KKey Performance Indicators 403klasa

AccountController 198ActionExecutingContext 143AdminController 212Ajax 94AjaxOptions 94

atrybuty 95AspNetHidden 442AssemblyName 170Assert 29

Kup książkę Poleć książkę

Skorowidz 531

AuthConfig 461BundleConfig 475Configuration 170ConfigurationManager 170ConfigurationSection 187 188ConnectionStringBuilder 345DpapiProtectedConfigurationProvider 187FiltryRaportuMacierzowego 397Form1 484FormsAuthentication 152Global 430HandleErrorInfo 133HtmlHelper 437HttpClient 483 486HttpResponseMessage 486kontekstu 362LogOnModel 198MarshallByRefObject 341Membership 152 198 211MvcApplication 430NorthwindContext 362ObjectContext 348ObjectQueryltTgt 348Order_Details 362Orders 361Osoba 228ParametryWatku 470Pracownik 484Products 361Produkt 230Raport 392RequestBrowser 460ResultExecutedContext 144ResultExecutingContext 144Roles 211RsaProtectedConfigurationProvider 187SQLConnCAS

definicja 340stowarzyszona z modelem 69SystemNetHttpFormattingJsonMediaTypeF

ormatter 491SystemTextRegularExpressions 74SystemWebSecurityRoles 159Task 465 472testuj ca 29Thread 465 469TransactionScope 327UrlRoutingModule 121ViewData 434 436 439WebApiConfig 478WebConfigurationManager 170Wpisy 427 436

klucze 237MAC 155obce 238podstawowe 238

kluczowe wska niki efektywno ci 403dynamiczna zmiana warto ci 404

Knockout 227wykorzystanie szablonoacutew JavaScript 230wywo anie skryptu 229

kodowanie danychprzekazywanych przez u ytkownikoacutew 186

komponentFormDanePracownika 489obiektu

PartialView 99typu ListBox 99

ReportViewer 368 375eksport danych 413nawigacja mi dzy stronami raportu 377

komponenty u ytkownika 30komunikaty o b dach 171

kod statusowy 174 175koncepcja programowania zdarzeniowego 16konfiguracja

po czenia z baz danych 241uprawnie puli aplikacji 454walidacji danych 66

konkurencyjno aplikacji 332kontekst wi zania 389kontrola wprowadzanych danych 263

metoda onColumnChanged 269wstrzymanie walidacji wiersza 267zako czenie edycji rekordu 267

wymuszenie 267kontroler 16 25

AccountController 195Admin 223AdminController 212aplikacja Kardy 63asynchroniczny 466

a zadania 472dane wyj ciowe 25domeny 150ErrorController 174Glosowania 103Home 182 224 228 231

Bezpiecze stwo 336filtr wyj tku 131

HomeController 184EksportDanych 415Northwind 245

interfejs Web API 477KsiegaGosciController 424

Kup książkę Poleć książkę

532 ASPNET MVC

kontrolerLista 93Mapa 33

autouzupe nianie 117modyfikacja 45

niedost pne metody publiczne 136obs uga POST 431panelu administracyjnego 212

zarz dzanie grupami u ytkownikoacutew 220Pracownicy 57 64PracownicyController

implementacja 481Produkty 351projektowanie 27przekazywanie danych do widoku

zmiany 439uwierzytelnienia 195

klasa 198model 196widoki 203

uzupe nienie o widok 31u ycie modelu odsy anego przez widok 440ValuesController 478weryfikacja funkcjonalno ci 28wi zanie adresu URL z akcj 430widoki 58

konwersja obrazu 278kreator

Add New Item 242Add View 59 302Application 162blokowania szczegoacute oacutew b doacutew 172dodanie u ytkownikoacutew 164grup u ytkownikoacutew 165Provider 162Publish Web 501Security 162tworzenia pracownika 59ustawie aplikacji 167widokoacutew 60wyboacuter dostawcoacutew us ug 178

kwerendy parametryczne 274 401

Llayout witryny 30LINQ

to Entities 349lista rekordoacutew 301

prezentacja 304logika

aplikacji 30bazodanowa 30biznesowa 44

a cuch QueryString 26

Mmaster 315mechanizm

automatycznych w a ciwo ci 57autoryzacji 157eksportu danych 413filtroacutew 127grupowania plikoacutew 475IntelliSense 119QuerynotString 117szyfruj cy 187transakcji 319 321

przelewy bankowe 326wyznaczania trasy przejzdu 34

meotdaInsert 299ProtectSection 191WersjonowanieDataRow

definicja widoku 265message authentication code 155metoda

on 262HtmlValidationSummary 204About 124AcceptChanges 255 263ActionLinkActionLink 61 63 353AddUserToRole 159akcji 25

parametry opcjonalne 27aktualizacja statystyk ankiety 105AktualizujZdjeciePracownika 288Application_AuthenticateRequest 108Application_BeginRequest 107 108Application_End 108Application_EndRequest 107Application_Error 108 172Application_Start 108 123 139 430asynchroniczna kontrolera 472AttachTo 356Authenticate 152AutoUzupelnienie 117

zapytanie LINQ 118BeginEdit 267BeginForm 47 94BeginTransaction 326 332CancelEdit 263ChangeObjectState 356

Kup książkę Poleć książkę

Skorowidz 533

ChangePassword 200hiper cze 208widok 206

ChangePasswordSuccesswidok 206

CreateNazwaEncji 354CreateRole 159CreateUser 153czyBazaDanychIstnieje 326daneDostawcyForm 262DBeginnotEdit 263Delete 270DeleteObject 357DeleteRole 159DeleteUser 153DeszyfrujPlikKonfiguracyjny 191DodajDostawce 255DodajElementDoListy 94 97 101DodajGrupe 223DodajKomentarz 185DodajPracownika 299 491DopiszDoPlikuLog 430Edit 356EdytujDaneDostawcy 261EdytujDanePracownika 493Eksportuj 418EmptyResult 26EndEdit 263EndForm 47ErrorCodeToString 201Fill 246FillByCityName 275FormatDateTime 390FormsAuthenticationSetCookie 199GenerujDane 468Get(int id) 478GetAllRoles 159GetAsync 486GetChildRecords 291GetSection 170GetSectionGroup 170GetUser 153GetUsersInRole 160globalna

aplikacji ASPNET 108Grupy 223HasVersion 263HtmlListBox 97HtmlRenderPartial 101HtmlValidationSummary 61HtmlHelperLabel 437ImiePierwszegoPracownika 246 247Include 475Index 47 79 97 101

kontrolera Mapa 34testowanie 28

IsAjaxRequest 101IsMatch 76IsNotNull 29IsUserInRole 159Label 35ListaDostawcow 252 255ListaPracownikow 248

hiper cze skojarzone 249LogOff 198LogOn 198Macierzowy 397mapowalna 26MetodaAsynchronicznaWatki 472ModelStateAddModelError 199MvcApplicationRegisterRoutes 430obs uga zapyta POST 431odczyt aktualnych bilansoacutew kont 323OdczytajStanyKont 326OnActionExecuted 143OnActionExecuting 127 143onColumnChanged 269OnResultExecuted 144OnResultExecuting 144onRowChanged 266onRowChanging 268OpenConfiguration 170otwarcie po czenia z baz danych 341OtworzPlikDanych 107Page_Load 399PartialViewResult 26PobierzDane 394

modyfikacja 401PobierzPlikLogu 141 143PobierzZdjecie 278PokazTrasy 51PokazWyniki 107pomocnicza 25 455

HtmlEncode 51wykorzystanie 456

PostAsJsonAsync 486PostAsXmlAsync 486PostAsync 486PostResolveRequestCache 121PracownicyWedlugMiast

przechowywanie warto ci filtru 285PutAsJsonAsync 493PutAsXmlAsync 493PutAsync 493ReadAsAsync 486ReadXml 107ReadXmlSchema 107RedirectFromLoginPage 152

Kup książkę Poleć książkę

534 ASPNET MVC

metodaRedirectResult 26RedirectToAction 26RedirectToLoginPage 152RedirectToRoute 26RedirectToRouteResult 26RefreshReport 384Register 199 478RegisterAuth 461 462RegisterBundles 475RegisterGlobalFilters 171RegisterRoutes 94 123RejectChanges 256 263rejestrowanie zdarze aplikacji 430RemoveUserFromRole 160Render 384 413 418RenderPartial 99ResponseWrite 223ResultExecuteResult 143RoleExists 159RolesIsUserInRole 216RolesRemoveUsersFromRole 223route 35RowsAdd 255RozpocznijEdycje 269

hiper cze uruchamiaj ce 267SaveChanges 354ScaffoldingMasterDetail 317Session_End 108Session_Start 108SetAuthCookie 152SetParameters 401 405SignOut 152SprawdzDopasowania 79SprawdzPoprawnoscDatyZatrudnienia 67SqlPermissionAdd 343SqlTransactionCommit 326SqlTransactionRollback 326StronaNieIstnieje 175submit 115SzyfrowaniePlikuKonfiguracyjnego 190szyfruj ca i deszyfruj ca 189SzyfrujPlikKonfiguracyjny 191TextBox 35ThreadSleep 469 472TransactionScopeComplete 329Transfer 36UpdateUser 153UstawParametryRaportu 399UsunGrupe 223UsunTrase 50 51UtworzPracownika 64Uzytkownicy 216ValidateUser 152 153

ValidationMessage 437ValidationMessageFor 61ValidationSummary 437ViewResult 26WebApiConfigRegister 478WersjonowanieDataRow 265

sparametryzowanie 266WpisyZapiszDoPlikuXml 430wykonywanie przelewoacutew 323WyswietlLog 141 142 143wyswietlMape 34 35WyswietlTrase 50

modyfikacja 135 166wyznaczTrase 35ZaktualizujWyniki 107Zapami tajNazw U ytkownika 432ZmienStanKont 328

Microsoft SQL Server 319sposoby uwierzytelnienia 344

MIME type 390minification 476minimalizacja 476model 16 39

APM 464ChangePasswordModel 196EAP 465integracja z elementami aplikacji 39LogOnModel 196obs uga plikoacutew XML 427przesy anie z kontrolera do widoku 432 435RegisterModel 196TAP 465

model binding 48model danych encji 348

dodawanie encji 353edycja encji 355kreator 348 349

czenie encji 359metody akcji 354opcje 361projektowanie relacji 43tworzenie 349

schematu bazy danych 357usuwanie encji 357wyboacuter tabel 350

model first 52model zwi zkoacutew encji 347models 16Model-View-Controller 15Model-View-ViewModel 227Model-Widok-Kontroler 15modu

UrlAuthorizationModule 157

Kup książkę Poleć książkę

Skorowidz 535

MVC 15a Web Forms 16 365 367 423

kod 442serwer internetowych us ug

informacyjnych 495wydajno 443wykorzystanie w projektach 444

ataki XSS 185autoryzacja 158 162bezpiecze stwo aplikacji 152buforowanie 134domy lne wzorce aplikacji 21kreator aplikacji 20mechanizm filtrowania 127Model Binder 355nazwa kontrolera 27obs uga interakcji klient-serwer 121parametry opcjonalne 27pobieranie parametru z adresu URL 26projektowanie aplikacji 18 52przetwarzanie dania aplikacji klienckiej 18sprawdzanie poprawno ci danych 68struktura modelu 39techniki walidacji danych 53utworzenie widoku 30uzupe nianie o komponenty graficzne 367walidacja 438wersja 4 449wyboacuter mechanizmu przetwarzaj cego widoki 21wzorce URL 122zbioacuter modeli szablonu aplikacji 196roacuted o danych 40

MVC4 449grupowanie i optymalizacja skryptoacutew 475kaskadowe arkuszye stylu 475przetwarzanie asynchroniczne 464przystosowanie do urz dze mobillnych 457testowanie aplikacji 457uwierzytelnianie 460

integracja z portalem Facebook 462wsparcie dla urz dze mobilnych 450zdalna autoryzacja 461

MVVM 227

Nnarz dzie

aspnet_regiis 187przetwarzanie tekstu 73

Northwindinstalacja 240kwerenda wybieraj ca 240pobieranie informacji o dostawcach 251

NuGET 483nullable-types 27

OOAuth 461obiekt

AppDomain 339 341Chart 406Command 239Connection 239 241

w a ciwo i 243ConnectionString 343

sposoby uwierzytelniania 344szyfrowanie informacji 335

DataAdapter 239DataGridView 491DataReader 239 273DataRow 255

kontrola wprowadzonych danych 263usuwanie rekordoacutew 270wersje 263wersja proponowana 265wersjonowanie 263w a ciwo ci 255

DataSet 239 244 345edycja rekordoacutew 257kreator konfiguracji TableAdapter 274modyfikacja danych 249tworzenie nowych rekordoacutew 250usuwanie rekordoacutew 271wstawianie rekordoacutew 251wymuszenie wi zoacutew integralno ci 292

DataTable 107DirectionsService 35dostawca 153FormCollection 47jqXHR 218List 389logiki biznesowej 348materializacja 348Matrix 390Membership 152MvcRouteHandler 121 122o okre lonym typie danych 244o silnej typizacji 244o s abej typizacji 247ObjectStateManager 348PartialView 98ReportViewer 368ReportViewerLocalReport 418Request 26 101 432Response 26Route 122ShippersRow 255SqlConnCAS 341SqlConnection 326

Kup książkę Poleć książkę

536 ASPNET MVC

obiektTableAdapter 239 244 273 274 345

edycja danych 279 286wstawianie danych 294

TransactionScope 329parametryzacja 331

typuadres 118AppDomain 466ConcurrentDictionary 479NorthwindDataSet 247ObjectSetltTgt 348Route 121Thread 466

UrlRoutingModule 121ViewBag 36

przekazywanie danych do widoku WebForms 376

ViewData 36 79 432Object Relational Mapping 347Object Services 348obs uga b doacutew

konfiguracja 132w czenie 129

odrzucenie informacji o transakcji 148od wie anie witryny

a fragment widoku 97aktualizacja zawarto ci 113cz ciowe 96

OnSuccess 96operator

await 474konkatenacji 382Top 411Top N 411

ORM 347

Pparametr

CountryName 401data 115filtr 117mapDivId 35maxIloscRekordow 117Order 137raportu 395scopeTimeOut 330

warto ci 330TransactionScopeOption

warto ci 329type 115

parametryzacja kwerend 274partial view 30

piaskownica 341Plain Old CLR Object 360platforma NET

us ugi uwierzytelniania 153plik

ascx 22aspx 22bmp 390cookie 151cookies 154 155cshtml 22 434css 475edmx 360jpg 390js 475konfiguracyjny

zabezpieczenie 187master 22png 390rdl 368rdlc 368tekstowy

wy wietlenie w przegl darce 143vbhtml 22

POCO 360pola klucza 237polecenie

HtmlEncode 187ScriptsRender 476StylesRender 476GET 18POST 18

po czenieze roacuted em danych 241

pomocnik HTML 455Portable Document Format 413po rednik 341poziom izolacji 332

Chaos 333konfiguracja 332ReadCommitted 333ReadUncommitted 333Serializable 333Snapshot 333Unspecified 333

poziom zaufania 339ograniczenie 340

proceduraajax 115AjaxBeginForm 96niemapowalna 26PartialView 26serialize 115

Kup książkę Poleć książkę

Skorowidz 537

proces 465programowanie

oparte na zdarzeniach 17zdarzeniowe 17

projekt aplikacji MVCankieta 102asynchroniczne przetwarzanie da HTTP 92Bezpiecze stwo 181 336

nawi zanie komunikacji ze roacuted emdanych 342

szyfrowanie pliku konfiguracyjnego 191dodawanie i wy wietlanie komentarzy 183domy lny 20EksportDanych 413Filtry 131formularz oceny 107Kadry

walidacja adresu e-mail 84Kardy 55KsiegaGosci_MVC3 424lista prezentuj ca dodawane elementy 97MojaNawigacja 18

blokowanie samodzielnego tworzeniakont 224

buforowanie danych 135implementacja warstwy dost pu 42instalacja na serwerze IIS 500komunikat powitalny 168komunikaty 110komunikaty o b dach 173mechanizm podpowiedzi 115model weryfikuj cy po wiadczenia

u ytkownikoacutew 196modele kontrolera uwierzytelnienia 196od wie enie widoku mapy 109struktura 21szablon 19szablon witryny 225trasowanie da HTTP 123uzupe nienie o baz danych 40uzupe nienie o walidacj danych 69widok b du 175zablokowanie nieautoryzowanego

dost pu 128zarz dzanie u ytkownikami 163zarz dzanie grupami u ytkownikoacutew 212zarz dzanie procesem logowania 198

MsAjax 92NorthwindMVC 241

lista rekordoacutew 301szablon witryny 250

POCO 361priorytety regu filtrowania 137

Raport 368szablon

mechanizmy uwierzytelnienia 156zarz dzanie grupami u ytkownikoacutew 159

Transakcje 319aktualizacja danych 328formularz aktualizacji 328szablon stron 320

uzupe nianie widokiem GridView 49WyrazeniaRegularne 76Zapytania_EF 349

projekt aplikacji MVC4AsynchronicznyKontroler 466

prezentacja danych 468AutoryzacjaOAuth 461implementacja serwisu sieciowego 479konfiguracja grupowania 475MobileMvc 450

testowanie 457pobranie zdj cia 452przygotowanie listy pracownikoacutew 452SerwisSieciowy 477

projekt aplikacji Windows Formsedycja danych 487KlientWebAPI 483tworzenie nowych pracownikoacutew 486

dania typuDELETE 493POST 486PUT 491

projektowaniekontrolera 27widoku 31

protokoacuteFTP 495Kerberos 150NTLM 150SMTP 495SSL 337

proxy 341przechowywanie

informacji o trasach 44wynikoacutew g osowania 107

przeci enie aplikacji 147przekazywanie

danych 44mi dzy widokiem a kontrolerem 36

parametroacutew do metod akcji kontrolera 26przestrze nazw

SystemThreading 465przyjazne linki 122publikowanie aplikacji 495 500

na serwerze IIS 497

Kup książkę Poleć książkę

538 ASPNET MVC

pule aplikacji 465 497konfiguracja 498Windows 7 499Windows 8 500

Rraporty

dane w postaci macierzowej 390data 386definicja

dynamiczna 418filtrowanie danych 394

na poziomie roacuted a 401 418filtry 395formaty prezentacji danych 379grupowanie danych 381hiper cza 387

nawigacyjne 376kolumny obliczeniowe 378konfiguracja

filtrowania dynamicznego 396typu 392roacuted a danych 368

kreator formu 382macierzowe 391numery stron 386obrazy 390parametry 383 394

konfiguracja 399paski narz dziowe 379pola

bazy danych 386formularza 398raportu 390

po czenie z aplikacj 368prezentowanie uk adu graficznego 383projektowanie 371

i prezentowanie 368przystosowanie strony do obs ugi raportoacutew

387renderowanie 368tryby definicji 368tworzenie

definicji lokalnej 368formu 378przy u yciu kreatora 372

uk ad 383wstawianie nag oacutewka i stopki 385wykresy 406wy wietlenie 375

Razor 21 30przetwarzanie definicji widoku 208

RDL 418rekordy

edycja 307lista 301tworzenie 311usuwanie 305

Relationship 347Report Definition Language 418Report Wizard 371repudiation 148request 442response 442responsywno 464rollback transaction 319routing 22 430routowanie 121

SSandBox 341scaffolding 301Secure Socket Layer 337sekcja

membership 178roleManager 179set 441

serwerSMTP

konfiguracja 171us ug informacyjnych 149

weryfikacja to samo ci u ytkownika 149Simple Mail Transfer Protocol 495s owo kluczowe

helper 455await 474using 47 329

spaghetti code 18spoofing 147SQL Server Reporting Services 367SSRS 367stan pola

typu CheckBox 269pobieranie 264

STRIDE 148strona startowa

MojaNawigacja 226strona wzorcowa 30

aplikacji Kadry 55referencja do bibliotek skryptoacutew 70

systemowy serwer us ug informacyjnych 121szyfrowanie po czenia 335

ze roacuted em danych 336

Kup książkę Poleć książkę

Skorowidz 539

Ttabela danych

Categories 418Customers 305deklaracje kaskadowych arkuszy stylu 275edycja

danych 279danych w wierszu 257rekordoacutew 307 310

Employees 240 288filtrowanie listy 275integralno danych 288Konta 321 326kwerenda wybieraj ca 240Orders 291 315OrdersDetails 307pobieranie fotografii 276pobranie danych z wykorzystaniem JScript 280prezentacja

danych 277 325informacji 252listy danych 248pierwszego rekordu 246rekordoacutew 317

przekazanie do widoku 248Shippers 251tworzenie rekordoacutew 311umieszczenie w bazie danych 321uruchomienie edycji danych 258usuwanie

danych 288rekordoacutew 271 305 306

widok b du 268wstawianie

danych 294rekordoacutew 251

wy wietlenie listykonfiguracja hiper cza 315

zako czenie edycji rekordu 267tablica asocjacyjna 479tablica bajtoacutew

konwersja do bitmapy 277tampering 147task pane 371Task-based Asynchronous Pattern 465TDD 15

test jednostkowy funkcjonalno ci kontrolera28

Test-Driven Development 15testowanie

aplikacji 29wzorcoacutew wyra e regularnych 76 78

Toolbox 274

transakcje 319automatyczne zarz dzanie 327otaczaj ce 329poziom izolacji 332tworzenie i r czna kontrola 319

trasowanie 121aplikacja 430blokowanie dost pu 124domy lne regu y 123Ksi gaGosci_MVC3 430w asne regu y 124

trasowanie adresoacutew URL 121T-SQL 319

czynno ci bazodanowe 345tworzenie

bazy danych 40interfejsu u ytkownika

jQM 459szablony 231wzorzec MVVM 227

u ytkownika 200kody b doacutew 201

widoku Index 231wzorcoacutew wyra e regularnych 76

typed DataSet 244typizacja

silna 46s aba 46

typy puste 27

Uujawnienie krytycznych informacji 147ukryte pola 441Uniform Resource Locator 18URL 18uruchomienie aplikacji 503us uga

AspNetSqlProvider 178ustawienia aplikacji 167

odczytanie z pliku konfiguracyjnego 169UTC 155uwierzytelnienie 149

centralny serwis 151certyfikaty 150formularze logowania 151

atrybuty elementu forms 154konfiguracja 153mechanizmy zintegrowane z ASPNET 149na bazie protoko u NTLM 150przekazywanie informacji 151proste 150skroacutecone 150us ugi systemu Windows 150

Kup książkę Poleć książkę

540 ASPNET MVC

Vvariable placeholders 122view engine 21views 16viewstate 442Visual Studio

kreator projektu 19Visual Studio Development Server 496VS 2012

instalacja 240kreator Add New Item 242

VSDS 496

Wwalidacja

adresue-mail 83URL 83WWW 84

danych 53a technologia Entity Framework 68konfiguracja 66modelu Pracownik 66odwo anenie do jQuery 61po stronie klienta 67wyra enia regularne 73

skrypty i style walidatoroacutew 438w asno ci klasy encji 435

w tek 465Web API 477

edycja danych 491klient 483konfiguracja interfejsu 478obs uga da typu POST 486pobranie danych z serwera 485serwis sieciowy 479usuwanie danych 493

web serwer 495Web Site Administration Tool 161

konfigurowanie uprawnie 165zarz dzanie

dostawcami us ug 178u ytkownikami 163

WebForms 17bezpiecze stwo aplikacji 152integracja komponentoacutew z MVC 367kontrolka Repeater 434obs uga wyj tkoacutew 172przetwarzanie dania aplikacji klienckiej 18separacja modelu 427weryfikacja poprawno ci projektu 434

weryfikacjakodu pocztowego 81to samo ci 151

widok 16 25 30aplikacji

MVC4 453przystosowanie do urz dze mobilnych

459Transakcje 326

cz ciowy 30dodawanie 31edycji klienta 307elementy 31formularz

dodawania wpisu 425logowania 203

kontroleraaplikacja Kadry 58panelu administracyjnego 222

kontrolera AdminController 213kontrolera Dopasowania 77kontrolera ErrorControler 174kontrolera Glosowania 103kontrolera Home 131 169 182 307

metodaWyswietlLog 142Raport 375Transakcje 320

kontrolera HomeController 246AsynchronicznyKontroler 468EksportDanych 417

kontrolera Lista 93kontrolera Mapa 33 34

formularz 70Trasa 50

kreatorakonta u ytkownika 205zmiany has a 206

listyklientoacutew 302pracownikoacutew 61wyznaczonych tras 48zamoacutewie 316

mapyod wie enie 108parametryzacja 34

mechanizm przetwarzania 30modyfikowanie formularza 437obs uga wyj tkoacutew 130Pracownicycshtml 453projektowanie 31transfer danych do kontrolera 36typu CRUD 52

Kup książkę Poleć książkę

Skorowidz 541

typu GridViewimplementacja 48

typy plikoacutew 30utworzenie 30uzupe nianie tre ci 33walidacja 435wi zanie z modelem 437wstawianie rekordoacutew 312wynikoacutew ankiety 105wy wietlanie wpisoacutew 432

wielodziedziczenie 360Windows Authentication Provider 149Windows Data Protection API 187Windows Forms

implementacja klienta 483Windows Live ID 149w a ciwo

ConnectionString 243IsMobileDevice 460ModelStateIsValid 47

wstawianie rekordoacutew 299wstrzykni cie kodu 181 185wykresy 406

konfiguracjaserii danych 407typu 407

pobranie danych roacuted owych 408wy czenie aplikacji 171wyra enia lambda 46wyra enia regularne 73

atrybuty modelu 84liczba wyst pie sk adnikoacutew 76wzorzec

adres URL 83imi e skie 81kod pocztowy 80tworzenie 76

znaki i cyfry 74znaki specjalne 74znaki w wyznaczonych miejscach a cucha 75

wzorzecodnajdywanie

znakoacutew i cyfr 74znakoacutew specjalnych 74znakoacutew w wyznaczonych miejscach

a cucha 75okre lanie

liczby wyst pie znakoacutew 76

XXSS 181

Zzabezpieczenia

aplikacji bazodanowych 335ataki XSS 187informacje o b dach 171kodu po redniego 338konfiguracja 161konfiguracja aplikacji

kreatory 162obs uga wyj tkoacutew 171pliku konfiguracyjnego 167 187przed atakami 148ustawienia aplikacji 167witryny 181zarz dzanie dostawcami us ug 178z o liwy kod 181

zarz dzanieu ytkownikami i grupami 211

dost p do panelu administracyjnego 216lista grup 221podzia na grupy 220pobieranie listy 213tworzenie nowej grupy 222zmiana przynale no ci do grupy 215

z o ono ci aplikacji 16zdarzenie

DataGridViewCellDoubleClick 491rejestrowanie 430

z o liwy koddzia anie 181

znacznikinput 288

znaki specjalneodnajdywanie 74

zwi zanie z modelem 48zwi zek 347

danie 25asynchroniczna obs uga 92 466 470

skrypty 318zadania 473

GET 64POST 64przetwarzanie 127zablokowanie obs ugi 124

Kup książkę Poleć książkę

Notatki

Kup książkę Poleć książkę

314 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlEditorFor(model =gt modelRowError) HtmlValidationMessageFor(model =gt modelRowError) ltdivgt

ltpgt ltinput type=submit value=CreateUtwoacuterz gt ltpgt ltfieldsetgt

ltdivgt HtmlActionLink(Back to List Index) HtmlActionLink(Powroacutet do listy ScaffoldingList)ltdivgt

5 Definicj kontrolera Home uzupe nij o polecenia z listingu 187

Listing 187 Wstawianie rekordoacutew do tabeli Customers

private char PobierzZnak(string lancuch int index) Random random = new Random() char znak

if (lancuchLength gt index) znak = lancuch[index] else znak = (char)randomNext(0 255)ToString()[0]

return znak

private void UtworzIdentyfikatorKlienta(ref NorthwindDataSetCustomersRowdaneKlienta)

string identyfikator = int indexZnaku = 0

identyfikator += PobierzZnak(daneKlientaCompanyName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactName indexZnaku) identyfikator += PobierzZnak(daneKlientaContactTitle indexZnaku) identyfikator += PobierzZnak(daneKlientaAddress indexZnaku) identyfikator += PobierzZnak(daneKlientaCity indexZnaku)

daneKlientaCustomerID = identyfikator

public ActionResult DodajKlienta(FormCollection daneKlienta string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersNewCustomersRow()

PrzepiszDaneKlienta(daneKlienta ref cdr)

UtworzIdentyfikatorKlienta(ref cdr)

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 315

customersTableAdapterInsert(cdrCustomerID cdrCompanyName cdrContactName cdrContactTitle cdrAddress cdrCity )

AktualizujDaneKlientow()

return ScaffoldingList()

Wstawienie rekordoacutew do tabeli Customers jest analogiczne do ich edycji Jedyn roacute -nic jest konieczno utworzenia identyfikatora klienta gdy nie jest on tworzonyautomatycznie jak to by o w przypadku tabeli Employees Identyfikatory rekordoacuteww tabeli Customers s pi cioelementowymi ci gami znakoacutew Tworz je na podstawiepierwszych liter poacutel CompanyName ContactName ContactTitle Address oraz City Je liw tych polach znajduj si puste ci gi to odpowiedni liter zast puj losowo wyge-nerowanym znakiem

W kolejnym podrozdziale poka w jaki sposoacuteb wy wietli informacje o rekordachpotomnych opieraj c si na relacji pomi dzy tabelami

Formularz z podformularzem(MasterDetail Form)

Jako podsumowanie tego rozdzia u utworz formularz z podformularzem tak zwanyformularz MasterDetail Jego dzia anie polega na tym e wy wietlanie danych od-bywa si na bazie co najmniej dwoacutech komponentoacutew (np blokoacutew czy tabel) oraz rela-cji mi dzy tabelami Pierwszy komponent prezentuje rekordy zawarte w tabeli g oacutew-nej (ang master) a drugi zawiera dane z tabeli podrz dnej (ang detail) Komponentzwi zany z tabel podrz dn ma zazwyczaj za zadanie prezentowa szczegoacute owe da-ne odpowiadaj ce rekordowi z tabeli nadrz dnej ktoacutery zosta wskazany przy pomocyzwi zanej z nim listy rekordoacutew Pola tych tabel musz by zatem uporz dkowane w takisposoacuteb aby pokazywa y informacj o tym samym rekordzie Uzyskuje si to przy po-mocy relacji mi dzy tabelami ktoacuterej zadaniem jest powi zanie informacji zawartychw bazie danych

W tym podrozdziale tabel nadrz dn b dzie tabela Customers a podrz dn OrdersPo klikni ciu na hiper cze z etykiet zamoacutewienia wy wietli si lista rekordoacutew tabeliOrders skojarzonych z danym klientem dania prezentacji zamoacutewie b d realizo-wane asynchronicznie

1 Plik widoku ScaffoldingListcshtml zmodyfikuj wed ug wzoru z listingu 188

Listing 188 Konfiguracja hiper cza umo liwiaj cego wy wietlenie listy zamoacutewie danego klienta

hellipforeach (var item in Model) lttrgt lttdgt

Kup książkę Poleć książkę

316 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlDisplayFor(modelItem =gt itemCustomerID) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCompanyName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactTitle) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemAddress) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCity) lttdgt lttdgt HtmlActionLink(Edytuj ScaffoldingEdit new id = itemCustomerID ) | AjaxActionLink(Zamoacutewienia ScaffoldingMasterDetail new id = itemCustomerID new AjaxOptions UpdateTargetId = zamowienia OnSuccess = documentgetElementById(zamowienia)scrollIntoView() ) | HtmlActionLink(Usu ScaffoldingDelete new id = itemCustomerID ) lttdgt lttrgtlttablegt

ltdiv id=zamowieniagtltdivgt

2 Utwoacuterz widok cz ciowy o nazwie ZamowieniaPartialViewcshtml i wstaww nim polecenia z listingu 189

Listing 189 Definicja widoku prezentuj cego list zamoacutewie

model IEnumerableltNorthwindMVCModelsNorthwindDataSetOrdersRowgt

if (Model == null) lth2gtBrak zamoacutewie lth2gtelse lth2gtLista zamoacutewie lth2gt

lttablegt lttrgt ltthgt OrderDate ltthgt ltthgt RequiredDate ltthgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 317

ltthgt ShippedDate ltthgt ltthgt ShipName ltthgt ltthgt ShipAddress ltthgt ltthgt ShipCity ltthgt ltthgtltthgt lttrgt

foreach (var item in Model) lttrgt lttdgt itemOrderDateToShortDateString() lttdgt lttdgt itemRequiredDateToShortDateString() lttdgt lttdgt itemShippedDateToShortDateString() lttdgt lttdgt itemShipName lttdgt lttdgt itemShipAddress lttdgt lttdgt itemShipCity lttdgt lttrgt lttablegt

3 Kontroler Home uzupe nij o metod ScaffoldingMasterDetail ktoacuterej definicjprzedstawi em na listingu 1810

Listing 1810 Pobranie i prezentacja rekordoacutew potomnych wybranego klienta

public ActionResult ScaffoldingMasterDetail(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) NorthwindDataSetOrdersRow[] zamowieniaPracownika = null

if (cdr = null) zamowieniaPracownika = (NorthwindDataSetOrdersRow[])cdrGetChildRows(FK_Orders_Customers)

Kup książkę Poleć książkę

318 Cz II Technologie bazodanowe w aplikacjach internetowych

if (RequestIsAjaxRequest()) return View(ZamowieniaPartialView zamowieniaPracownika) else return ScaffoldingList()

4 Sekcj ltheadgt pliku _Layoutcshtml uzupe nij o polecenia z listingu 1811

Listing 1811 Import skryptoacutew obs uguj cych dania asynchroniczne

ltscript src=UrlContent(~Scriptsjqueryunobtrusive-ajaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftAjaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftMvcAjaxjs)type=textjavascriptgtltscriptgt

5 Po skompilowaniu i uruchomieniu aplikacji powiniene uzyska efektanalogiczny do przedstawionego na rysunku 186

Rysunek 186 Przyk ad formularza typu MasterDetail

Kup książkę Poleć książkę

Skorowidz

AACL 149action methods 25ActiveX Data Object 238ADO 238ADONET 238

obiekty 238podstawy 237synchronizacja buforu ze roacuted em danych 273

adresy URLautoryzacja 157parametry 122trasowanie 121wzorce 122 123

agile programming 15AJAX 91

aktualizacja bloku witryny 113dodanie referencji do bibliotek JavaScript 94

akcjaCreate 354Delete 357Details 353dodaj ca nowy produkt 355Edit 356

aktualizacjazawarto ci elementu witryny 92

algorytmRSA 187

ambient transaction 329ankieta 102AntiXss 187aplikacje

bazodanowe 235bezpiecze stwo 335mechanizm transakcji 319scaffolding 301

synchronizacja ze roacuted em danych 273uwagi do projektowania 345

mo liwo edytowania wpisoacutew 441rejestrowanie zdarze i trasowanie 430

Application Domain 339architektura obiektowa 347ASPNET

konfiguracja aplikacji 161mechanizmy uwierzytelnienia 149metody globalne 107w czanie i wy czanie aplikacji 171

ASPNET AJAX 91ASPNET MVC 15

komponenty 16ASPX 21 30asynchroniczne przetwarzanie da http

jQuery 113Asynchronous JavaScript and XML 48Asynchronous Programming Model 464ataki

rodzaje 147SQL Injection 148 344wy udzenie informacji 148z o liwy kod 181

atrybut 347AcceptVerbs(HttpPost) 47AcceptVerbs(HttpVerbsPost) 65AssociationAttribute 58Authorize 200AuthorizeAttribute 128autoryzacyjny 145ConcurrencyCheckAttribute 58Confirm 95cookieless 154CustomValidationAttribute 58 66data-bind 230DataType 54 57

Kup książkę Poleć książkę

528 ASPNET MVC

atrybutDataTypeAttribute 58defaultRedirect 173defaultUrl 154DisplayAttribute 58DisplayColumnAttribute 58DisplayName 436EditableAttribute 58enableCrossAppRedirects 155EnumDataTypeAttribute 58FilterUIHintAttribute 58HandleError 138 175HandleErrorAttribute 129HttpMethod 95InsertionMode 95KeyAttribute 58klasy do konfiguracji metadanych 57 58LoadingElementDuration 110LoadingElementId 95 110Log

klasa implementuj ca 142loginUrl 154MetadataType 69MetadataTypeAttribute 58mode 153 173modelu 55name 155NonAction 26 135OnBegin 95OnComplete 95OnFailure 95OnSuccess 95 110OutputCache 133OutputCacheAttribute

parametry 134passwordFormat 156protection 155Range 54 66RangeAttribute 58redirectMode 173RegularExpressionAttribute 58Required 54 66RequiredAttribute 58RequireHttps 135requireSSL 155slidingExpiration 155StringLength 66StringLengthAttribute 58TestClass 29TestMethod 29ticketCompatibilityMode 155timeout 155TimestampAttribute 58UpdateTargetId 95

Url 95ValidateInput 185

atrybuty modeluwyra enia regularne 84

Attribute 347authentication ticket 151auto post back 217autocomplete textbox 115automatyczne uzupe nienie pola tekstowego 115autoryzacja 149 157

adresoacutew URL 157konfiguracja 157

grupy u ytkownikoacutew 158mechanizm filtrowania 158otwarta 460plikoacutew 157zdalna

powi zanie z portalem Facebook 461Azure 496

Bbazy danych 40 237

aktualizacja 41lista rekordoacutew 301Northwind 240

detale produktu 352dodawanie po cze 350pobieranie produktoacutew 351

po czenie ze roacuted em danych 241relacyjne 237schemat CRUD 301transakcje 319tworzenie 321

nowego rekordu 48schematu na bazie modelu encji 357

usuwanie danych 290regu y integralno ci 293

usuwanie powi zanych wierszyrekordy potomne 291

warstwa dost pu 42bezpiecze stwo

aplikacji internetowych 147ataki 147mechanizmy 149

biblioteka NETprogramowanie asynchroniczne 464

biblioteka skryptoacutewMapajs 32

bilet uwierzytelniaj cy 151b dy

dzia ania aplikacji 171strona b du 176tworzenie u ytkownika 202wprowadzenie z ego rekordu 268

Kup książkę Poleć książkę

Skorowidz 529

body 383buforowanie

danych ze roacutede zewn trznych 133bundling 475Business Intelligence 368

Ccallback 35CAS 151 338CDN 113Central Authentication Service 151centralna us uga uwierzytelnienia 151certyfikat 337CLR

procesy systemowe 466Code Access Security 338Confirm 96connString 341controllers 16Coordinated Universal Time 155Create Read Update Delete 301cross-site scripting 181CRUD 54 301Crystal Reports 368

Ddane

agregacja 378bezpo redni dost p do roacuted a 346eksport 413

do dokumentu tekstowego 419do PDF 420skoroszyt MS Excel 421tabele dynamiczne 418

integralno 288 319pomini cie sprawdzania 292regu y 291

modyfikacja 249platforma modelowania 347prezentacja

graficzna 406w postaci macierzowej 390

przekazywaniez formularza do roacuted a 46z kontrolera do widoku 437 439

serializacja i transfer struktur 117szyfrowanie 337typu

ActionResult 25walidacja 53weryfikacja 53wi zy integralno ci 306

wy wietlanie 315zabezpieczenie 338

Data Binding 389Data Definition Language 345Database Management System 237DBMS 237

wi zy integralno ci 238DDL 345denial of service 147detail 315Development Server 504DIE 53DisplayFormatAttribute 58document object model 92DOM 92domena aplikacji 339 466

instancja obiektoacutew 341tworzenie 339wspoacute dzielenie obiektu 341

dostawcy us ug 178dost p anonimowy 150DotNetOpenAuth 149DPAPI 187DRY 53dyrektywa

model 46

Eelement

customErrors 173success 115

elevation of privilege 147encapsulation 107encja 347

atrybuty 54bazodanowa 54KategoriaProduktu 358odwzorowanie w bazie danych 360Order_Details 362Orders 361Products 361Produkt 358

Entity 347Entity Framework 43 347

POCO 360potwierdzenie explicite 356technologie 349wersje 347

Entity Relationship Model 347Entity SQL 349ERM 347Event-based Asynchronous Pattern 465event-driven programming 17

Kup książkę Poleć książkę

530 ASPNET MVC

FFile Transfer Protocol 495filtry 127

akcji 127 139autoryzacyjne 127 144dynamiczne 395kolejno wykonywania 137

priorytety 138Log

metody 141LogAttribute

definicja klasy 140podstawowe atrybuty 128statyczne 395w asne 139wyj tkoacutew 128 144

niestandardowe 145wyniku 128 144

for 434foreach 51Forms Authentication Provider 149formularz

MasterDetail 315z podformularzem 315

funkcjadelay 217ListaPracownikoacutew 57Mid 390RolesIsUserInRole 217Today 390wyznaczaj ca tras 109zmienPrzynaleznoscDoGrupy 217 218

GGauge 383 403GDI 368graficzny interfejs u ytkownika 17 30Graphics Device Interface 368GridView 48grupy u ytkownikoacutew

autoryzacja 158GUI 17

Hhard-coding 167haszowanie 150helper methods 25html helper 455

Iidentyfikator

klienta 315rekordoacutew 315

IIS 121 149 495instalacja

ASPNET 445 498serwera w Windows 7 496serwera w Windows 8 496

mened er Windows 499uruchamianie aplikacji 503

serwer do rozwoju aplikacji 504information disclosure 147instancje aplikacji 465instancjonowanie modelu 39IntelliSense 247interfejs u ytkownika

przycisk umo liwiaj cy dodanie pracownika294

przycisk usuni cia wybranego rekordu 289Internet Information Services 121internetowe us ugi informacyjne 495in ynieria spo eczna 148Isolation Level 332izolacja 339 466

JJavaScript Object Notation 117jQM 457jQuery

autocomplete 116pliki roacuted owe 113

jQuery Mobile 457jQuery UI 367

wykorzystanie przyciskoacutew 284JSON 117

obiekt typu adres 118

KKey Performance Indicators 403klasa

AccountController 198ActionExecutingContext 143AdminController 212Ajax 94AjaxOptions 94

atrybuty 95AspNetHidden 442AssemblyName 170Assert 29

Kup książkę Poleć książkę

Skorowidz 531

AuthConfig 461BundleConfig 475Configuration 170ConfigurationManager 170ConfigurationSection 187 188ConnectionStringBuilder 345DpapiProtectedConfigurationProvider 187FiltryRaportuMacierzowego 397Form1 484FormsAuthentication 152Global 430HandleErrorInfo 133HtmlHelper 437HttpClient 483 486HttpResponseMessage 486kontekstu 362LogOnModel 198MarshallByRefObject 341Membership 152 198 211MvcApplication 430NorthwindContext 362ObjectContext 348ObjectQueryltTgt 348Order_Details 362Orders 361Osoba 228ParametryWatku 470Pracownik 484Products 361Produkt 230Raport 392RequestBrowser 460ResultExecutedContext 144ResultExecutingContext 144Roles 211RsaProtectedConfigurationProvider 187SQLConnCAS

definicja 340stowarzyszona z modelem 69SystemNetHttpFormattingJsonMediaTypeF

ormatter 491SystemTextRegularExpressions 74SystemWebSecurityRoles 159Task 465 472testuj ca 29Thread 465 469TransactionScope 327UrlRoutingModule 121ViewData 434 436 439WebApiConfig 478WebConfigurationManager 170Wpisy 427 436

klucze 237MAC 155obce 238podstawowe 238

kluczowe wska niki efektywno ci 403dynamiczna zmiana warto ci 404

Knockout 227wykorzystanie szablonoacutew JavaScript 230wywo anie skryptu 229

kodowanie danychprzekazywanych przez u ytkownikoacutew 186

komponentFormDanePracownika 489obiektu

PartialView 99typu ListBox 99

ReportViewer 368 375eksport danych 413nawigacja mi dzy stronami raportu 377

komponenty u ytkownika 30komunikaty o b dach 171

kod statusowy 174 175koncepcja programowania zdarzeniowego 16konfiguracja

po czenia z baz danych 241uprawnie puli aplikacji 454walidacji danych 66

konkurencyjno aplikacji 332kontekst wi zania 389kontrola wprowadzanych danych 263

metoda onColumnChanged 269wstrzymanie walidacji wiersza 267zako czenie edycji rekordu 267

wymuszenie 267kontroler 16 25

AccountController 195Admin 223AdminController 212aplikacja Kardy 63asynchroniczny 466

a zadania 472dane wyj ciowe 25domeny 150ErrorController 174Glosowania 103Home 182 224 228 231

Bezpiecze stwo 336filtr wyj tku 131

HomeController 184EksportDanych 415Northwind 245

interfejs Web API 477KsiegaGosciController 424

Kup książkę Poleć książkę

532 ASPNET MVC

kontrolerLista 93Mapa 33

autouzupe nianie 117modyfikacja 45

niedost pne metody publiczne 136obs uga POST 431panelu administracyjnego 212

zarz dzanie grupami u ytkownikoacutew 220Pracownicy 57 64PracownicyController

implementacja 481Produkty 351projektowanie 27przekazywanie danych do widoku

zmiany 439uwierzytelnienia 195

klasa 198model 196widoki 203

uzupe nienie o widok 31u ycie modelu odsy anego przez widok 440ValuesController 478weryfikacja funkcjonalno ci 28wi zanie adresu URL z akcj 430widoki 58

konwersja obrazu 278kreator

Add New Item 242Add View 59 302Application 162blokowania szczegoacute oacutew b doacutew 172dodanie u ytkownikoacutew 164grup u ytkownikoacutew 165Provider 162Publish Web 501Security 162tworzenia pracownika 59ustawie aplikacji 167widokoacutew 60wyboacuter dostawcoacutew us ug 178

kwerendy parametryczne 274 401

Llayout witryny 30LINQ

to Entities 349lista rekordoacutew 301

prezentacja 304logika

aplikacji 30bazodanowa 30biznesowa 44

a cuch QueryString 26

Mmaster 315mechanizm

automatycznych w a ciwo ci 57autoryzacji 157eksportu danych 413filtroacutew 127grupowania plikoacutew 475IntelliSense 119QuerynotString 117szyfruj cy 187transakcji 319 321

przelewy bankowe 326wyznaczania trasy przejzdu 34

meotdaInsert 299ProtectSection 191WersjonowanieDataRow

definicja widoku 265message authentication code 155metoda

on 262HtmlValidationSummary 204About 124AcceptChanges 255 263ActionLinkActionLink 61 63 353AddUserToRole 159akcji 25

parametry opcjonalne 27aktualizacja statystyk ankiety 105AktualizujZdjeciePracownika 288Application_AuthenticateRequest 108Application_BeginRequest 107 108Application_End 108Application_EndRequest 107Application_Error 108 172Application_Start 108 123 139 430asynchroniczna kontrolera 472AttachTo 356Authenticate 152AutoUzupelnienie 117

zapytanie LINQ 118BeginEdit 267BeginForm 47 94BeginTransaction 326 332CancelEdit 263ChangeObjectState 356

Kup książkę Poleć książkę

Skorowidz 533

ChangePassword 200hiper cze 208widok 206

ChangePasswordSuccesswidok 206

CreateNazwaEncji 354CreateRole 159CreateUser 153czyBazaDanychIstnieje 326daneDostawcyForm 262DBeginnotEdit 263Delete 270DeleteObject 357DeleteRole 159DeleteUser 153DeszyfrujPlikKonfiguracyjny 191DodajDostawce 255DodajElementDoListy 94 97 101DodajGrupe 223DodajKomentarz 185DodajPracownika 299 491DopiszDoPlikuLog 430Edit 356EdytujDaneDostawcy 261EdytujDanePracownika 493Eksportuj 418EmptyResult 26EndEdit 263EndForm 47ErrorCodeToString 201Fill 246FillByCityName 275FormatDateTime 390FormsAuthenticationSetCookie 199GenerujDane 468Get(int id) 478GetAllRoles 159GetAsync 486GetChildRecords 291GetSection 170GetSectionGroup 170GetUser 153GetUsersInRole 160globalna

aplikacji ASPNET 108Grupy 223HasVersion 263HtmlListBox 97HtmlRenderPartial 101HtmlValidationSummary 61HtmlHelperLabel 437ImiePierwszegoPracownika 246 247Include 475Index 47 79 97 101

kontrolera Mapa 34testowanie 28

IsAjaxRequest 101IsMatch 76IsNotNull 29IsUserInRole 159Label 35ListaDostawcow 252 255ListaPracownikow 248

hiper cze skojarzone 249LogOff 198LogOn 198Macierzowy 397mapowalna 26MetodaAsynchronicznaWatki 472ModelStateAddModelError 199MvcApplicationRegisterRoutes 430obs uga zapyta POST 431odczyt aktualnych bilansoacutew kont 323OdczytajStanyKont 326OnActionExecuted 143OnActionExecuting 127 143onColumnChanged 269OnResultExecuted 144OnResultExecuting 144onRowChanged 266onRowChanging 268OpenConfiguration 170otwarcie po czenia z baz danych 341OtworzPlikDanych 107Page_Load 399PartialViewResult 26PobierzDane 394

modyfikacja 401PobierzPlikLogu 141 143PobierzZdjecie 278PokazTrasy 51PokazWyniki 107pomocnicza 25 455

HtmlEncode 51wykorzystanie 456

PostAsJsonAsync 486PostAsXmlAsync 486PostAsync 486PostResolveRequestCache 121PracownicyWedlugMiast

przechowywanie warto ci filtru 285PutAsJsonAsync 493PutAsXmlAsync 493PutAsync 493ReadAsAsync 486ReadXml 107ReadXmlSchema 107RedirectFromLoginPage 152

Kup książkę Poleć książkę

534 ASPNET MVC

metodaRedirectResult 26RedirectToAction 26RedirectToLoginPage 152RedirectToRoute 26RedirectToRouteResult 26RefreshReport 384Register 199 478RegisterAuth 461 462RegisterBundles 475RegisterGlobalFilters 171RegisterRoutes 94 123RejectChanges 256 263rejestrowanie zdarze aplikacji 430RemoveUserFromRole 160Render 384 413 418RenderPartial 99ResponseWrite 223ResultExecuteResult 143RoleExists 159RolesIsUserInRole 216RolesRemoveUsersFromRole 223route 35RowsAdd 255RozpocznijEdycje 269

hiper cze uruchamiaj ce 267SaveChanges 354ScaffoldingMasterDetail 317Session_End 108Session_Start 108SetAuthCookie 152SetParameters 401 405SignOut 152SprawdzDopasowania 79SprawdzPoprawnoscDatyZatrudnienia 67SqlPermissionAdd 343SqlTransactionCommit 326SqlTransactionRollback 326StronaNieIstnieje 175submit 115SzyfrowaniePlikuKonfiguracyjnego 190szyfruj ca i deszyfruj ca 189SzyfrujPlikKonfiguracyjny 191TextBox 35ThreadSleep 469 472TransactionScopeComplete 329Transfer 36UpdateUser 153UstawParametryRaportu 399UsunGrupe 223UsunTrase 50 51UtworzPracownika 64Uzytkownicy 216ValidateUser 152 153

ValidationMessage 437ValidationMessageFor 61ValidationSummary 437ViewResult 26WebApiConfigRegister 478WersjonowanieDataRow 265

sparametryzowanie 266WpisyZapiszDoPlikuXml 430wykonywanie przelewoacutew 323WyswietlLog 141 142 143wyswietlMape 34 35WyswietlTrase 50

modyfikacja 135 166wyznaczTrase 35ZaktualizujWyniki 107Zapami tajNazw U ytkownika 432ZmienStanKont 328

Microsoft SQL Server 319sposoby uwierzytelnienia 344

MIME type 390minification 476minimalizacja 476model 16 39

APM 464ChangePasswordModel 196EAP 465integracja z elementami aplikacji 39LogOnModel 196obs uga plikoacutew XML 427przesy anie z kontrolera do widoku 432 435RegisterModel 196TAP 465

model binding 48model danych encji 348

dodawanie encji 353edycja encji 355kreator 348 349

czenie encji 359metody akcji 354opcje 361projektowanie relacji 43tworzenie 349

schematu bazy danych 357usuwanie encji 357wyboacuter tabel 350

model first 52model zwi zkoacutew encji 347models 16Model-View-Controller 15Model-View-ViewModel 227Model-Widok-Kontroler 15modu

UrlAuthorizationModule 157

Kup książkę Poleć książkę

Skorowidz 535

MVC 15a Web Forms 16 365 367 423

kod 442serwer internetowych us ug

informacyjnych 495wydajno 443wykorzystanie w projektach 444

ataki XSS 185autoryzacja 158 162bezpiecze stwo aplikacji 152buforowanie 134domy lne wzorce aplikacji 21kreator aplikacji 20mechanizm filtrowania 127Model Binder 355nazwa kontrolera 27obs uga interakcji klient-serwer 121parametry opcjonalne 27pobieranie parametru z adresu URL 26projektowanie aplikacji 18 52przetwarzanie dania aplikacji klienckiej 18sprawdzanie poprawno ci danych 68struktura modelu 39techniki walidacji danych 53utworzenie widoku 30uzupe nianie o komponenty graficzne 367walidacja 438wersja 4 449wyboacuter mechanizmu przetwarzaj cego widoki 21wzorce URL 122zbioacuter modeli szablonu aplikacji 196roacuted o danych 40

MVC4 449grupowanie i optymalizacja skryptoacutew 475kaskadowe arkuszye stylu 475przetwarzanie asynchroniczne 464przystosowanie do urz dze mobillnych 457testowanie aplikacji 457uwierzytelnianie 460

integracja z portalem Facebook 462wsparcie dla urz dze mobilnych 450zdalna autoryzacja 461

MVVM 227

Nnarz dzie

aspnet_regiis 187przetwarzanie tekstu 73

Northwindinstalacja 240kwerenda wybieraj ca 240pobieranie informacji o dostawcach 251

NuGET 483nullable-types 27

OOAuth 461obiekt

AppDomain 339 341Chart 406Command 239Connection 239 241

w a ciwo i 243ConnectionString 343

sposoby uwierzytelniania 344szyfrowanie informacji 335

DataAdapter 239DataGridView 491DataReader 239 273DataRow 255

kontrola wprowadzonych danych 263usuwanie rekordoacutew 270wersje 263wersja proponowana 265wersjonowanie 263w a ciwo ci 255

DataSet 239 244 345edycja rekordoacutew 257kreator konfiguracji TableAdapter 274modyfikacja danych 249tworzenie nowych rekordoacutew 250usuwanie rekordoacutew 271wstawianie rekordoacutew 251wymuszenie wi zoacutew integralno ci 292

DataTable 107DirectionsService 35dostawca 153FormCollection 47jqXHR 218List 389logiki biznesowej 348materializacja 348Matrix 390Membership 152MvcRouteHandler 121 122o okre lonym typie danych 244o silnej typizacji 244o s abej typizacji 247ObjectStateManager 348PartialView 98ReportViewer 368ReportViewerLocalReport 418Request 26 101 432Response 26Route 122ShippersRow 255SqlConnCAS 341SqlConnection 326

Kup książkę Poleć książkę

536 ASPNET MVC

obiektTableAdapter 239 244 273 274 345

edycja danych 279 286wstawianie danych 294

TransactionScope 329parametryzacja 331

typuadres 118AppDomain 466ConcurrentDictionary 479NorthwindDataSet 247ObjectSetltTgt 348Route 121Thread 466

UrlRoutingModule 121ViewBag 36

przekazywanie danych do widoku WebForms 376

ViewData 36 79 432Object Relational Mapping 347Object Services 348obs uga b doacutew

konfiguracja 132w czenie 129

odrzucenie informacji o transakcji 148od wie anie witryny

a fragment widoku 97aktualizacja zawarto ci 113cz ciowe 96

OnSuccess 96operator

await 474konkatenacji 382Top 411Top N 411

ORM 347

Pparametr

CountryName 401data 115filtr 117mapDivId 35maxIloscRekordow 117Order 137raportu 395scopeTimeOut 330

warto ci 330TransactionScopeOption

warto ci 329type 115

parametryzacja kwerend 274partial view 30

piaskownica 341Plain Old CLR Object 360platforma NET

us ugi uwierzytelniania 153plik

ascx 22aspx 22bmp 390cookie 151cookies 154 155cshtml 22 434css 475edmx 360jpg 390js 475konfiguracyjny

zabezpieczenie 187master 22png 390rdl 368rdlc 368tekstowy

wy wietlenie w przegl darce 143vbhtml 22

POCO 360pola klucza 237polecenie

HtmlEncode 187ScriptsRender 476StylesRender 476GET 18POST 18

po czenieze roacuted em danych 241

pomocnik HTML 455Portable Document Format 413po rednik 341poziom izolacji 332

Chaos 333konfiguracja 332ReadCommitted 333ReadUncommitted 333Serializable 333Snapshot 333Unspecified 333

poziom zaufania 339ograniczenie 340

proceduraajax 115AjaxBeginForm 96niemapowalna 26PartialView 26serialize 115

Kup książkę Poleć książkę

Skorowidz 537

proces 465programowanie

oparte na zdarzeniach 17zdarzeniowe 17

projekt aplikacji MVCankieta 102asynchroniczne przetwarzanie da HTTP 92Bezpiecze stwo 181 336

nawi zanie komunikacji ze roacuted emdanych 342

szyfrowanie pliku konfiguracyjnego 191dodawanie i wy wietlanie komentarzy 183domy lny 20EksportDanych 413Filtry 131formularz oceny 107Kadry

walidacja adresu e-mail 84Kardy 55KsiegaGosci_MVC3 424lista prezentuj ca dodawane elementy 97MojaNawigacja 18

blokowanie samodzielnego tworzeniakont 224

buforowanie danych 135implementacja warstwy dost pu 42instalacja na serwerze IIS 500komunikat powitalny 168komunikaty 110komunikaty o b dach 173mechanizm podpowiedzi 115model weryfikuj cy po wiadczenia

u ytkownikoacutew 196modele kontrolera uwierzytelnienia 196od wie enie widoku mapy 109struktura 21szablon 19szablon witryny 225trasowanie da HTTP 123uzupe nienie o baz danych 40uzupe nienie o walidacj danych 69widok b du 175zablokowanie nieautoryzowanego

dost pu 128zarz dzanie u ytkownikami 163zarz dzanie grupami u ytkownikoacutew 212zarz dzanie procesem logowania 198

MsAjax 92NorthwindMVC 241

lista rekordoacutew 301szablon witryny 250

POCO 361priorytety regu filtrowania 137

Raport 368szablon

mechanizmy uwierzytelnienia 156zarz dzanie grupami u ytkownikoacutew 159

Transakcje 319aktualizacja danych 328formularz aktualizacji 328szablon stron 320

uzupe nianie widokiem GridView 49WyrazeniaRegularne 76Zapytania_EF 349

projekt aplikacji MVC4AsynchronicznyKontroler 466

prezentacja danych 468AutoryzacjaOAuth 461implementacja serwisu sieciowego 479konfiguracja grupowania 475MobileMvc 450

testowanie 457pobranie zdj cia 452przygotowanie listy pracownikoacutew 452SerwisSieciowy 477

projekt aplikacji Windows Formsedycja danych 487KlientWebAPI 483tworzenie nowych pracownikoacutew 486

dania typuDELETE 493POST 486PUT 491

projektowaniekontrolera 27widoku 31

protokoacuteFTP 495Kerberos 150NTLM 150SMTP 495SSL 337

proxy 341przechowywanie

informacji o trasach 44wynikoacutew g osowania 107

przeci enie aplikacji 147przekazywanie

danych 44mi dzy widokiem a kontrolerem 36

parametroacutew do metod akcji kontrolera 26przestrze nazw

SystemThreading 465przyjazne linki 122publikowanie aplikacji 495 500

na serwerze IIS 497

Kup książkę Poleć książkę

538 ASPNET MVC

pule aplikacji 465 497konfiguracja 498Windows 7 499Windows 8 500

Rraporty

dane w postaci macierzowej 390data 386definicja

dynamiczna 418filtrowanie danych 394

na poziomie roacuted a 401 418filtry 395formaty prezentacji danych 379grupowanie danych 381hiper cza 387

nawigacyjne 376kolumny obliczeniowe 378konfiguracja

filtrowania dynamicznego 396typu 392roacuted a danych 368

kreator formu 382macierzowe 391numery stron 386obrazy 390parametry 383 394

konfiguracja 399paski narz dziowe 379pola

bazy danych 386formularza 398raportu 390

po czenie z aplikacj 368prezentowanie uk adu graficznego 383projektowanie 371

i prezentowanie 368przystosowanie strony do obs ugi raportoacutew

387renderowanie 368tryby definicji 368tworzenie

definicji lokalnej 368formu 378przy u yciu kreatora 372

uk ad 383wstawianie nag oacutewka i stopki 385wykresy 406wy wietlenie 375

Razor 21 30przetwarzanie definicji widoku 208

RDL 418rekordy

edycja 307lista 301tworzenie 311usuwanie 305

Relationship 347Report Definition Language 418Report Wizard 371repudiation 148request 442response 442responsywno 464rollback transaction 319routing 22 430routowanie 121

SSandBox 341scaffolding 301Secure Socket Layer 337sekcja

membership 178roleManager 179set 441

serwerSMTP

konfiguracja 171us ug informacyjnych 149

weryfikacja to samo ci u ytkownika 149Simple Mail Transfer Protocol 495s owo kluczowe

helper 455await 474using 47 329

spaghetti code 18spoofing 147SQL Server Reporting Services 367SSRS 367stan pola

typu CheckBox 269pobieranie 264

STRIDE 148strona startowa

MojaNawigacja 226strona wzorcowa 30

aplikacji Kadry 55referencja do bibliotek skryptoacutew 70

systemowy serwer us ug informacyjnych 121szyfrowanie po czenia 335

ze roacuted em danych 336

Kup książkę Poleć książkę

Skorowidz 539

Ttabela danych

Categories 418Customers 305deklaracje kaskadowych arkuszy stylu 275edycja

danych 279danych w wierszu 257rekordoacutew 307 310

Employees 240 288filtrowanie listy 275integralno danych 288Konta 321 326kwerenda wybieraj ca 240Orders 291 315OrdersDetails 307pobieranie fotografii 276pobranie danych z wykorzystaniem JScript 280prezentacja

danych 277 325informacji 252listy danych 248pierwszego rekordu 246rekordoacutew 317

przekazanie do widoku 248Shippers 251tworzenie rekordoacutew 311umieszczenie w bazie danych 321uruchomienie edycji danych 258usuwanie

danych 288rekordoacutew 271 305 306

widok b du 268wstawianie

danych 294rekordoacutew 251

wy wietlenie listykonfiguracja hiper cza 315

zako czenie edycji rekordu 267tablica asocjacyjna 479tablica bajtoacutew

konwersja do bitmapy 277tampering 147task pane 371Task-based Asynchronous Pattern 465TDD 15

test jednostkowy funkcjonalno ci kontrolera28

Test-Driven Development 15testowanie

aplikacji 29wzorcoacutew wyra e regularnych 76 78

Toolbox 274

transakcje 319automatyczne zarz dzanie 327otaczaj ce 329poziom izolacji 332tworzenie i r czna kontrola 319

trasowanie 121aplikacja 430blokowanie dost pu 124domy lne regu y 123Ksi gaGosci_MVC3 430w asne regu y 124

trasowanie adresoacutew URL 121T-SQL 319

czynno ci bazodanowe 345tworzenie

bazy danych 40interfejsu u ytkownika

jQM 459szablony 231wzorzec MVVM 227

u ytkownika 200kody b doacutew 201

widoku Index 231wzorcoacutew wyra e regularnych 76

typed DataSet 244typizacja

silna 46s aba 46

typy puste 27

Uujawnienie krytycznych informacji 147ukryte pola 441Uniform Resource Locator 18URL 18uruchomienie aplikacji 503us uga

AspNetSqlProvider 178ustawienia aplikacji 167

odczytanie z pliku konfiguracyjnego 169UTC 155uwierzytelnienie 149

centralny serwis 151certyfikaty 150formularze logowania 151

atrybuty elementu forms 154konfiguracja 153mechanizmy zintegrowane z ASPNET 149na bazie protoko u NTLM 150przekazywanie informacji 151proste 150skroacutecone 150us ugi systemu Windows 150

Kup książkę Poleć książkę

540 ASPNET MVC

Vvariable placeholders 122view engine 21views 16viewstate 442Visual Studio

kreator projektu 19Visual Studio Development Server 496VS 2012

instalacja 240kreator Add New Item 242

VSDS 496

Wwalidacja

adresue-mail 83URL 83WWW 84

danych 53a technologia Entity Framework 68konfiguracja 66modelu Pracownik 66odwo anenie do jQuery 61po stronie klienta 67wyra enia regularne 73

skrypty i style walidatoroacutew 438w asno ci klasy encji 435

w tek 465Web API 477

edycja danych 491klient 483konfiguracja interfejsu 478obs uga da typu POST 486pobranie danych z serwera 485serwis sieciowy 479usuwanie danych 493

web serwer 495Web Site Administration Tool 161

konfigurowanie uprawnie 165zarz dzanie

dostawcami us ug 178u ytkownikami 163

WebForms 17bezpiecze stwo aplikacji 152integracja komponentoacutew z MVC 367kontrolka Repeater 434obs uga wyj tkoacutew 172przetwarzanie dania aplikacji klienckiej 18separacja modelu 427weryfikacja poprawno ci projektu 434

weryfikacjakodu pocztowego 81to samo ci 151

widok 16 25 30aplikacji

MVC4 453przystosowanie do urz dze mobilnych

459Transakcje 326

cz ciowy 30dodawanie 31edycji klienta 307elementy 31formularz

dodawania wpisu 425logowania 203

kontroleraaplikacja Kadry 58panelu administracyjnego 222

kontrolera AdminController 213kontrolera Dopasowania 77kontrolera ErrorControler 174kontrolera Glosowania 103kontrolera Home 131 169 182 307

metodaWyswietlLog 142Raport 375Transakcje 320

kontrolera HomeController 246AsynchronicznyKontroler 468EksportDanych 417

kontrolera Lista 93kontrolera Mapa 33 34

formularz 70Trasa 50

kreatorakonta u ytkownika 205zmiany has a 206

listyklientoacutew 302pracownikoacutew 61wyznaczonych tras 48zamoacutewie 316

mapyod wie enie 108parametryzacja 34

mechanizm przetwarzania 30modyfikowanie formularza 437obs uga wyj tkoacutew 130Pracownicycshtml 453projektowanie 31transfer danych do kontrolera 36typu CRUD 52

Kup książkę Poleć książkę

Skorowidz 541

typu GridViewimplementacja 48

typy plikoacutew 30utworzenie 30uzupe nianie tre ci 33walidacja 435wi zanie z modelem 437wstawianie rekordoacutew 312wynikoacutew ankiety 105wy wietlanie wpisoacutew 432

wielodziedziczenie 360Windows Authentication Provider 149Windows Data Protection API 187Windows Forms

implementacja klienta 483Windows Live ID 149w a ciwo

ConnectionString 243IsMobileDevice 460ModelStateIsValid 47

wstawianie rekordoacutew 299wstrzykni cie kodu 181 185wykresy 406

konfiguracjaserii danych 407typu 407

pobranie danych roacuted owych 408wy czenie aplikacji 171wyra enia lambda 46wyra enia regularne 73

atrybuty modelu 84liczba wyst pie sk adnikoacutew 76wzorzec

adres URL 83imi e skie 81kod pocztowy 80tworzenie 76

znaki i cyfry 74znaki specjalne 74znaki w wyznaczonych miejscach a cucha 75

wzorzecodnajdywanie

znakoacutew i cyfr 74znakoacutew specjalnych 74znakoacutew w wyznaczonych miejscach

a cucha 75okre lanie

liczby wyst pie znakoacutew 76

XXSS 181

Zzabezpieczenia

aplikacji bazodanowych 335ataki XSS 187informacje o b dach 171kodu po redniego 338konfiguracja 161konfiguracja aplikacji

kreatory 162obs uga wyj tkoacutew 171pliku konfiguracyjnego 167 187przed atakami 148ustawienia aplikacji 167witryny 181zarz dzanie dostawcami us ug 178z o liwy kod 181

zarz dzanieu ytkownikami i grupami 211

dost p do panelu administracyjnego 216lista grup 221podzia na grupy 220pobieranie listy 213tworzenie nowej grupy 222zmiana przynale no ci do grupy 215

z o ono ci aplikacji 16zdarzenie

DataGridViewCellDoubleClick 491rejestrowanie 430

z o liwy koddzia anie 181

znacznikinput 288

znaki specjalneodnajdywanie 74

zwi zanie z modelem 48zwi zek 347

danie 25asynchroniczna obs uga 92 466 470

skrypty 318zadania 473

GET 64POST 64przetwarzanie 127zablokowanie obs ugi 124

Kup książkę Poleć książkę

Notatki

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 315

customersTableAdapterInsert(cdrCustomerID cdrCompanyName cdrContactName cdrContactTitle cdrAddress cdrCity )

AktualizujDaneKlientow()

return ScaffoldingList()

Wstawienie rekordoacutew do tabeli Customers jest analogiczne do ich edycji Jedyn roacute -nic jest konieczno utworzenia identyfikatora klienta gdy nie jest on tworzonyautomatycznie jak to by o w przypadku tabeli Employees Identyfikatory rekordoacuteww tabeli Customers s pi cioelementowymi ci gami znakoacutew Tworz je na podstawiepierwszych liter poacutel CompanyName ContactName ContactTitle Address oraz City Je liw tych polach znajduj si puste ci gi to odpowiedni liter zast puj losowo wyge-nerowanym znakiem

W kolejnym podrozdziale poka w jaki sposoacuteb wy wietli informacje o rekordachpotomnych opieraj c si na relacji pomi dzy tabelami

Formularz z podformularzem(MasterDetail Form)

Jako podsumowanie tego rozdzia u utworz formularz z podformularzem tak zwanyformularz MasterDetail Jego dzia anie polega na tym e wy wietlanie danych od-bywa si na bazie co najmniej dwoacutech komponentoacutew (np blokoacutew czy tabel) oraz rela-cji mi dzy tabelami Pierwszy komponent prezentuje rekordy zawarte w tabeli g oacutew-nej (ang master) a drugi zawiera dane z tabeli podrz dnej (ang detail) Komponentzwi zany z tabel podrz dn ma zazwyczaj za zadanie prezentowa szczegoacute owe da-ne odpowiadaj ce rekordowi z tabeli nadrz dnej ktoacutery zosta wskazany przy pomocyzwi zanej z nim listy rekordoacutew Pola tych tabel musz by zatem uporz dkowane w takisposoacuteb aby pokazywa y informacj o tym samym rekordzie Uzyskuje si to przy po-mocy relacji mi dzy tabelami ktoacuterej zadaniem jest powi zanie informacji zawartychw bazie danych

W tym podrozdziale tabel nadrz dn b dzie tabela Customers a podrz dn OrdersPo klikni ciu na hiper cze z etykiet zamoacutewienia wy wietli si lista rekordoacutew tabeliOrders skojarzonych z danym klientem dania prezentacji zamoacutewie b d realizo-wane asynchronicznie

1 Plik widoku ScaffoldingListcshtml zmodyfikuj wed ug wzoru z listingu 188

Listing 188 Konfiguracja hiper cza umo liwiaj cego wy wietlenie listy zamoacutewie danego klienta

hellipforeach (var item in Model) lttrgt lttdgt

Kup książkę Poleć książkę

316 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlDisplayFor(modelItem =gt itemCustomerID) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCompanyName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactTitle) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemAddress) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCity) lttdgt lttdgt HtmlActionLink(Edytuj ScaffoldingEdit new id = itemCustomerID ) | AjaxActionLink(Zamoacutewienia ScaffoldingMasterDetail new id = itemCustomerID new AjaxOptions UpdateTargetId = zamowienia OnSuccess = documentgetElementById(zamowienia)scrollIntoView() ) | HtmlActionLink(Usu ScaffoldingDelete new id = itemCustomerID ) lttdgt lttrgtlttablegt

ltdiv id=zamowieniagtltdivgt

2 Utwoacuterz widok cz ciowy o nazwie ZamowieniaPartialViewcshtml i wstaww nim polecenia z listingu 189

Listing 189 Definicja widoku prezentuj cego list zamoacutewie

model IEnumerableltNorthwindMVCModelsNorthwindDataSetOrdersRowgt

if (Model == null) lth2gtBrak zamoacutewie lth2gtelse lth2gtLista zamoacutewie lth2gt

lttablegt lttrgt ltthgt OrderDate ltthgt ltthgt RequiredDate ltthgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 317

ltthgt ShippedDate ltthgt ltthgt ShipName ltthgt ltthgt ShipAddress ltthgt ltthgt ShipCity ltthgt ltthgtltthgt lttrgt

foreach (var item in Model) lttrgt lttdgt itemOrderDateToShortDateString() lttdgt lttdgt itemRequiredDateToShortDateString() lttdgt lttdgt itemShippedDateToShortDateString() lttdgt lttdgt itemShipName lttdgt lttdgt itemShipAddress lttdgt lttdgt itemShipCity lttdgt lttrgt lttablegt

3 Kontroler Home uzupe nij o metod ScaffoldingMasterDetail ktoacuterej definicjprzedstawi em na listingu 1810

Listing 1810 Pobranie i prezentacja rekordoacutew potomnych wybranego klienta

public ActionResult ScaffoldingMasterDetail(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) NorthwindDataSetOrdersRow[] zamowieniaPracownika = null

if (cdr = null) zamowieniaPracownika = (NorthwindDataSetOrdersRow[])cdrGetChildRows(FK_Orders_Customers)

Kup książkę Poleć książkę

318 Cz II Technologie bazodanowe w aplikacjach internetowych

if (RequestIsAjaxRequest()) return View(ZamowieniaPartialView zamowieniaPracownika) else return ScaffoldingList()

4 Sekcj ltheadgt pliku _Layoutcshtml uzupe nij o polecenia z listingu 1811

Listing 1811 Import skryptoacutew obs uguj cych dania asynchroniczne

ltscript src=UrlContent(~Scriptsjqueryunobtrusive-ajaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftAjaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftMvcAjaxjs)type=textjavascriptgtltscriptgt

5 Po skompilowaniu i uruchomieniu aplikacji powiniene uzyska efektanalogiczny do przedstawionego na rysunku 186

Rysunek 186 Przyk ad formularza typu MasterDetail

Kup książkę Poleć książkę

Skorowidz

AACL 149action methods 25ActiveX Data Object 238ADO 238ADONET 238

obiekty 238podstawy 237synchronizacja buforu ze roacuted em danych 273

adresy URLautoryzacja 157parametry 122trasowanie 121wzorce 122 123

agile programming 15AJAX 91

aktualizacja bloku witryny 113dodanie referencji do bibliotek JavaScript 94

akcjaCreate 354Delete 357Details 353dodaj ca nowy produkt 355Edit 356

aktualizacjazawarto ci elementu witryny 92

algorytmRSA 187

ambient transaction 329ankieta 102AntiXss 187aplikacje

bazodanowe 235bezpiecze stwo 335mechanizm transakcji 319scaffolding 301

synchronizacja ze roacuted em danych 273uwagi do projektowania 345

mo liwo edytowania wpisoacutew 441rejestrowanie zdarze i trasowanie 430

Application Domain 339architektura obiektowa 347ASPNET

konfiguracja aplikacji 161mechanizmy uwierzytelnienia 149metody globalne 107w czanie i wy czanie aplikacji 171

ASPNET AJAX 91ASPNET MVC 15

komponenty 16ASPX 21 30asynchroniczne przetwarzanie da http

jQuery 113Asynchronous JavaScript and XML 48Asynchronous Programming Model 464ataki

rodzaje 147SQL Injection 148 344wy udzenie informacji 148z o liwy kod 181

atrybut 347AcceptVerbs(HttpPost) 47AcceptVerbs(HttpVerbsPost) 65AssociationAttribute 58Authorize 200AuthorizeAttribute 128autoryzacyjny 145ConcurrencyCheckAttribute 58Confirm 95cookieless 154CustomValidationAttribute 58 66data-bind 230DataType 54 57

Kup książkę Poleć książkę

528 ASPNET MVC

atrybutDataTypeAttribute 58defaultRedirect 173defaultUrl 154DisplayAttribute 58DisplayColumnAttribute 58DisplayName 436EditableAttribute 58enableCrossAppRedirects 155EnumDataTypeAttribute 58FilterUIHintAttribute 58HandleError 138 175HandleErrorAttribute 129HttpMethod 95InsertionMode 95KeyAttribute 58klasy do konfiguracji metadanych 57 58LoadingElementDuration 110LoadingElementId 95 110Log

klasa implementuj ca 142loginUrl 154MetadataType 69MetadataTypeAttribute 58mode 153 173modelu 55name 155NonAction 26 135OnBegin 95OnComplete 95OnFailure 95OnSuccess 95 110OutputCache 133OutputCacheAttribute

parametry 134passwordFormat 156protection 155Range 54 66RangeAttribute 58redirectMode 173RegularExpressionAttribute 58Required 54 66RequiredAttribute 58RequireHttps 135requireSSL 155slidingExpiration 155StringLength 66StringLengthAttribute 58TestClass 29TestMethod 29ticketCompatibilityMode 155timeout 155TimestampAttribute 58UpdateTargetId 95

Url 95ValidateInput 185

atrybuty modeluwyra enia regularne 84

Attribute 347authentication ticket 151auto post back 217autocomplete textbox 115automatyczne uzupe nienie pola tekstowego 115autoryzacja 149 157

adresoacutew URL 157konfiguracja 157

grupy u ytkownikoacutew 158mechanizm filtrowania 158otwarta 460plikoacutew 157zdalna

powi zanie z portalem Facebook 461Azure 496

Bbazy danych 40 237

aktualizacja 41lista rekordoacutew 301Northwind 240

detale produktu 352dodawanie po cze 350pobieranie produktoacutew 351

po czenie ze roacuted em danych 241relacyjne 237schemat CRUD 301transakcje 319tworzenie 321

nowego rekordu 48schematu na bazie modelu encji 357

usuwanie danych 290regu y integralno ci 293

usuwanie powi zanych wierszyrekordy potomne 291

warstwa dost pu 42bezpiecze stwo

aplikacji internetowych 147ataki 147mechanizmy 149

biblioteka NETprogramowanie asynchroniczne 464

biblioteka skryptoacutewMapajs 32

bilet uwierzytelniaj cy 151b dy

dzia ania aplikacji 171strona b du 176tworzenie u ytkownika 202wprowadzenie z ego rekordu 268

Kup książkę Poleć książkę

Skorowidz 529

body 383buforowanie

danych ze roacutede zewn trznych 133bundling 475Business Intelligence 368

Ccallback 35CAS 151 338CDN 113Central Authentication Service 151centralna us uga uwierzytelnienia 151certyfikat 337CLR

procesy systemowe 466Code Access Security 338Confirm 96connString 341controllers 16Coordinated Universal Time 155Create Read Update Delete 301cross-site scripting 181CRUD 54 301Crystal Reports 368

Ddane

agregacja 378bezpo redni dost p do roacuted a 346eksport 413

do dokumentu tekstowego 419do PDF 420skoroszyt MS Excel 421tabele dynamiczne 418

integralno 288 319pomini cie sprawdzania 292regu y 291

modyfikacja 249platforma modelowania 347prezentacja

graficzna 406w postaci macierzowej 390

przekazywaniez formularza do roacuted a 46z kontrolera do widoku 437 439

serializacja i transfer struktur 117szyfrowanie 337typu

ActionResult 25walidacja 53weryfikacja 53wi zy integralno ci 306

wy wietlanie 315zabezpieczenie 338

Data Binding 389Data Definition Language 345Database Management System 237DBMS 237

wi zy integralno ci 238DDL 345denial of service 147detail 315Development Server 504DIE 53DisplayFormatAttribute 58document object model 92DOM 92domena aplikacji 339 466

instancja obiektoacutew 341tworzenie 339wspoacute dzielenie obiektu 341

dostawcy us ug 178dost p anonimowy 150DotNetOpenAuth 149DPAPI 187DRY 53dyrektywa

model 46

Eelement

customErrors 173success 115

elevation of privilege 147encapsulation 107encja 347

atrybuty 54bazodanowa 54KategoriaProduktu 358odwzorowanie w bazie danych 360Order_Details 362Orders 361Products 361Produkt 358

Entity 347Entity Framework 43 347

POCO 360potwierdzenie explicite 356technologie 349wersje 347

Entity Relationship Model 347Entity SQL 349ERM 347Event-based Asynchronous Pattern 465event-driven programming 17

Kup książkę Poleć książkę

530 ASPNET MVC

FFile Transfer Protocol 495filtry 127

akcji 127 139autoryzacyjne 127 144dynamiczne 395kolejno wykonywania 137

priorytety 138Log

metody 141LogAttribute

definicja klasy 140podstawowe atrybuty 128statyczne 395w asne 139wyj tkoacutew 128 144

niestandardowe 145wyniku 128 144

for 434foreach 51Forms Authentication Provider 149formularz

MasterDetail 315z podformularzem 315

funkcjadelay 217ListaPracownikoacutew 57Mid 390RolesIsUserInRole 217Today 390wyznaczaj ca tras 109zmienPrzynaleznoscDoGrupy 217 218

GGauge 383 403GDI 368graficzny interfejs u ytkownika 17 30Graphics Device Interface 368GridView 48grupy u ytkownikoacutew

autoryzacja 158GUI 17

Hhard-coding 167haszowanie 150helper methods 25html helper 455

Iidentyfikator

klienta 315rekordoacutew 315

IIS 121 149 495instalacja

ASPNET 445 498serwera w Windows 7 496serwera w Windows 8 496

mened er Windows 499uruchamianie aplikacji 503

serwer do rozwoju aplikacji 504information disclosure 147instancje aplikacji 465instancjonowanie modelu 39IntelliSense 247interfejs u ytkownika

przycisk umo liwiaj cy dodanie pracownika294

przycisk usuni cia wybranego rekordu 289Internet Information Services 121internetowe us ugi informacyjne 495in ynieria spo eczna 148Isolation Level 332izolacja 339 466

JJavaScript Object Notation 117jQM 457jQuery

autocomplete 116pliki roacuted owe 113

jQuery Mobile 457jQuery UI 367

wykorzystanie przyciskoacutew 284JSON 117

obiekt typu adres 118

KKey Performance Indicators 403klasa

AccountController 198ActionExecutingContext 143AdminController 212Ajax 94AjaxOptions 94

atrybuty 95AspNetHidden 442AssemblyName 170Assert 29

Kup książkę Poleć książkę

Skorowidz 531

AuthConfig 461BundleConfig 475Configuration 170ConfigurationManager 170ConfigurationSection 187 188ConnectionStringBuilder 345DpapiProtectedConfigurationProvider 187FiltryRaportuMacierzowego 397Form1 484FormsAuthentication 152Global 430HandleErrorInfo 133HtmlHelper 437HttpClient 483 486HttpResponseMessage 486kontekstu 362LogOnModel 198MarshallByRefObject 341Membership 152 198 211MvcApplication 430NorthwindContext 362ObjectContext 348ObjectQueryltTgt 348Order_Details 362Orders 361Osoba 228ParametryWatku 470Pracownik 484Products 361Produkt 230Raport 392RequestBrowser 460ResultExecutedContext 144ResultExecutingContext 144Roles 211RsaProtectedConfigurationProvider 187SQLConnCAS

definicja 340stowarzyszona z modelem 69SystemNetHttpFormattingJsonMediaTypeF

ormatter 491SystemTextRegularExpressions 74SystemWebSecurityRoles 159Task 465 472testuj ca 29Thread 465 469TransactionScope 327UrlRoutingModule 121ViewData 434 436 439WebApiConfig 478WebConfigurationManager 170Wpisy 427 436

klucze 237MAC 155obce 238podstawowe 238

kluczowe wska niki efektywno ci 403dynamiczna zmiana warto ci 404

Knockout 227wykorzystanie szablonoacutew JavaScript 230wywo anie skryptu 229

kodowanie danychprzekazywanych przez u ytkownikoacutew 186

komponentFormDanePracownika 489obiektu

PartialView 99typu ListBox 99

ReportViewer 368 375eksport danych 413nawigacja mi dzy stronami raportu 377

komponenty u ytkownika 30komunikaty o b dach 171

kod statusowy 174 175koncepcja programowania zdarzeniowego 16konfiguracja

po czenia z baz danych 241uprawnie puli aplikacji 454walidacji danych 66

konkurencyjno aplikacji 332kontekst wi zania 389kontrola wprowadzanych danych 263

metoda onColumnChanged 269wstrzymanie walidacji wiersza 267zako czenie edycji rekordu 267

wymuszenie 267kontroler 16 25

AccountController 195Admin 223AdminController 212aplikacja Kardy 63asynchroniczny 466

a zadania 472dane wyj ciowe 25domeny 150ErrorController 174Glosowania 103Home 182 224 228 231

Bezpiecze stwo 336filtr wyj tku 131

HomeController 184EksportDanych 415Northwind 245

interfejs Web API 477KsiegaGosciController 424

Kup książkę Poleć książkę

532 ASPNET MVC

kontrolerLista 93Mapa 33

autouzupe nianie 117modyfikacja 45

niedost pne metody publiczne 136obs uga POST 431panelu administracyjnego 212

zarz dzanie grupami u ytkownikoacutew 220Pracownicy 57 64PracownicyController

implementacja 481Produkty 351projektowanie 27przekazywanie danych do widoku

zmiany 439uwierzytelnienia 195

klasa 198model 196widoki 203

uzupe nienie o widok 31u ycie modelu odsy anego przez widok 440ValuesController 478weryfikacja funkcjonalno ci 28wi zanie adresu URL z akcj 430widoki 58

konwersja obrazu 278kreator

Add New Item 242Add View 59 302Application 162blokowania szczegoacute oacutew b doacutew 172dodanie u ytkownikoacutew 164grup u ytkownikoacutew 165Provider 162Publish Web 501Security 162tworzenia pracownika 59ustawie aplikacji 167widokoacutew 60wyboacuter dostawcoacutew us ug 178

kwerendy parametryczne 274 401

Llayout witryny 30LINQ

to Entities 349lista rekordoacutew 301

prezentacja 304logika

aplikacji 30bazodanowa 30biznesowa 44

a cuch QueryString 26

Mmaster 315mechanizm

automatycznych w a ciwo ci 57autoryzacji 157eksportu danych 413filtroacutew 127grupowania plikoacutew 475IntelliSense 119QuerynotString 117szyfruj cy 187transakcji 319 321

przelewy bankowe 326wyznaczania trasy przejzdu 34

meotdaInsert 299ProtectSection 191WersjonowanieDataRow

definicja widoku 265message authentication code 155metoda

on 262HtmlValidationSummary 204About 124AcceptChanges 255 263ActionLinkActionLink 61 63 353AddUserToRole 159akcji 25

parametry opcjonalne 27aktualizacja statystyk ankiety 105AktualizujZdjeciePracownika 288Application_AuthenticateRequest 108Application_BeginRequest 107 108Application_End 108Application_EndRequest 107Application_Error 108 172Application_Start 108 123 139 430asynchroniczna kontrolera 472AttachTo 356Authenticate 152AutoUzupelnienie 117

zapytanie LINQ 118BeginEdit 267BeginForm 47 94BeginTransaction 326 332CancelEdit 263ChangeObjectState 356

Kup książkę Poleć książkę

Skorowidz 533

ChangePassword 200hiper cze 208widok 206

ChangePasswordSuccesswidok 206

CreateNazwaEncji 354CreateRole 159CreateUser 153czyBazaDanychIstnieje 326daneDostawcyForm 262DBeginnotEdit 263Delete 270DeleteObject 357DeleteRole 159DeleteUser 153DeszyfrujPlikKonfiguracyjny 191DodajDostawce 255DodajElementDoListy 94 97 101DodajGrupe 223DodajKomentarz 185DodajPracownika 299 491DopiszDoPlikuLog 430Edit 356EdytujDaneDostawcy 261EdytujDanePracownika 493Eksportuj 418EmptyResult 26EndEdit 263EndForm 47ErrorCodeToString 201Fill 246FillByCityName 275FormatDateTime 390FormsAuthenticationSetCookie 199GenerujDane 468Get(int id) 478GetAllRoles 159GetAsync 486GetChildRecords 291GetSection 170GetSectionGroup 170GetUser 153GetUsersInRole 160globalna

aplikacji ASPNET 108Grupy 223HasVersion 263HtmlListBox 97HtmlRenderPartial 101HtmlValidationSummary 61HtmlHelperLabel 437ImiePierwszegoPracownika 246 247Include 475Index 47 79 97 101

kontrolera Mapa 34testowanie 28

IsAjaxRequest 101IsMatch 76IsNotNull 29IsUserInRole 159Label 35ListaDostawcow 252 255ListaPracownikow 248

hiper cze skojarzone 249LogOff 198LogOn 198Macierzowy 397mapowalna 26MetodaAsynchronicznaWatki 472ModelStateAddModelError 199MvcApplicationRegisterRoutes 430obs uga zapyta POST 431odczyt aktualnych bilansoacutew kont 323OdczytajStanyKont 326OnActionExecuted 143OnActionExecuting 127 143onColumnChanged 269OnResultExecuted 144OnResultExecuting 144onRowChanged 266onRowChanging 268OpenConfiguration 170otwarcie po czenia z baz danych 341OtworzPlikDanych 107Page_Load 399PartialViewResult 26PobierzDane 394

modyfikacja 401PobierzPlikLogu 141 143PobierzZdjecie 278PokazTrasy 51PokazWyniki 107pomocnicza 25 455

HtmlEncode 51wykorzystanie 456

PostAsJsonAsync 486PostAsXmlAsync 486PostAsync 486PostResolveRequestCache 121PracownicyWedlugMiast

przechowywanie warto ci filtru 285PutAsJsonAsync 493PutAsXmlAsync 493PutAsync 493ReadAsAsync 486ReadXml 107ReadXmlSchema 107RedirectFromLoginPage 152

Kup książkę Poleć książkę

534 ASPNET MVC

metodaRedirectResult 26RedirectToAction 26RedirectToLoginPage 152RedirectToRoute 26RedirectToRouteResult 26RefreshReport 384Register 199 478RegisterAuth 461 462RegisterBundles 475RegisterGlobalFilters 171RegisterRoutes 94 123RejectChanges 256 263rejestrowanie zdarze aplikacji 430RemoveUserFromRole 160Render 384 413 418RenderPartial 99ResponseWrite 223ResultExecuteResult 143RoleExists 159RolesIsUserInRole 216RolesRemoveUsersFromRole 223route 35RowsAdd 255RozpocznijEdycje 269

hiper cze uruchamiaj ce 267SaveChanges 354ScaffoldingMasterDetail 317Session_End 108Session_Start 108SetAuthCookie 152SetParameters 401 405SignOut 152SprawdzDopasowania 79SprawdzPoprawnoscDatyZatrudnienia 67SqlPermissionAdd 343SqlTransactionCommit 326SqlTransactionRollback 326StronaNieIstnieje 175submit 115SzyfrowaniePlikuKonfiguracyjnego 190szyfruj ca i deszyfruj ca 189SzyfrujPlikKonfiguracyjny 191TextBox 35ThreadSleep 469 472TransactionScopeComplete 329Transfer 36UpdateUser 153UstawParametryRaportu 399UsunGrupe 223UsunTrase 50 51UtworzPracownika 64Uzytkownicy 216ValidateUser 152 153

ValidationMessage 437ValidationMessageFor 61ValidationSummary 437ViewResult 26WebApiConfigRegister 478WersjonowanieDataRow 265

sparametryzowanie 266WpisyZapiszDoPlikuXml 430wykonywanie przelewoacutew 323WyswietlLog 141 142 143wyswietlMape 34 35WyswietlTrase 50

modyfikacja 135 166wyznaczTrase 35ZaktualizujWyniki 107Zapami tajNazw U ytkownika 432ZmienStanKont 328

Microsoft SQL Server 319sposoby uwierzytelnienia 344

MIME type 390minification 476minimalizacja 476model 16 39

APM 464ChangePasswordModel 196EAP 465integracja z elementami aplikacji 39LogOnModel 196obs uga plikoacutew XML 427przesy anie z kontrolera do widoku 432 435RegisterModel 196TAP 465

model binding 48model danych encji 348

dodawanie encji 353edycja encji 355kreator 348 349

czenie encji 359metody akcji 354opcje 361projektowanie relacji 43tworzenie 349

schematu bazy danych 357usuwanie encji 357wyboacuter tabel 350

model first 52model zwi zkoacutew encji 347models 16Model-View-Controller 15Model-View-ViewModel 227Model-Widok-Kontroler 15modu

UrlAuthorizationModule 157

Kup książkę Poleć książkę

Skorowidz 535

MVC 15a Web Forms 16 365 367 423

kod 442serwer internetowych us ug

informacyjnych 495wydajno 443wykorzystanie w projektach 444

ataki XSS 185autoryzacja 158 162bezpiecze stwo aplikacji 152buforowanie 134domy lne wzorce aplikacji 21kreator aplikacji 20mechanizm filtrowania 127Model Binder 355nazwa kontrolera 27obs uga interakcji klient-serwer 121parametry opcjonalne 27pobieranie parametru z adresu URL 26projektowanie aplikacji 18 52przetwarzanie dania aplikacji klienckiej 18sprawdzanie poprawno ci danych 68struktura modelu 39techniki walidacji danych 53utworzenie widoku 30uzupe nianie o komponenty graficzne 367walidacja 438wersja 4 449wyboacuter mechanizmu przetwarzaj cego widoki 21wzorce URL 122zbioacuter modeli szablonu aplikacji 196roacuted o danych 40

MVC4 449grupowanie i optymalizacja skryptoacutew 475kaskadowe arkuszye stylu 475przetwarzanie asynchroniczne 464przystosowanie do urz dze mobillnych 457testowanie aplikacji 457uwierzytelnianie 460

integracja z portalem Facebook 462wsparcie dla urz dze mobilnych 450zdalna autoryzacja 461

MVVM 227

Nnarz dzie

aspnet_regiis 187przetwarzanie tekstu 73

Northwindinstalacja 240kwerenda wybieraj ca 240pobieranie informacji o dostawcach 251

NuGET 483nullable-types 27

OOAuth 461obiekt

AppDomain 339 341Chart 406Command 239Connection 239 241

w a ciwo i 243ConnectionString 343

sposoby uwierzytelniania 344szyfrowanie informacji 335

DataAdapter 239DataGridView 491DataReader 239 273DataRow 255

kontrola wprowadzonych danych 263usuwanie rekordoacutew 270wersje 263wersja proponowana 265wersjonowanie 263w a ciwo ci 255

DataSet 239 244 345edycja rekordoacutew 257kreator konfiguracji TableAdapter 274modyfikacja danych 249tworzenie nowych rekordoacutew 250usuwanie rekordoacutew 271wstawianie rekordoacutew 251wymuszenie wi zoacutew integralno ci 292

DataTable 107DirectionsService 35dostawca 153FormCollection 47jqXHR 218List 389logiki biznesowej 348materializacja 348Matrix 390Membership 152MvcRouteHandler 121 122o okre lonym typie danych 244o silnej typizacji 244o s abej typizacji 247ObjectStateManager 348PartialView 98ReportViewer 368ReportViewerLocalReport 418Request 26 101 432Response 26Route 122ShippersRow 255SqlConnCAS 341SqlConnection 326

Kup książkę Poleć książkę

536 ASPNET MVC

obiektTableAdapter 239 244 273 274 345

edycja danych 279 286wstawianie danych 294

TransactionScope 329parametryzacja 331

typuadres 118AppDomain 466ConcurrentDictionary 479NorthwindDataSet 247ObjectSetltTgt 348Route 121Thread 466

UrlRoutingModule 121ViewBag 36

przekazywanie danych do widoku WebForms 376

ViewData 36 79 432Object Relational Mapping 347Object Services 348obs uga b doacutew

konfiguracja 132w czenie 129

odrzucenie informacji o transakcji 148od wie anie witryny

a fragment widoku 97aktualizacja zawarto ci 113cz ciowe 96

OnSuccess 96operator

await 474konkatenacji 382Top 411Top N 411

ORM 347

Pparametr

CountryName 401data 115filtr 117mapDivId 35maxIloscRekordow 117Order 137raportu 395scopeTimeOut 330

warto ci 330TransactionScopeOption

warto ci 329type 115

parametryzacja kwerend 274partial view 30

piaskownica 341Plain Old CLR Object 360platforma NET

us ugi uwierzytelniania 153plik

ascx 22aspx 22bmp 390cookie 151cookies 154 155cshtml 22 434css 475edmx 360jpg 390js 475konfiguracyjny

zabezpieczenie 187master 22png 390rdl 368rdlc 368tekstowy

wy wietlenie w przegl darce 143vbhtml 22

POCO 360pola klucza 237polecenie

HtmlEncode 187ScriptsRender 476StylesRender 476GET 18POST 18

po czenieze roacuted em danych 241

pomocnik HTML 455Portable Document Format 413po rednik 341poziom izolacji 332

Chaos 333konfiguracja 332ReadCommitted 333ReadUncommitted 333Serializable 333Snapshot 333Unspecified 333

poziom zaufania 339ograniczenie 340

proceduraajax 115AjaxBeginForm 96niemapowalna 26PartialView 26serialize 115

Kup książkę Poleć książkę

Skorowidz 537

proces 465programowanie

oparte na zdarzeniach 17zdarzeniowe 17

projekt aplikacji MVCankieta 102asynchroniczne przetwarzanie da HTTP 92Bezpiecze stwo 181 336

nawi zanie komunikacji ze roacuted emdanych 342

szyfrowanie pliku konfiguracyjnego 191dodawanie i wy wietlanie komentarzy 183domy lny 20EksportDanych 413Filtry 131formularz oceny 107Kadry

walidacja adresu e-mail 84Kardy 55KsiegaGosci_MVC3 424lista prezentuj ca dodawane elementy 97MojaNawigacja 18

blokowanie samodzielnego tworzeniakont 224

buforowanie danych 135implementacja warstwy dost pu 42instalacja na serwerze IIS 500komunikat powitalny 168komunikaty 110komunikaty o b dach 173mechanizm podpowiedzi 115model weryfikuj cy po wiadczenia

u ytkownikoacutew 196modele kontrolera uwierzytelnienia 196od wie enie widoku mapy 109struktura 21szablon 19szablon witryny 225trasowanie da HTTP 123uzupe nienie o baz danych 40uzupe nienie o walidacj danych 69widok b du 175zablokowanie nieautoryzowanego

dost pu 128zarz dzanie u ytkownikami 163zarz dzanie grupami u ytkownikoacutew 212zarz dzanie procesem logowania 198

MsAjax 92NorthwindMVC 241

lista rekordoacutew 301szablon witryny 250

POCO 361priorytety regu filtrowania 137

Raport 368szablon

mechanizmy uwierzytelnienia 156zarz dzanie grupami u ytkownikoacutew 159

Transakcje 319aktualizacja danych 328formularz aktualizacji 328szablon stron 320

uzupe nianie widokiem GridView 49WyrazeniaRegularne 76Zapytania_EF 349

projekt aplikacji MVC4AsynchronicznyKontroler 466

prezentacja danych 468AutoryzacjaOAuth 461implementacja serwisu sieciowego 479konfiguracja grupowania 475MobileMvc 450

testowanie 457pobranie zdj cia 452przygotowanie listy pracownikoacutew 452SerwisSieciowy 477

projekt aplikacji Windows Formsedycja danych 487KlientWebAPI 483tworzenie nowych pracownikoacutew 486

dania typuDELETE 493POST 486PUT 491

projektowaniekontrolera 27widoku 31

protokoacuteFTP 495Kerberos 150NTLM 150SMTP 495SSL 337

proxy 341przechowywanie

informacji o trasach 44wynikoacutew g osowania 107

przeci enie aplikacji 147przekazywanie

danych 44mi dzy widokiem a kontrolerem 36

parametroacutew do metod akcji kontrolera 26przestrze nazw

SystemThreading 465przyjazne linki 122publikowanie aplikacji 495 500

na serwerze IIS 497

Kup książkę Poleć książkę

538 ASPNET MVC

pule aplikacji 465 497konfiguracja 498Windows 7 499Windows 8 500

Rraporty

dane w postaci macierzowej 390data 386definicja

dynamiczna 418filtrowanie danych 394

na poziomie roacuted a 401 418filtry 395formaty prezentacji danych 379grupowanie danych 381hiper cza 387

nawigacyjne 376kolumny obliczeniowe 378konfiguracja

filtrowania dynamicznego 396typu 392roacuted a danych 368

kreator formu 382macierzowe 391numery stron 386obrazy 390parametry 383 394

konfiguracja 399paski narz dziowe 379pola

bazy danych 386formularza 398raportu 390

po czenie z aplikacj 368prezentowanie uk adu graficznego 383projektowanie 371

i prezentowanie 368przystosowanie strony do obs ugi raportoacutew

387renderowanie 368tryby definicji 368tworzenie

definicji lokalnej 368formu 378przy u yciu kreatora 372

uk ad 383wstawianie nag oacutewka i stopki 385wykresy 406wy wietlenie 375

Razor 21 30przetwarzanie definicji widoku 208

RDL 418rekordy

edycja 307lista 301tworzenie 311usuwanie 305

Relationship 347Report Definition Language 418Report Wizard 371repudiation 148request 442response 442responsywno 464rollback transaction 319routing 22 430routowanie 121

SSandBox 341scaffolding 301Secure Socket Layer 337sekcja

membership 178roleManager 179set 441

serwerSMTP

konfiguracja 171us ug informacyjnych 149

weryfikacja to samo ci u ytkownika 149Simple Mail Transfer Protocol 495s owo kluczowe

helper 455await 474using 47 329

spaghetti code 18spoofing 147SQL Server Reporting Services 367SSRS 367stan pola

typu CheckBox 269pobieranie 264

STRIDE 148strona startowa

MojaNawigacja 226strona wzorcowa 30

aplikacji Kadry 55referencja do bibliotek skryptoacutew 70

systemowy serwer us ug informacyjnych 121szyfrowanie po czenia 335

ze roacuted em danych 336

Kup książkę Poleć książkę

Skorowidz 539

Ttabela danych

Categories 418Customers 305deklaracje kaskadowych arkuszy stylu 275edycja

danych 279danych w wierszu 257rekordoacutew 307 310

Employees 240 288filtrowanie listy 275integralno danych 288Konta 321 326kwerenda wybieraj ca 240Orders 291 315OrdersDetails 307pobieranie fotografii 276pobranie danych z wykorzystaniem JScript 280prezentacja

danych 277 325informacji 252listy danych 248pierwszego rekordu 246rekordoacutew 317

przekazanie do widoku 248Shippers 251tworzenie rekordoacutew 311umieszczenie w bazie danych 321uruchomienie edycji danych 258usuwanie

danych 288rekordoacutew 271 305 306

widok b du 268wstawianie

danych 294rekordoacutew 251

wy wietlenie listykonfiguracja hiper cza 315

zako czenie edycji rekordu 267tablica asocjacyjna 479tablica bajtoacutew

konwersja do bitmapy 277tampering 147task pane 371Task-based Asynchronous Pattern 465TDD 15

test jednostkowy funkcjonalno ci kontrolera28

Test-Driven Development 15testowanie

aplikacji 29wzorcoacutew wyra e regularnych 76 78

Toolbox 274

transakcje 319automatyczne zarz dzanie 327otaczaj ce 329poziom izolacji 332tworzenie i r czna kontrola 319

trasowanie 121aplikacja 430blokowanie dost pu 124domy lne regu y 123Ksi gaGosci_MVC3 430w asne regu y 124

trasowanie adresoacutew URL 121T-SQL 319

czynno ci bazodanowe 345tworzenie

bazy danych 40interfejsu u ytkownika

jQM 459szablony 231wzorzec MVVM 227

u ytkownika 200kody b doacutew 201

widoku Index 231wzorcoacutew wyra e regularnych 76

typed DataSet 244typizacja

silna 46s aba 46

typy puste 27

Uujawnienie krytycznych informacji 147ukryte pola 441Uniform Resource Locator 18URL 18uruchomienie aplikacji 503us uga

AspNetSqlProvider 178ustawienia aplikacji 167

odczytanie z pliku konfiguracyjnego 169UTC 155uwierzytelnienie 149

centralny serwis 151certyfikaty 150formularze logowania 151

atrybuty elementu forms 154konfiguracja 153mechanizmy zintegrowane z ASPNET 149na bazie protoko u NTLM 150przekazywanie informacji 151proste 150skroacutecone 150us ugi systemu Windows 150

Kup książkę Poleć książkę

540 ASPNET MVC

Vvariable placeholders 122view engine 21views 16viewstate 442Visual Studio

kreator projektu 19Visual Studio Development Server 496VS 2012

instalacja 240kreator Add New Item 242

VSDS 496

Wwalidacja

adresue-mail 83URL 83WWW 84

danych 53a technologia Entity Framework 68konfiguracja 66modelu Pracownik 66odwo anenie do jQuery 61po stronie klienta 67wyra enia regularne 73

skrypty i style walidatoroacutew 438w asno ci klasy encji 435

w tek 465Web API 477

edycja danych 491klient 483konfiguracja interfejsu 478obs uga da typu POST 486pobranie danych z serwera 485serwis sieciowy 479usuwanie danych 493

web serwer 495Web Site Administration Tool 161

konfigurowanie uprawnie 165zarz dzanie

dostawcami us ug 178u ytkownikami 163

WebForms 17bezpiecze stwo aplikacji 152integracja komponentoacutew z MVC 367kontrolka Repeater 434obs uga wyj tkoacutew 172przetwarzanie dania aplikacji klienckiej 18separacja modelu 427weryfikacja poprawno ci projektu 434

weryfikacjakodu pocztowego 81to samo ci 151

widok 16 25 30aplikacji

MVC4 453przystosowanie do urz dze mobilnych

459Transakcje 326

cz ciowy 30dodawanie 31edycji klienta 307elementy 31formularz

dodawania wpisu 425logowania 203

kontroleraaplikacja Kadry 58panelu administracyjnego 222

kontrolera AdminController 213kontrolera Dopasowania 77kontrolera ErrorControler 174kontrolera Glosowania 103kontrolera Home 131 169 182 307

metodaWyswietlLog 142Raport 375Transakcje 320

kontrolera HomeController 246AsynchronicznyKontroler 468EksportDanych 417

kontrolera Lista 93kontrolera Mapa 33 34

formularz 70Trasa 50

kreatorakonta u ytkownika 205zmiany has a 206

listyklientoacutew 302pracownikoacutew 61wyznaczonych tras 48zamoacutewie 316

mapyod wie enie 108parametryzacja 34

mechanizm przetwarzania 30modyfikowanie formularza 437obs uga wyj tkoacutew 130Pracownicycshtml 453projektowanie 31transfer danych do kontrolera 36typu CRUD 52

Kup książkę Poleć książkę

Skorowidz 541

typu GridViewimplementacja 48

typy plikoacutew 30utworzenie 30uzupe nianie tre ci 33walidacja 435wi zanie z modelem 437wstawianie rekordoacutew 312wynikoacutew ankiety 105wy wietlanie wpisoacutew 432

wielodziedziczenie 360Windows Authentication Provider 149Windows Data Protection API 187Windows Forms

implementacja klienta 483Windows Live ID 149w a ciwo

ConnectionString 243IsMobileDevice 460ModelStateIsValid 47

wstawianie rekordoacutew 299wstrzykni cie kodu 181 185wykresy 406

konfiguracjaserii danych 407typu 407

pobranie danych roacuted owych 408wy czenie aplikacji 171wyra enia lambda 46wyra enia regularne 73

atrybuty modelu 84liczba wyst pie sk adnikoacutew 76wzorzec

adres URL 83imi e skie 81kod pocztowy 80tworzenie 76

znaki i cyfry 74znaki specjalne 74znaki w wyznaczonych miejscach a cucha 75

wzorzecodnajdywanie

znakoacutew i cyfr 74znakoacutew specjalnych 74znakoacutew w wyznaczonych miejscach

a cucha 75okre lanie

liczby wyst pie znakoacutew 76

XXSS 181

Zzabezpieczenia

aplikacji bazodanowych 335ataki XSS 187informacje o b dach 171kodu po redniego 338konfiguracja 161konfiguracja aplikacji

kreatory 162obs uga wyj tkoacutew 171pliku konfiguracyjnego 167 187przed atakami 148ustawienia aplikacji 167witryny 181zarz dzanie dostawcami us ug 178z o liwy kod 181

zarz dzanieu ytkownikami i grupami 211

dost p do panelu administracyjnego 216lista grup 221podzia na grupy 220pobieranie listy 213tworzenie nowej grupy 222zmiana przynale no ci do grupy 215

z o ono ci aplikacji 16zdarzenie

DataGridViewCellDoubleClick 491rejestrowanie 430

z o liwy koddzia anie 181

znacznikinput 288

znaki specjalneodnajdywanie 74

zwi zanie z modelem 48zwi zek 347

danie 25asynchroniczna obs uga 92 466 470

skrypty 318zadania 473

GET 64POST 64przetwarzanie 127zablokowanie obs ugi 124

Kup książkę Poleć książkę

Notatki

Kup książkę Poleć książkę

316 Cz II Technologie bazodanowe w aplikacjach internetowych

HtmlDisplayFor(modelItem =gt itemCustomerID) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCompanyName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactName) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemContactTitle) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemAddress) lttdgt lttdgt HtmlDisplayFor(modelItem =gt itemCity) lttdgt lttdgt HtmlActionLink(Edytuj ScaffoldingEdit new id = itemCustomerID ) | AjaxActionLink(Zamoacutewienia ScaffoldingMasterDetail new id = itemCustomerID new AjaxOptions UpdateTargetId = zamowienia OnSuccess = documentgetElementById(zamowienia)scrollIntoView() ) | HtmlActionLink(Usu ScaffoldingDelete new id = itemCustomerID ) lttdgt lttrgtlttablegt

ltdiv id=zamowieniagtltdivgt

2 Utwoacuterz widok cz ciowy o nazwie ZamowieniaPartialViewcshtml i wstaww nim polecenia z listingu 189

Listing 189 Definicja widoku prezentuj cego list zamoacutewie

model IEnumerableltNorthwindMVCModelsNorthwindDataSetOrdersRowgt

if (Model == null) lth2gtBrak zamoacutewie lth2gtelse lth2gtLista zamoacutewie lth2gt

lttablegt lttrgt ltthgt OrderDate ltthgt ltthgt RequiredDate ltthgt

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 317

ltthgt ShippedDate ltthgt ltthgt ShipName ltthgt ltthgt ShipAddress ltthgt ltthgt ShipCity ltthgt ltthgtltthgt lttrgt

foreach (var item in Model) lttrgt lttdgt itemOrderDateToShortDateString() lttdgt lttdgt itemRequiredDateToShortDateString() lttdgt lttdgt itemShippedDateToShortDateString() lttdgt lttdgt itemShipName lttdgt lttdgt itemShipAddress lttdgt lttdgt itemShipCity lttdgt lttrgt lttablegt

3 Kontroler Home uzupe nij o metod ScaffoldingMasterDetail ktoacuterej definicjprzedstawi em na listingu 1810

Listing 1810 Pobranie i prezentacja rekordoacutew potomnych wybranego klienta

public ActionResult ScaffoldingMasterDetail(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) NorthwindDataSetOrdersRow[] zamowieniaPracownika = null

if (cdr = null) zamowieniaPracownika = (NorthwindDataSetOrdersRow[])cdrGetChildRows(FK_Orders_Customers)

Kup książkę Poleć książkę

318 Cz II Technologie bazodanowe w aplikacjach internetowych

if (RequestIsAjaxRequest()) return View(ZamowieniaPartialView zamowieniaPracownika) else return ScaffoldingList()

4 Sekcj ltheadgt pliku _Layoutcshtml uzupe nij o polecenia z listingu 1811

Listing 1811 Import skryptoacutew obs uguj cych dania asynchroniczne

ltscript src=UrlContent(~Scriptsjqueryunobtrusive-ajaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftAjaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftMvcAjaxjs)type=textjavascriptgtltscriptgt

5 Po skompilowaniu i uruchomieniu aplikacji powiniene uzyska efektanalogiczny do przedstawionego na rysunku 186

Rysunek 186 Przyk ad formularza typu MasterDetail

Kup książkę Poleć książkę

Skorowidz

AACL 149action methods 25ActiveX Data Object 238ADO 238ADONET 238

obiekty 238podstawy 237synchronizacja buforu ze roacuted em danych 273

adresy URLautoryzacja 157parametry 122trasowanie 121wzorce 122 123

agile programming 15AJAX 91

aktualizacja bloku witryny 113dodanie referencji do bibliotek JavaScript 94

akcjaCreate 354Delete 357Details 353dodaj ca nowy produkt 355Edit 356

aktualizacjazawarto ci elementu witryny 92

algorytmRSA 187

ambient transaction 329ankieta 102AntiXss 187aplikacje

bazodanowe 235bezpiecze stwo 335mechanizm transakcji 319scaffolding 301

synchronizacja ze roacuted em danych 273uwagi do projektowania 345

mo liwo edytowania wpisoacutew 441rejestrowanie zdarze i trasowanie 430

Application Domain 339architektura obiektowa 347ASPNET

konfiguracja aplikacji 161mechanizmy uwierzytelnienia 149metody globalne 107w czanie i wy czanie aplikacji 171

ASPNET AJAX 91ASPNET MVC 15

komponenty 16ASPX 21 30asynchroniczne przetwarzanie da http

jQuery 113Asynchronous JavaScript and XML 48Asynchronous Programming Model 464ataki

rodzaje 147SQL Injection 148 344wy udzenie informacji 148z o liwy kod 181

atrybut 347AcceptVerbs(HttpPost) 47AcceptVerbs(HttpVerbsPost) 65AssociationAttribute 58Authorize 200AuthorizeAttribute 128autoryzacyjny 145ConcurrencyCheckAttribute 58Confirm 95cookieless 154CustomValidationAttribute 58 66data-bind 230DataType 54 57

Kup książkę Poleć książkę

528 ASPNET MVC

atrybutDataTypeAttribute 58defaultRedirect 173defaultUrl 154DisplayAttribute 58DisplayColumnAttribute 58DisplayName 436EditableAttribute 58enableCrossAppRedirects 155EnumDataTypeAttribute 58FilterUIHintAttribute 58HandleError 138 175HandleErrorAttribute 129HttpMethod 95InsertionMode 95KeyAttribute 58klasy do konfiguracji metadanych 57 58LoadingElementDuration 110LoadingElementId 95 110Log

klasa implementuj ca 142loginUrl 154MetadataType 69MetadataTypeAttribute 58mode 153 173modelu 55name 155NonAction 26 135OnBegin 95OnComplete 95OnFailure 95OnSuccess 95 110OutputCache 133OutputCacheAttribute

parametry 134passwordFormat 156protection 155Range 54 66RangeAttribute 58redirectMode 173RegularExpressionAttribute 58Required 54 66RequiredAttribute 58RequireHttps 135requireSSL 155slidingExpiration 155StringLength 66StringLengthAttribute 58TestClass 29TestMethod 29ticketCompatibilityMode 155timeout 155TimestampAttribute 58UpdateTargetId 95

Url 95ValidateInput 185

atrybuty modeluwyra enia regularne 84

Attribute 347authentication ticket 151auto post back 217autocomplete textbox 115automatyczne uzupe nienie pola tekstowego 115autoryzacja 149 157

adresoacutew URL 157konfiguracja 157

grupy u ytkownikoacutew 158mechanizm filtrowania 158otwarta 460plikoacutew 157zdalna

powi zanie z portalem Facebook 461Azure 496

Bbazy danych 40 237

aktualizacja 41lista rekordoacutew 301Northwind 240

detale produktu 352dodawanie po cze 350pobieranie produktoacutew 351

po czenie ze roacuted em danych 241relacyjne 237schemat CRUD 301transakcje 319tworzenie 321

nowego rekordu 48schematu na bazie modelu encji 357

usuwanie danych 290regu y integralno ci 293

usuwanie powi zanych wierszyrekordy potomne 291

warstwa dost pu 42bezpiecze stwo

aplikacji internetowych 147ataki 147mechanizmy 149

biblioteka NETprogramowanie asynchroniczne 464

biblioteka skryptoacutewMapajs 32

bilet uwierzytelniaj cy 151b dy

dzia ania aplikacji 171strona b du 176tworzenie u ytkownika 202wprowadzenie z ego rekordu 268

Kup książkę Poleć książkę

Skorowidz 529

body 383buforowanie

danych ze roacutede zewn trznych 133bundling 475Business Intelligence 368

Ccallback 35CAS 151 338CDN 113Central Authentication Service 151centralna us uga uwierzytelnienia 151certyfikat 337CLR

procesy systemowe 466Code Access Security 338Confirm 96connString 341controllers 16Coordinated Universal Time 155Create Read Update Delete 301cross-site scripting 181CRUD 54 301Crystal Reports 368

Ddane

agregacja 378bezpo redni dost p do roacuted a 346eksport 413

do dokumentu tekstowego 419do PDF 420skoroszyt MS Excel 421tabele dynamiczne 418

integralno 288 319pomini cie sprawdzania 292regu y 291

modyfikacja 249platforma modelowania 347prezentacja

graficzna 406w postaci macierzowej 390

przekazywaniez formularza do roacuted a 46z kontrolera do widoku 437 439

serializacja i transfer struktur 117szyfrowanie 337typu

ActionResult 25walidacja 53weryfikacja 53wi zy integralno ci 306

wy wietlanie 315zabezpieczenie 338

Data Binding 389Data Definition Language 345Database Management System 237DBMS 237

wi zy integralno ci 238DDL 345denial of service 147detail 315Development Server 504DIE 53DisplayFormatAttribute 58document object model 92DOM 92domena aplikacji 339 466

instancja obiektoacutew 341tworzenie 339wspoacute dzielenie obiektu 341

dostawcy us ug 178dost p anonimowy 150DotNetOpenAuth 149DPAPI 187DRY 53dyrektywa

model 46

Eelement

customErrors 173success 115

elevation of privilege 147encapsulation 107encja 347

atrybuty 54bazodanowa 54KategoriaProduktu 358odwzorowanie w bazie danych 360Order_Details 362Orders 361Products 361Produkt 358

Entity 347Entity Framework 43 347

POCO 360potwierdzenie explicite 356technologie 349wersje 347

Entity Relationship Model 347Entity SQL 349ERM 347Event-based Asynchronous Pattern 465event-driven programming 17

Kup książkę Poleć książkę

530 ASPNET MVC

FFile Transfer Protocol 495filtry 127

akcji 127 139autoryzacyjne 127 144dynamiczne 395kolejno wykonywania 137

priorytety 138Log

metody 141LogAttribute

definicja klasy 140podstawowe atrybuty 128statyczne 395w asne 139wyj tkoacutew 128 144

niestandardowe 145wyniku 128 144

for 434foreach 51Forms Authentication Provider 149formularz

MasterDetail 315z podformularzem 315

funkcjadelay 217ListaPracownikoacutew 57Mid 390RolesIsUserInRole 217Today 390wyznaczaj ca tras 109zmienPrzynaleznoscDoGrupy 217 218

GGauge 383 403GDI 368graficzny interfejs u ytkownika 17 30Graphics Device Interface 368GridView 48grupy u ytkownikoacutew

autoryzacja 158GUI 17

Hhard-coding 167haszowanie 150helper methods 25html helper 455

Iidentyfikator

klienta 315rekordoacutew 315

IIS 121 149 495instalacja

ASPNET 445 498serwera w Windows 7 496serwera w Windows 8 496

mened er Windows 499uruchamianie aplikacji 503

serwer do rozwoju aplikacji 504information disclosure 147instancje aplikacji 465instancjonowanie modelu 39IntelliSense 247interfejs u ytkownika

przycisk umo liwiaj cy dodanie pracownika294

przycisk usuni cia wybranego rekordu 289Internet Information Services 121internetowe us ugi informacyjne 495in ynieria spo eczna 148Isolation Level 332izolacja 339 466

JJavaScript Object Notation 117jQM 457jQuery

autocomplete 116pliki roacuted owe 113

jQuery Mobile 457jQuery UI 367

wykorzystanie przyciskoacutew 284JSON 117

obiekt typu adres 118

KKey Performance Indicators 403klasa

AccountController 198ActionExecutingContext 143AdminController 212Ajax 94AjaxOptions 94

atrybuty 95AspNetHidden 442AssemblyName 170Assert 29

Kup książkę Poleć książkę

Skorowidz 531

AuthConfig 461BundleConfig 475Configuration 170ConfigurationManager 170ConfigurationSection 187 188ConnectionStringBuilder 345DpapiProtectedConfigurationProvider 187FiltryRaportuMacierzowego 397Form1 484FormsAuthentication 152Global 430HandleErrorInfo 133HtmlHelper 437HttpClient 483 486HttpResponseMessage 486kontekstu 362LogOnModel 198MarshallByRefObject 341Membership 152 198 211MvcApplication 430NorthwindContext 362ObjectContext 348ObjectQueryltTgt 348Order_Details 362Orders 361Osoba 228ParametryWatku 470Pracownik 484Products 361Produkt 230Raport 392RequestBrowser 460ResultExecutedContext 144ResultExecutingContext 144Roles 211RsaProtectedConfigurationProvider 187SQLConnCAS

definicja 340stowarzyszona z modelem 69SystemNetHttpFormattingJsonMediaTypeF

ormatter 491SystemTextRegularExpressions 74SystemWebSecurityRoles 159Task 465 472testuj ca 29Thread 465 469TransactionScope 327UrlRoutingModule 121ViewData 434 436 439WebApiConfig 478WebConfigurationManager 170Wpisy 427 436

klucze 237MAC 155obce 238podstawowe 238

kluczowe wska niki efektywno ci 403dynamiczna zmiana warto ci 404

Knockout 227wykorzystanie szablonoacutew JavaScript 230wywo anie skryptu 229

kodowanie danychprzekazywanych przez u ytkownikoacutew 186

komponentFormDanePracownika 489obiektu

PartialView 99typu ListBox 99

ReportViewer 368 375eksport danych 413nawigacja mi dzy stronami raportu 377

komponenty u ytkownika 30komunikaty o b dach 171

kod statusowy 174 175koncepcja programowania zdarzeniowego 16konfiguracja

po czenia z baz danych 241uprawnie puli aplikacji 454walidacji danych 66

konkurencyjno aplikacji 332kontekst wi zania 389kontrola wprowadzanych danych 263

metoda onColumnChanged 269wstrzymanie walidacji wiersza 267zako czenie edycji rekordu 267

wymuszenie 267kontroler 16 25

AccountController 195Admin 223AdminController 212aplikacja Kardy 63asynchroniczny 466

a zadania 472dane wyj ciowe 25domeny 150ErrorController 174Glosowania 103Home 182 224 228 231

Bezpiecze stwo 336filtr wyj tku 131

HomeController 184EksportDanych 415Northwind 245

interfejs Web API 477KsiegaGosciController 424

Kup książkę Poleć książkę

532 ASPNET MVC

kontrolerLista 93Mapa 33

autouzupe nianie 117modyfikacja 45

niedost pne metody publiczne 136obs uga POST 431panelu administracyjnego 212

zarz dzanie grupami u ytkownikoacutew 220Pracownicy 57 64PracownicyController

implementacja 481Produkty 351projektowanie 27przekazywanie danych do widoku

zmiany 439uwierzytelnienia 195

klasa 198model 196widoki 203

uzupe nienie o widok 31u ycie modelu odsy anego przez widok 440ValuesController 478weryfikacja funkcjonalno ci 28wi zanie adresu URL z akcj 430widoki 58

konwersja obrazu 278kreator

Add New Item 242Add View 59 302Application 162blokowania szczegoacute oacutew b doacutew 172dodanie u ytkownikoacutew 164grup u ytkownikoacutew 165Provider 162Publish Web 501Security 162tworzenia pracownika 59ustawie aplikacji 167widokoacutew 60wyboacuter dostawcoacutew us ug 178

kwerendy parametryczne 274 401

Llayout witryny 30LINQ

to Entities 349lista rekordoacutew 301

prezentacja 304logika

aplikacji 30bazodanowa 30biznesowa 44

a cuch QueryString 26

Mmaster 315mechanizm

automatycznych w a ciwo ci 57autoryzacji 157eksportu danych 413filtroacutew 127grupowania plikoacutew 475IntelliSense 119QuerynotString 117szyfruj cy 187transakcji 319 321

przelewy bankowe 326wyznaczania trasy przejzdu 34

meotdaInsert 299ProtectSection 191WersjonowanieDataRow

definicja widoku 265message authentication code 155metoda

on 262HtmlValidationSummary 204About 124AcceptChanges 255 263ActionLinkActionLink 61 63 353AddUserToRole 159akcji 25

parametry opcjonalne 27aktualizacja statystyk ankiety 105AktualizujZdjeciePracownika 288Application_AuthenticateRequest 108Application_BeginRequest 107 108Application_End 108Application_EndRequest 107Application_Error 108 172Application_Start 108 123 139 430asynchroniczna kontrolera 472AttachTo 356Authenticate 152AutoUzupelnienie 117

zapytanie LINQ 118BeginEdit 267BeginForm 47 94BeginTransaction 326 332CancelEdit 263ChangeObjectState 356

Kup książkę Poleć książkę

Skorowidz 533

ChangePassword 200hiper cze 208widok 206

ChangePasswordSuccesswidok 206

CreateNazwaEncji 354CreateRole 159CreateUser 153czyBazaDanychIstnieje 326daneDostawcyForm 262DBeginnotEdit 263Delete 270DeleteObject 357DeleteRole 159DeleteUser 153DeszyfrujPlikKonfiguracyjny 191DodajDostawce 255DodajElementDoListy 94 97 101DodajGrupe 223DodajKomentarz 185DodajPracownika 299 491DopiszDoPlikuLog 430Edit 356EdytujDaneDostawcy 261EdytujDanePracownika 493Eksportuj 418EmptyResult 26EndEdit 263EndForm 47ErrorCodeToString 201Fill 246FillByCityName 275FormatDateTime 390FormsAuthenticationSetCookie 199GenerujDane 468Get(int id) 478GetAllRoles 159GetAsync 486GetChildRecords 291GetSection 170GetSectionGroup 170GetUser 153GetUsersInRole 160globalna

aplikacji ASPNET 108Grupy 223HasVersion 263HtmlListBox 97HtmlRenderPartial 101HtmlValidationSummary 61HtmlHelperLabel 437ImiePierwszegoPracownika 246 247Include 475Index 47 79 97 101

kontrolera Mapa 34testowanie 28

IsAjaxRequest 101IsMatch 76IsNotNull 29IsUserInRole 159Label 35ListaDostawcow 252 255ListaPracownikow 248

hiper cze skojarzone 249LogOff 198LogOn 198Macierzowy 397mapowalna 26MetodaAsynchronicznaWatki 472ModelStateAddModelError 199MvcApplicationRegisterRoutes 430obs uga zapyta POST 431odczyt aktualnych bilansoacutew kont 323OdczytajStanyKont 326OnActionExecuted 143OnActionExecuting 127 143onColumnChanged 269OnResultExecuted 144OnResultExecuting 144onRowChanged 266onRowChanging 268OpenConfiguration 170otwarcie po czenia z baz danych 341OtworzPlikDanych 107Page_Load 399PartialViewResult 26PobierzDane 394

modyfikacja 401PobierzPlikLogu 141 143PobierzZdjecie 278PokazTrasy 51PokazWyniki 107pomocnicza 25 455

HtmlEncode 51wykorzystanie 456

PostAsJsonAsync 486PostAsXmlAsync 486PostAsync 486PostResolveRequestCache 121PracownicyWedlugMiast

przechowywanie warto ci filtru 285PutAsJsonAsync 493PutAsXmlAsync 493PutAsync 493ReadAsAsync 486ReadXml 107ReadXmlSchema 107RedirectFromLoginPage 152

Kup książkę Poleć książkę

534 ASPNET MVC

metodaRedirectResult 26RedirectToAction 26RedirectToLoginPage 152RedirectToRoute 26RedirectToRouteResult 26RefreshReport 384Register 199 478RegisterAuth 461 462RegisterBundles 475RegisterGlobalFilters 171RegisterRoutes 94 123RejectChanges 256 263rejestrowanie zdarze aplikacji 430RemoveUserFromRole 160Render 384 413 418RenderPartial 99ResponseWrite 223ResultExecuteResult 143RoleExists 159RolesIsUserInRole 216RolesRemoveUsersFromRole 223route 35RowsAdd 255RozpocznijEdycje 269

hiper cze uruchamiaj ce 267SaveChanges 354ScaffoldingMasterDetail 317Session_End 108Session_Start 108SetAuthCookie 152SetParameters 401 405SignOut 152SprawdzDopasowania 79SprawdzPoprawnoscDatyZatrudnienia 67SqlPermissionAdd 343SqlTransactionCommit 326SqlTransactionRollback 326StronaNieIstnieje 175submit 115SzyfrowaniePlikuKonfiguracyjnego 190szyfruj ca i deszyfruj ca 189SzyfrujPlikKonfiguracyjny 191TextBox 35ThreadSleep 469 472TransactionScopeComplete 329Transfer 36UpdateUser 153UstawParametryRaportu 399UsunGrupe 223UsunTrase 50 51UtworzPracownika 64Uzytkownicy 216ValidateUser 152 153

ValidationMessage 437ValidationMessageFor 61ValidationSummary 437ViewResult 26WebApiConfigRegister 478WersjonowanieDataRow 265

sparametryzowanie 266WpisyZapiszDoPlikuXml 430wykonywanie przelewoacutew 323WyswietlLog 141 142 143wyswietlMape 34 35WyswietlTrase 50

modyfikacja 135 166wyznaczTrase 35ZaktualizujWyniki 107Zapami tajNazw U ytkownika 432ZmienStanKont 328

Microsoft SQL Server 319sposoby uwierzytelnienia 344

MIME type 390minification 476minimalizacja 476model 16 39

APM 464ChangePasswordModel 196EAP 465integracja z elementami aplikacji 39LogOnModel 196obs uga plikoacutew XML 427przesy anie z kontrolera do widoku 432 435RegisterModel 196TAP 465

model binding 48model danych encji 348

dodawanie encji 353edycja encji 355kreator 348 349

czenie encji 359metody akcji 354opcje 361projektowanie relacji 43tworzenie 349

schematu bazy danych 357usuwanie encji 357wyboacuter tabel 350

model first 52model zwi zkoacutew encji 347models 16Model-View-Controller 15Model-View-ViewModel 227Model-Widok-Kontroler 15modu

UrlAuthorizationModule 157

Kup książkę Poleć książkę

Skorowidz 535

MVC 15a Web Forms 16 365 367 423

kod 442serwer internetowych us ug

informacyjnych 495wydajno 443wykorzystanie w projektach 444

ataki XSS 185autoryzacja 158 162bezpiecze stwo aplikacji 152buforowanie 134domy lne wzorce aplikacji 21kreator aplikacji 20mechanizm filtrowania 127Model Binder 355nazwa kontrolera 27obs uga interakcji klient-serwer 121parametry opcjonalne 27pobieranie parametru z adresu URL 26projektowanie aplikacji 18 52przetwarzanie dania aplikacji klienckiej 18sprawdzanie poprawno ci danych 68struktura modelu 39techniki walidacji danych 53utworzenie widoku 30uzupe nianie o komponenty graficzne 367walidacja 438wersja 4 449wyboacuter mechanizmu przetwarzaj cego widoki 21wzorce URL 122zbioacuter modeli szablonu aplikacji 196roacuted o danych 40

MVC4 449grupowanie i optymalizacja skryptoacutew 475kaskadowe arkuszye stylu 475przetwarzanie asynchroniczne 464przystosowanie do urz dze mobillnych 457testowanie aplikacji 457uwierzytelnianie 460

integracja z portalem Facebook 462wsparcie dla urz dze mobilnych 450zdalna autoryzacja 461

MVVM 227

Nnarz dzie

aspnet_regiis 187przetwarzanie tekstu 73

Northwindinstalacja 240kwerenda wybieraj ca 240pobieranie informacji o dostawcach 251

NuGET 483nullable-types 27

OOAuth 461obiekt

AppDomain 339 341Chart 406Command 239Connection 239 241

w a ciwo i 243ConnectionString 343

sposoby uwierzytelniania 344szyfrowanie informacji 335

DataAdapter 239DataGridView 491DataReader 239 273DataRow 255

kontrola wprowadzonych danych 263usuwanie rekordoacutew 270wersje 263wersja proponowana 265wersjonowanie 263w a ciwo ci 255

DataSet 239 244 345edycja rekordoacutew 257kreator konfiguracji TableAdapter 274modyfikacja danych 249tworzenie nowych rekordoacutew 250usuwanie rekordoacutew 271wstawianie rekordoacutew 251wymuszenie wi zoacutew integralno ci 292

DataTable 107DirectionsService 35dostawca 153FormCollection 47jqXHR 218List 389logiki biznesowej 348materializacja 348Matrix 390Membership 152MvcRouteHandler 121 122o okre lonym typie danych 244o silnej typizacji 244o s abej typizacji 247ObjectStateManager 348PartialView 98ReportViewer 368ReportViewerLocalReport 418Request 26 101 432Response 26Route 122ShippersRow 255SqlConnCAS 341SqlConnection 326

Kup książkę Poleć książkę

536 ASPNET MVC

obiektTableAdapter 239 244 273 274 345

edycja danych 279 286wstawianie danych 294

TransactionScope 329parametryzacja 331

typuadres 118AppDomain 466ConcurrentDictionary 479NorthwindDataSet 247ObjectSetltTgt 348Route 121Thread 466

UrlRoutingModule 121ViewBag 36

przekazywanie danych do widoku WebForms 376

ViewData 36 79 432Object Relational Mapping 347Object Services 348obs uga b doacutew

konfiguracja 132w czenie 129

odrzucenie informacji o transakcji 148od wie anie witryny

a fragment widoku 97aktualizacja zawarto ci 113cz ciowe 96

OnSuccess 96operator

await 474konkatenacji 382Top 411Top N 411

ORM 347

Pparametr

CountryName 401data 115filtr 117mapDivId 35maxIloscRekordow 117Order 137raportu 395scopeTimeOut 330

warto ci 330TransactionScopeOption

warto ci 329type 115

parametryzacja kwerend 274partial view 30

piaskownica 341Plain Old CLR Object 360platforma NET

us ugi uwierzytelniania 153plik

ascx 22aspx 22bmp 390cookie 151cookies 154 155cshtml 22 434css 475edmx 360jpg 390js 475konfiguracyjny

zabezpieczenie 187master 22png 390rdl 368rdlc 368tekstowy

wy wietlenie w przegl darce 143vbhtml 22

POCO 360pola klucza 237polecenie

HtmlEncode 187ScriptsRender 476StylesRender 476GET 18POST 18

po czenieze roacuted em danych 241

pomocnik HTML 455Portable Document Format 413po rednik 341poziom izolacji 332

Chaos 333konfiguracja 332ReadCommitted 333ReadUncommitted 333Serializable 333Snapshot 333Unspecified 333

poziom zaufania 339ograniczenie 340

proceduraajax 115AjaxBeginForm 96niemapowalna 26PartialView 26serialize 115

Kup książkę Poleć książkę

Skorowidz 537

proces 465programowanie

oparte na zdarzeniach 17zdarzeniowe 17

projekt aplikacji MVCankieta 102asynchroniczne przetwarzanie da HTTP 92Bezpiecze stwo 181 336

nawi zanie komunikacji ze roacuted emdanych 342

szyfrowanie pliku konfiguracyjnego 191dodawanie i wy wietlanie komentarzy 183domy lny 20EksportDanych 413Filtry 131formularz oceny 107Kadry

walidacja adresu e-mail 84Kardy 55KsiegaGosci_MVC3 424lista prezentuj ca dodawane elementy 97MojaNawigacja 18

blokowanie samodzielnego tworzeniakont 224

buforowanie danych 135implementacja warstwy dost pu 42instalacja na serwerze IIS 500komunikat powitalny 168komunikaty 110komunikaty o b dach 173mechanizm podpowiedzi 115model weryfikuj cy po wiadczenia

u ytkownikoacutew 196modele kontrolera uwierzytelnienia 196od wie enie widoku mapy 109struktura 21szablon 19szablon witryny 225trasowanie da HTTP 123uzupe nienie o baz danych 40uzupe nienie o walidacj danych 69widok b du 175zablokowanie nieautoryzowanego

dost pu 128zarz dzanie u ytkownikami 163zarz dzanie grupami u ytkownikoacutew 212zarz dzanie procesem logowania 198

MsAjax 92NorthwindMVC 241

lista rekordoacutew 301szablon witryny 250

POCO 361priorytety regu filtrowania 137

Raport 368szablon

mechanizmy uwierzytelnienia 156zarz dzanie grupami u ytkownikoacutew 159

Transakcje 319aktualizacja danych 328formularz aktualizacji 328szablon stron 320

uzupe nianie widokiem GridView 49WyrazeniaRegularne 76Zapytania_EF 349

projekt aplikacji MVC4AsynchronicznyKontroler 466

prezentacja danych 468AutoryzacjaOAuth 461implementacja serwisu sieciowego 479konfiguracja grupowania 475MobileMvc 450

testowanie 457pobranie zdj cia 452przygotowanie listy pracownikoacutew 452SerwisSieciowy 477

projekt aplikacji Windows Formsedycja danych 487KlientWebAPI 483tworzenie nowych pracownikoacutew 486

dania typuDELETE 493POST 486PUT 491

projektowaniekontrolera 27widoku 31

protokoacuteFTP 495Kerberos 150NTLM 150SMTP 495SSL 337

proxy 341przechowywanie

informacji o trasach 44wynikoacutew g osowania 107

przeci enie aplikacji 147przekazywanie

danych 44mi dzy widokiem a kontrolerem 36

parametroacutew do metod akcji kontrolera 26przestrze nazw

SystemThreading 465przyjazne linki 122publikowanie aplikacji 495 500

na serwerze IIS 497

Kup książkę Poleć książkę

538 ASPNET MVC

pule aplikacji 465 497konfiguracja 498Windows 7 499Windows 8 500

Rraporty

dane w postaci macierzowej 390data 386definicja

dynamiczna 418filtrowanie danych 394

na poziomie roacuted a 401 418filtry 395formaty prezentacji danych 379grupowanie danych 381hiper cza 387

nawigacyjne 376kolumny obliczeniowe 378konfiguracja

filtrowania dynamicznego 396typu 392roacuted a danych 368

kreator formu 382macierzowe 391numery stron 386obrazy 390parametry 383 394

konfiguracja 399paski narz dziowe 379pola

bazy danych 386formularza 398raportu 390

po czenie z aplikacj 368prezentowanie uk adu graficznego 383projektowanie 371

i prezentowanie 368przystosowanie strony do obs ugi raportoacutew

387renderowanie 368tryby definicji 368tworzenie

definicji lokalnej 368formu 378przy u yciu kreatora 372

uk ad 383wstawianie nag oacutewka i stopki 385wykresy 406wy wietlenie 375

Razor 21 30przetwarzanie definicji widoku 208

RDL 418rekordy

edycja 307lista 301tworzenie 311usuwanie 305

Relationship 347Report Definition Language 418Report Wizard 371repudiation 148request 442response 442responsywno 464rollback transaction 319routing 22 430routowanie 121

SSandBox 341scaffolding 301Secure Socket Layer 337sekcja

membership 178roleManager 179set 441

serwerSMTP

konfiguracja 171us ug informacyjnych 149

weryfikacja to samo ci u ytkownika 149Simple Mail Transfer Protocol 495s owo kluczowe

helper 455await 474using 47 329

spaghetti code 18spoofing 147SQL Server Reporting Services 367SSRS 367stan pola

typu CheckBox 269pobieranie 264

STRIDE 148strona startowa

MojaNawigacja 226strona wzorcowa 30

aplikacji Kadry 55referencja do bibliotek skryptoacutew 70

systemowy serwer us ug informacyjnych 121szyfrowanie po czenia 335

ze roacuted em danych 336

Kup książkę Poleć książkę

Skorowidz 539

Ttabela danych

Categories 418Customers 305deklaracje kaskadowych arkuszy stylu 275edycja

danych 279danych w wierszu 257rekordoacutew 307 310

Employees 240 288filtrowanie listy 275integralno danych 288Konta 321 326kwerenda wybieraj ca 240Orders 291 315OrdersDetails 307pobieranie fotografii 276pobranie danych z wykorzystaniem JScript 280prezentacja

danych 277 325informacji 252listy danych 248pierwszego rekordu 246rekordoacutew 317

przekazanie do widoku 248Shippers 251tworzenie rekordoacutew 311umieszczenie w bazie danych 321uruchomienie edycji danych 258usuwanie

danych 288rekordoacutew 271 305 306

widok b du 268wstawianie

danych 294rekordoacutew 251

wy wietlenie listykonfiguracja hiper cza 315

zako czenie edycji rekordu 267tablica asocjacyjna 479tablica bajtoacutew

konwersja do bitmapy 277tampering 147task pane 371Task-based Asynchronous Pattern 465TDD 15

test jednostkowy funkcjonalno ci kontrolera28

Test-Driven Development 15testowanie

aplikacji 29wzorcoacutew wyra e regularnych 76 78

Toolbox 274

transakcje 319automatyczne zarz dzanie 327otaczaj ce 329poziom izolacji 332tworzenie i r czna kontrola 319

trasowanie 121aplikacja 430blokowanie dost pu 124domy lne regu y 123Ksi gaGosci_MVC3 430w asne regu y 124

trasowanie adresoacutew URL 121T-SQL 319

czynno ci bazodanowe 345tworzenie

bazy danych 40interfejsu u ytkownika

jQM 459szablony 231wzorzec MVVM 227

u ytkownika 200kody b doacutew 201

widoku Index 231wzorcoacutew wyra e regularnych 76

typed DataSet 244typizacja

silna 46s aba 46

typy puste 27

Uujawnienie krytycznych informacji 147ukryte pola 441Uniform Resource Locator 18URL 18uruchomienie aplikacji 503us uga

AspNetSqlProvider 178ustawienia aplikacji 167

odczytanie z pliku konfiguracyjnego 169UTC 155uwierzytelnienie 149

centralny serwis 151certyfikaty 150formularze logowania 151

atrybuty elementu forms 154konfiguracja 153mechanizmy zintegrowane z ASPNET 149na bazie protoko u NTLM 150przekazywanie informacji 151proste 150skroacutecone 150us ugi systemu Windows 150

Kup książkę Poleć książkę

540 ASPNET MVC

Vvariable placeholders 122view engine 21views 16viewstate 442Visual Studio

kreator projektu 19Visual Studio Development Server 496VS 2012

instalacja 240kreator Add New Item 242

VSDS 496

Wwalidacja

adresue-mail 83URL 83WWW 84

danych 53a technologia Entity Framework 68konfiguracja 66modelu Pracownik 66odwo anenie do jQuery 61po stronie klienta 67wyra enia regularne 73

skrypty i style walidatoroacutew 438w asno ci klasy encji 435

w tek 465Web API 477

edycja danych 491klient 483konfiguracja interfejsu 478obs uga da typu POST 486pobranie danych z serwera 485serwis sieciowy 479usuwanie danych 493

web serwer 495Web Site Administration Tool 161

konfigurowanie uprawnie 165zarz dzanie

dostawcami us ug 178u ytkownikami 163

WebForms 17bezpiecze stwo aplikacji 152integracja komponentoacutew z MVC 367kontrolka Repeater 434obs uga wyj tkoacutew 172przetwarzanie dania aplikacji klienckiej 18separacja modelu 427weryfikacja poprawno ci projektu 434

weryfikacjakodu pocztowego 81to samo ci 151

widok 16 25 30aplikacji

MVC4 453przystosowanie do urz dze mobilnych

459Transakcje 326

cz ciowy 30dodawanie 31edycji klienta 307elementy 31formularz

dodawania wpisu 425logowania 203

kontroleraaplikacja Kadry 58panelu administracyjnego 222

kontrolera AdminController 213kontrolera Dopasowania 77kontrolera ErrorControler 174kontrolera Glosowania 103kontrolera Home 131 169 182 307

metodaWyswietlLog 142Raport 375Transakcje 320

kontrolera HomeController 246AsynchronicznyKontroler 468EksportDanych 417

kontrolera Lista 93kontrolera Mapa 33 34

formularz 70Trasa 50

kreatorakonta u ytkownika 205zmiany has a 206

listyklientoacutew 302pracownikoacutew 61wyznaczonych tras 48zamoacutewie 316

mapyod wie enie 108parametryzacja 34

mechanizm przetwarzania 30modyfikowanie formularza 437obs uga wyj tkoacutew 130Pracownicycshtml 453projektowanie 31transfer danych do kontrolera 36typu CRUD 52

Kup książkę Poleć książkę

Skorowidz 541

typu GridViewimplementacja 48

typy plikoacutew 30utworzenie 30uzupe nianie tre ci 33walidacja 435wi zanie z modelem 437wstawianie rekordoacutew 312wynikoacutew ankiety 105wy wietlanie wpisoacutew 432

wielodziedziczenie 360Windows Authentication Provider 149Windows Data Protection API 187Windows Forms

implementacja klienta 483Windows Live ID 149w a ciwo

ConnectionString 243IsMobileDevice 460ModelStateIsValid 47

wstawianie rekordoacutew 299wstrzykni cie kodu 181 185wykresy 406

konfiguracjaserii danych 407typu 407

pobranie danych roacuted owych 408wy czenie aplikacji 171wyra enia lambda 46wyra enia regularne 73

atrybuty modelu 84liczba wyst pie sk adnikoacutew 76wzorzec

adres URL 83imi e skie 81kod pocztowy 80tworzenie 76

znaki i cyfry 74znaki specjalne 74znaki w wyznaczonych miejscach a cucha 75

wzorzecodnajdywanie

znakoacutew i cyfr 74znakoacutew specjalnych 74znakoacutew w wyznaczonych miejscach

a cucha 75okre lanie

liczby wyst pie znakoacutew 76

XXSS 181

Zzabezpieczenia

aplikacji bazodanowych 335ataki XSS 187informacje o b dach 171kodu po redniego 338konfiguracja 161konfiguracja aplikacji

kreatory 162obs uga wyj tkoacutew 171pliku konfiguracyjnego 167 187przed atakami 148ustawienia aplikacji 167witryny 181zarz dzanie dostawcami us ug 178z o liwy kod 181

zarz dzanieu ytkownikami i grupami 211

dost p do panelu administracyjnego 216lista grup 221podzia na grupy 220pobieranie listy 213tworzenie nowej grupy 222zmiana przynale no ci do grupy 215

z o ono ci aplikacji 16zdarzenie

DataGridViewCellDoubleClick 491rejestrowanie 430

z o liwy koddzia anie 181

znacznikinput 288

znaki specjalneodnajdywanie 74

zwi zanie z modelem 48zwi zek 347

danie 25asynchroniczna obs uga 92 466 470

skrypty 318zadania 473

GET 64POST 64przetwarzanie 127zablokowanie obs ugi 124

Kup książkę Poleć książkę

Notatki

Kup książkę Poleć książkę

Rozdzia 18 Scaffolding czyli ekspresowe tworzenie aplikacji bazodanowych 317

ltthgt ShippedDate ltthgt ltthgt ShipName ltthgt ltthgt ShipAddress ltthgt ltthgt ShipCity ltthgt ltthgtltthgt lttrgt

foreach (var item in Model) lttrgt lttdgt itemOrderDateToShortDateString() lttdgt lttdgt itemRequiredDateToShortDateString() lttdgt lttdgt itemShippedDateToShortDateString() lttdgt lttdgt itemShipName lttdgt lttdgt itemShipAddress lttdgt lttdgt itemShipCity lttdgt lttrgt lttablegt

3 Kontroler Home uzupe nij o metod ScaffoldingMasterDetail ktoacuterej definicjprzedstawi em na listingu 1810

Listing 1810 Pobranie i prezentacja rekordoacutew potomnych wybranego klienta

public ActionResult ScaffoldingMasterDetail(string id) NorthwindDataSetCustomersRow cdr = northwindDataSetCustomersFindByCustomerID(id) NorthwindDataSetOrdersRow[] zamowieniaPracownika = null

if (cdr = null) zamowieniaPracownika = (NorthwindDataSetOrdersRow[])cdrGetChildRows(FK_Orders_Customers)

Kup książkę Poleć książkę

318 Cz II Technologie bazodanowe w aplikacjach internetowych

if (RequestIsAjaxRequest()) return View(ZamowieniaPartialView zamowieniaPracownika) else return ScaffoldingList()

4 Sekcj ltheadgt pliku _Layoutcshtml uzupe nij o polecenia z listingu 1811

Listing 1811 Import skryptoacutew obs uguj cych dania asynchroniczne

ltscript src=UrlContent(~Scriptsjqueryunobtrusive-ajaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftAjaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftMvcAjaxjs)type=textjavascriptgtltscriptgt

5 Po skompilowaniu i uruchomieniu aplikacji powiniene uzyska efektanalogiczny do przedstawionego na rysunku 186

Rysunek 186 Przyk ad formularza typu MasterDetail

Kup książkę Poleć książkę

Skorowidz

AACL 149action methods 25ActiveX Data Object 238ADO 238ADONET 238

obiekty 238podstawy 237synchronizacja buforu ze roacuted em danych 273

adresy URLautoryzacja 157parametry 122trasowanie 121wzorce 122 123

agile programming 15AJAX 91

aktualizacja bloku witryny 113dodanie referencji do bibliotek JavaScript 94

akcjaCreate 354Delete 357Details 353dodaj ca nowy produkt 355Edit 356

aktualizacjazawarto ci elementu witryny 92

algorytmRSA 187

ambient transaction 329ankieta 102AntiXss 187aplikacje

bazodanowe 235bezpiecze stwo 335mechanizm transakcji 319scaffolding 301

synchronizacja ze roacuted em danych 273uwagi do projektowania 345

mo liwo edytowania wpisoacutew 441rejestrowanie zdarze i trasowanie 430

Application Domain 339architektura obiektowa 347ASPNET

konfiguracja aplikacji 161mechanizmy uwierzytelnienia 149metody globalne 107w czanie i wy czanie aplikacji 171

ASPNET AJAX 91ASPNET MVC 15

komponenty 16ASPX 21 30asynchroniczne przetwarzanie da http

jQuery 113Asynchronous JavaScript and XML 48Asynchronous Programming Model 464ataki

rodzaje 147SQL Injection 148 344wy udzenie informacji 148z o liwy kod 181

atrybut 347AcceptVerbs(HttpPost) 47AcceptVerbs(HttpVerbsPost) 65AssociationAttribute 58Authorize 200AuthorizeAttribute 128autoryzacyjny 145ConcurrencyCheckAttribute 58Confirm 95cookieless 154CustomValidationAttribute 58 66data-bind 230DataType 54 57

Kup książkę Poleć książkę

528 ASPNET MVC

atrybutDataTypeAttribute 58defaultRedirect 173defaultUrl 154DisplayAttribute 58DisplayColumnAttribute 58DisplayName 436EditableAttribute 58enableCrossAppRedirects 155EnumDataTypeAttribute 58FilterUIHintAttribute 58HandleError 138 175HandleErrorAttribute 129HttpMethod 95InsertionMode 95KeyAttribute 58klasy do konfiguracji metadanych 57 58LoadingElementDuration 110LoadingElementId 95 110Log

klasa implementuj ca 142loginUrl 154MetadataType 69MetadataTypeAttribute 58mode 153 173modelu 55name 155NonAction 26 135OnBegin 95OnComplete 95OnFailure 95OnSuccess 95 110OutputCache 133OutputCacheAttribute

parametry 134passwordFormat 156protection 155Range 54 66RangeAttribute 58redirectMode 173RegularExpressionAttribute 58Required 54 66RequiredAttribute 58RequireHttps 135requireSSL 155slidingExpiration 155StringLength 66StringLengthAttribute 58TestClass 29TestMethod 29ticketCompatibilityMode 155timeout 155TimestampAttribute 58UpdateTargetId 95

Url 95ValidateInput 185

atrybuty modeluwyra enia regularne 84

Attribute 347authentication ticket 151auto post back 217autocomplete textbox 115automatyczne uzupe nienie pola tekstowego 115autoryzacja 149 157

adresoacutew URL 157konfiguracja 157

grupy u ytkownikoacutew 158mechanizm filtrowania 158otwarta 460plikoacutew 157zdalna

powi zanie z portalem Facebook 461Azure 496

Bbazy danych 40 237

aktualizacja 41lista rekordoacutew 301Northwind 240

detale produktu 352dodawanie po cze 350pobieranie produktoacutew 351

po czenie ze roacuted em danych 241relacyjne 237schemat CRUD 301transakcje 319tworzenie 321

nowego rekordu 48schematu na bazie modelu encji 357

usuwanie danych 290regu y integralno ci 293

usuwanie powi zanych wierszyrekordy potomne 291

warstwa dost pu 42bezpiecze stwo

aplikacji internetowych 147ataki 147mechanizmy 149

biblioteka NETprogramowanie asynchroniczne 464

biblioteka skryptoacutewMapajs 32

bilet uwierzytelniaj cy 151b dy

dzia ania aplikacji 171strona b du 176tworzenie u ytkownika 202wprowadzenie z ego rekordu 268

Kup książkę Poleć książkę

Skorowidz 529

body 383buforowanie

danych ze roacutede zewn trznych 133bundling 475Business Intelligence 368

Ccallback 35CAS 151 338CDN 113Central Authentication Service 151centralna us uga uwierzytelnienia 151certyfikat 337CLR

procesy systemowe 466Code Access Security 338Confirm 96connString 341controllers 16Coordinated Universal Time 155Create Read Update Delete 301cross-site scripting 181CRUD 54 301Crystal Reports 368

Ddane

agregacja 378bezpo redni dost p do roacuted a 346eksport 413

do dokumentu tekstowego 419do PDF 420skoroszyt MS Excel 421tabele dynamiczne 418

integralno 288 319pomini cie sprawdzania 292regu y 291

modyfikacja 249platforma modelowania 347prezentacja

graficzna 406w postaci macierzowej 390

przekazywaniez formularza do roacuted a 46z kontrolera do widoku 437 439

serializacja i transfer struktur 117szyfrowanie 337typu

ActionResult 25walidacja 53weryfikacja 53wi zy integralno ci 306

wy wietlanie 315zabezpieczenie 338

Data Binding 389Data Definition Language 345Database Management System 237DBMS 237

wi zy integralno ci 238DDL 345denial of service 147detail 315Development Server 504DIE 53DisplayFormatAttribute 58document object model 92DOM 92domena aplikacji 339 466

instancja obiektoacutew 341tworzenie 339wspoacute dzielenie obiektu 341

dostawcy us ug 178dost p anonimowy 150DotNetOpenAuth 149DPAPI 187DRY 53dyrektywa

model 46

Eelement

customErrors 173success 115

elevation of privilege 147encapsulation 107encja 347

atrybuty 54bazodanowa 54KategoriaProduktu 358odwzorowanie w bazie danych 360Order_Details 362Orders 361Products 361Produkt 358

Entity 347Entity Framework 43 347

POCO 360potwierdzenie explicite 356technologie 349wersje 347

Entity Relationship Model 347Entity SQL 349ERM 347Event-based Asynchronous Pattern 465event-driven programming 17

Kup książkę Poleć książkę

530 ASPNET MVC

FFile Transfer Protocol 495filtry 127

akcji 127 139autoryzacyjne 127 144dynamiczne 395kolejno wykonywania 137

priorytety 138Log

metody 141LogAttribute

definicja klasy 140podstawowe atrybuty 128statyczne 395w asne 139wyj tkoacutew 128 144

niestandardowe 145wyniku 128 144

for 434foreach 51Forms Authentication Provider 149formularz

MasterDetail 315z podformularzem 315

funkcjadelay 217ListaPracownikoacutew 57Mid 390RolesIsUserInRole 217Today 390wyznaczaj ca tras 109zmienPrzynaleznoscDoGrupy 217 218

GGauge 383 403GDI 368graficzny interfejs u ytkownika 17 30Graphics Device Interface 368GridView 48grupy u ytkownikoacutew

autoryzacja 158GUI 17

Hhard-coding 167haszowanie 150helper methods 25html helper 455

Iidentyfikator

klienta 315rekordoacutew 315

IIS 121 149 495instalacja

ASPNET 445 498serwera w Windows 7 496serwera w Windows 8 496

mened er Windows 499uruchamianie aplikacji 503

serwer do rozwoju aplikacji 504information disclosure 147instancje aplikacji 465instancjonowanie modelu 39IntelliSense 247interfejs u ytkownika

przycisk umo liwiaj cy dodanie pracownika294

przycisk usuni cia wybranego rekordu 289Internet Information Services 121internetowe us ugi informacyjne 495in ynieria spo eczna 148Isolation Level 332izolacja 339 466

JJavaScript Object Notation 117jQM 457jQuery

autocomplete 116pliki roacuted owe 113

jQuery Mobile 457jQuery UI 367

wykorzystanie przyciskoacutew 284JSON 117

obiekt typu adres 118

KKey Performance Indicators 403klasa

AccountController 198ActionExecutingContext 143AdminController 212Ajax 94AjaxOptions 94

atrybuty 95AspNetHidden 442AssemblyName 170Assert 29

Kup książkę Poleć książkę

Skorowidz 531

AuthConfig 461BundleConfig 475Configuration 170ConfigurationManager 170ConfigurationSection 187 188ConnectionStringBuilder 345DpapiProtectedConfigurationProvider 187FiltryRaportuMacierzowego 397Form1 484FormsAuthentication 152Global 430HandleErrorInfo 133HtmlHelper 437HttpClient 483 486HttpResponseMessage 486kontekstu 362LogOnModel 198MarshallByRefObject 341Membership 152 198 211MvcApplication 430NorthwindContext 362ObjectContext 348ObjectQueryltTgt 348Order_Details 362Orders 361Osoba 228ParametryWatku 470Pracownik 484Products 361Produkt 230Raport 392RequestBrowser 460ResultExecutedContext 144ResultExecutingContext 144Roles 211RsaProtectedConfigurationProvider 187SQLConnCAS

definicja 340stowarzyszona z modelem 69SystemNetHttpFormattingJsonMediaTypeF

ormatter 491SystemTextRegularExpressions 74SystemWebSecurityRoles 159Task 465 472testuj ca 29Thread 465 469TransactionScope 327UrlRoutingModule 121ViewData 434 436 439WebApiConfig 478WebConfigurationManager 170Wpisy 427 436

klucze 237MAC 155obce 238podstawowe 238

kluczowe wska niki efektywno ci 403dynamiczna zmiana warto ci 404

Knockout 227wykorzystanie szablonoacutew JavaScript 230wywo anie skryptu 229

kodowanie danychprzekazywanych przez u ytkownikoacutew 186

komponentFormDanePracownika 489obiektu

PartialView 99typu ListBox 99

ReportViewer 368 375eksport danych 413nawigacja mi dzy stronami raportu 377

komponenty u ytkownika 30komunikaty o b dach 171

kod statusowy 174 175koncepcja programowania zdarzeniowego 16konfiguracja

po czenia z baz danych 241uprawnie puli aplikacji 454walidacji danych 66

konkurencyjno aplikacji 332kontekst wi zania 389kontrola wprowadzanych danych 263

metoda onColumnChanged 269wstrzymanie walidacji wiersza 267zako czenie edycji rekordu 267

wymuszenie 267kontroler 16 25

AccountController 195Admin 223AdminController 212aplikacja Kardy 63asynchroniczny 466

a zadania 472dane wyj ciowe 25domeny 150ErrorController 174Glosowania 103Home 182 224 228 231

Bezpiecze stwo 336filtr wyj tku 131

HomeController 184EksportDanych 415Northwind 245

interfejs Web API 477KsiegaGosciController 424

Kup książkę Poleć książkę

532 ASPNET MVC

kontrolerLista 93Mapa 33

autouzupe nianie 117modyfikacja 45

niedost pne metody publiczne 136obs uga POST 431panelu administracyjnego 212

zarz dzanie grupami u ytkownikoacutew 220Pracownicy 57 64PracownicyController

implementacja 481Produkty 351projektowanie 27przekazywanie danych do widoku

zmiany 439uwierzytelnienia 195

klasa 198model 196widoki 203

uzupe nienie o widok 31u ycie modelu odsy anego przez widok 440ValuesController 478weryfikacja funkcjonalno ci 28wi zanie adresu URL z akcj 430widoki 58

konwersja obrazu 278kreator

Add New Item 242Add View 59 302Application 162blokowania szczegoacute oacutew b doacutew 172dodanie u ytkownikoacutew 164grup u ytkownikoacutew 165Provider 162Publish Web 501Security 162tworzenia pracownika 59ustawie aplikacji 167widokoacutew 60wyboacuter dostawcoacutew us ug 178

kwerendy parametryczne 274 401

Llayout witryny 30LINQ

to Entities 349lista rekordoacutew 301

prezentacja 304logika

aplikacji 30bazodanowa 30biznesowa 44

a cuch QueryString 26

Mmaster 315mechanizm

automatycznych w a ciwo ci 57autoryzacji 157eksportu danych 413filtroacutew 127grupowania plikoacutew 475IntelliSense 119QuerynotString 117szyfruj cy 187transakcji 319 321

przelewy bankowe 326wyznaczania trasy przejzdu 34

meotdaInsert 299ProtectSection 191WersjonowanieDataRow

definicja widoku 265message authentication code 155metoda

on 262HtmlValidationSummary 204About 124AcceptChanges 255 263ActionLinkActionLink 61 63 353AddUserToRole 159akcji 25

parametry opcjonalne 27aktualizacja statystyk ankiety 105AktualizujZdjeciePracownika 288Application_AuthenticateRequest 108Application_BeginRequest 107 108Application_End 108Application_EndRequest 107Application_Error 108 172Application_Start 108 123 139 430asynchroniczna kontrolera 472AttachTo 356Authenticate 152AutoUzupelnienie 117

zapytanie LINQ 118BeginEdit 267BeginForm 47 94BeginTransaction 326 332CancelEdit 263ChangeObjectState 356

Kup książkę Poleć książkę

Skorowidz 533

ChangePassword 200hiper cze 208widok 206

ChangePasswordSuccesswidok 206

CreateNazwaEncji 354CreateRole 159CreateUser 153czyBazaDanychIstnieje 326daneDostawcyForm 262DBeginnotEdit 263Delete 270DeleteObject 357DeleteRole 159DeleteUser 153DeszyfrujPlikKonfiguracyjny 191DodajDostawce 255DodajElementDoListy 94 97 101DodajGrupe 223DodajKomentarz 185DodajPracownika 299 491DopiszDoPlikuLog 430Edit 356EdytujDaneDostawcy 261EdytujDanePracownika 493Eksportuj 418EmptyResult 26EndEdit 263EndForm 47ErrorCodeToString 201Fill 246FillByCityName 275FormatDateTime 390FormsAuthenticationSetCookie 199GenerujDane 468Get(int id) 478GetAllRoles 159GetAsync 486GetChildRecords 291GetSection 170GetSectionGroup 170GetUser 153GetUsersInRole 160globalna

aplikacji ASPNET 108Grupy 223HasVersion 263HtmlListBox 97HtmlRenderPartial 101HtmlValidationSummary 61HtmlHelperLabel 437ImiePierwszegoPracownika 246 247Include 475Index 47 79 97 101

kontrolera Mapa 34testowanie 28

IsAjaxRequest 101IsMatch 76IsNotNull 29IsUserInRole 159Label 35ListaDostawcow 252 255ListaPracownikow 248

hiper cze skojarzone 249LogOff 198LogOn 198Macierzowy 397mapowalna 26MetodaAsynchronicznaWatki 472ModelStateAddModelError 199MvcApplicationRegisterRoutes 430obs uga zapyta POST 431odczyt aktualnych bilansoacutew kont 323OdczytajStanyKont 326OnActionExecuted 143OnActionExecuting 127 143onColumnChanged 269OnResultExecuted 144OnResultExecuting 144onRowChanged 266onRowChanging 268OpenConfiguration 170otwarcie po czenia z baz danych 341OtworzPlikDanych 107Page_Load 399PartialViewResult 26PobierzDane 394

modyfikacja 401PobierzPlikLogu 141 143PobierzZdjecie 278PokazTrasy 51PokazWyniki 107pomocnicza 25 455

HtmlEncode 51wykorzystanie 456

PostAsJsonAsync 486PostAsXmlAsync 486PostAsync 486PostResolveRequestCache 121PracownicyWedlugMiast

przechowywanie warto ci filtru 285PutAsJsonAsync 493PutAsXmlAsync 493PutAsync 493ReadAsAsync 486ReadXml 107ReadXmlSchema 107RedirectFromLoginPage 152

Kup książkę Poleć książkę

534 ASPNET MVC

metodaRedirectResult 26RedirectToAction 26RedirectToLoginPage 152RedirectToRoute 26RedirectToRouteResult 26RefreshReport 384Register 199 478RegisterAuth 461 462RegisterBundles 475RegisterGlobalFilters 171RegisterRoutes 94 123RejectChanges 256 263rejestrowanie zdarze aplikacji 430RemoveUserFromRole 160Render 384 413 418RenderPartial 99ResponseWrite 223ResultExecuteResult 143RoleExists 159RolesIsUserInRole 216RolesRemoveUsersFromRole 223route 35RowsAdd 255RozpocznijEdycje 269

hiper cze uruchamiaj ce 267SaveChanges 354ScaffoldingMasterDetail 317Session_End 108Session_Start 108SetAuthCookie 152SetParameters 401 405SignOut 152SprawdzDopasowania 79SprawdzPoprawnoscDatyZatrudnienia 67SqlPermissionAdd 343SqlTransactionCommit 326SqlTransactionRollback 326StronaNieIstnieje 175submit 115SzyfrowaniePlikuKonfiguracyjnego 190szyfruj ca i deszyfruj ca 189SzyfrujPlikKonfiguracyjny 191TextBox 35ThreadSleep 469 472TransactionScopeComplete 329Transfer 36UpdateUser 153UstawParametryRaportu 399UsunGrupe 223UsunTrase 50 51UtworzPracownika 64Uzytkownicy 216ValidateUser 152 153

ValidationMessage 437ValidationMessageFor 61ValidationSummary 437ViewResult 26WebApiConfigRegister 478WersjonowanieDataRow 265

sparametryzowanie 266WpisyZapiszDoPlikuXml 430wykonywanie przelewoacutew 323WyswietlLog 141 142 143wyswietlMape 34 35WyswietlTrase 50

modyfikacja 135 166wyznaczTrase 35ZaktualizujWyniki 107Zapami tajNazw U ytkownika 432ZmienStanKont 328

Microsoft SQL Server 319sposoby uwierzytelnienia 344

MIME type 390minification 476minimalizacja 476model 16 39

APM 464ChangePasswordModel 196EAP 465integracja z elementami aplikacji 39LogOnModel 196obs uga plikoacutew XML 427przesy anie z kontrolera do widoku 432 435RegisterModel 196TAP 465

model binding 48model danych encji 348

dodawanie encji 353edycja encji 355kreator 348 349

czenie encji 359metody akcji 354opcje 361projektowanie relacji 43tworzenie 349

schematu bazy danych 357usuwanie encji 357wyboacuter tabel 350

model first 52model zwi zkoacutew encji 347models 16Model-View-Controller 15Model-View-ViewModel 227Model-Widok-Kontroler 15modu

UrlAuthorizationModule 157

Kup książkę Poleć książkę

Skorowidz 535

MVC 15a Web Forms 16 365 367 423

kod 442serwer internetowych us ug

informacyjnych 495wydajno 443wykorzystanie w projektach 444

ataki XSS 185autoryzacja 158 162bezpiecze stwo aplikacji 152buforowanie 134domy lne wzorce aplikacji 21kreator aplikacji 20mechanizm filtrowania 127Model Binder 355nazwa kontrolera 27obs uga interakcji klient-serwer 121parametry opcjonalne 27pobieranie parametru z adresu URL 26projektowanie aplikacji 18 52przetwarzanie dania aplikacji klienckiej 18sprawdzanie poprawno ci danych 68struktura modelu 39techniki walidacji danych 53utworzenie widoku 30uzupe nianie o komponenty graficzne 367walidacja 438wersja 4 449wyboacuter mechanizmu przetwarzaj cego widoki 21wzorce URL 122zbioacuter modeli szablonu aplikacji 196roacuted o danych 40

MVC4 449grupowanie i optymalizacja skryptoacutew 475kaskadowe arkuszye stylu 475przetwarzanie asynchroniczne 464przystosowanie do urz dze mobillnych 457testowanie aplikacji 457uwierzytelnianie 460

integracja z portalem Facebook 462wsparcie dla urz dze mobilnych 450zdalna autoryzacja 461

MVVM 227

Nnarz dzie

aspnet_regiis 187przetwarzanie tekstu 73

Northwindinstalacja 240kwerenda wybieraj ca 240pobieranie informacji o dostawcach 251

NuGET 483nullable-types 27

OOAuth 461obiekt

AppDomain 339 341Chart 406Command 239Connection 239 241

w a ciwo i 243ConnectionString 343

sposoby uwierzytelniania 344szyfrowanie informacji 335

DataAdapter 239DataGridView 491DataReader 239 273DataRow 255

kontrola wprowadzonych danych 263usuwanie rekordoacutew 270wersje 263wersja proponowana 265wersjonowanie 263w a ciwo ci 255

DataSet 239 244 345edycja rekordoacutew 257kreator konfiguracji TableAdapter 274modyfikacja danych 249tworzenie nowych rekordoacutew 250usuwanie rekordoacutew 271wstawianie rekordoacutew 251wymuszenie wi zoacutew integralno ci 292

DataTable 107DirectionsService 35dostawca 153FormCollection 47jqXHR 218List 389logiki biznesowej 348materializacja 348Matrix 390Membership 152MvcRouteHandler 121 122o okre lonym typie danych 244o silnej typizacji 244o s abej typizacji 247ObjectStateManager 348PartialView 98ReportViewer 368ReportViewerLocalReport 418Request 26 101 432Response 26Route 122ShippersRow 255SqlConnCAS 341SqlConnection 326

Kup książkę Poleć książkę

536 ASPNET MVC

obiektTableAdapter 239 244 273 274 345

edycja danych 279 286wstawianie danych 294

TransactionScope 329parametryzacja 331

typuadres 118AppDomain 466ConcurrentDictionary 479NorthwindDataSet 247ObjectSetltTgt 348Route 121Thread 466

UrlRoutingModule 121ViewBag 36

przekazywanie danych do widoku WebForms 376

ViewData 36 79 432Object Relational Mapping 347Object Services 348obs uga b doacutew

konfiguracja 132w czenie 129

odrzucenie informacji o transakcji 148od wie anie witryny

a fragment widoku 97aktualizacja zawarto ci 113cz ciowe 96

OnSuccess 96operator

await 474konkatenacji 382Top 411Top N 411

ORM 347

Pparametr

CountryName 401data 115filtr 117mapDivId 35maxIloscRekordow 117Order 137raportu 395scopeTimeOut 330

warto ci 330TransactionScopeOption

warto ci 329type 115

parametryzacja kwerend 274partial view 30

piaskownica 341Plain Old CLR Object 360platforma NET

us ugi uwierzytelniania 153plik

ascx 22aspx 22bmp 390cookie 151cookies 154 155cshtml 22 434css 475edmx 360jpg 390js 475konfiguracyjny

zabezpieczenie 187master 22png 390rdl 368rdlc 368tekstowy

wy wietlenie w przegl darce 143vbhtml 22

POCO 360pola klucza 237polecenie

HtmlEncode 187ScriptsRender 476StylesRender 476GET 18POST 18

po czenieze roacuted em danych 241

pomocnik HTML 455Portable Document Format 413po rednik 341poziom izolacji 332

Chaos 333konfiguracja 332ReadCommitted 333ReadUncommitted 333Serializable 333Snapshot 333Unspecified 333

poziom zaufania 339ograniczenie 340

proceduraajax 115AjaxBeginForm 96niemapowalna 26PartialView 26serialize 115

Kup książkę Poleć książkę

Skorowidz 537

proces 465programowanie

oparte na zdarzeniach 17zdarzeniowe 17

projekt aplikacji MVCankieta 102asynchroniczne przetwarzanie da HTTP 92Bezpiecze stwo 181 336

nawi zanie komunikacji ze roacuted emdanych 342

szyfrowanie pliku konfiguracyjnego 191dodawanie i wy wietlanie komentarzy 183domy lny 20EksportDanych 413Filtry 131formularz oceny 107Kadry

walidacja adresu e-mail 84Kardy 55KsiegaGosci_MVC3 424lista prezentuj ca dodawane elementy 97MojaNawigacja 18

blokowanie samodzielnego tworzeniakont 224

buforowanie danych 135implementacja warstwy dost pu 42instalacja na serwerze IIS 500komunikat powitalny 168komunikaty 110komunikaty o b dach 173mechanizm podpowiedzi 115model weryfikuj cy po wiadczenia

u ytkownikoacutew 196modele kontrolera uwierzytelnienia 196od wie enie widoku mapy 109struktura 21szablon 19szablon witryny 225trasowanie da HTTP 123uzupe nienie o baz danych 40uzupe nienie o walidacj danych 69widok b du 175zablokowanie nieautoryzowanego

dost pu 128zarz dzanie u ytkownikami 163zarz dzanie grupami u ytkownikoacutew 212zarz dzanie procesem logowania 198

MsAjax 92NorthwindMVC 241

lista rekordoacutew 301szablon witryny 250

POCO 361priorytety regu filtrowania 137

Raport 368szablon

mechanizmy uwierzytelnienia 156zarz dzanie grupami u ytkownikoacutew 159

Transakcje 319aktualizacja danych 328formularz aktualizacji 328szablon stron 320

uzupe nianie widokiem GridView 49WyrazeniaRegularne 76Zapytania_EF 349

projekt aplikacji MVC4AsynchronicznyKontroler 466

prezentacja danych 468AutoryzacjaOAuth 461implementacja serwisu sieciowego 479konfiguracja grupowania 475MobileMvc 450

testowanie 457pobranie zdj cia 452przygotowanie listy pracownikoacutew 452SerwisSieciowy 477

projekt aplikacji Windows Formsedycja danych 487KlientWebAPI 483tworzenie nowych pracownikoacutew 486

dania typuDELETE 493POST 486PUT 491

projektowaniekontrolera 27widoku 31

protokoacuteFTP 495Kerberos 150NTLM 150SMTP 495SSL 337

proxy 341przechowywanie

informacji o trasach 44wynikoacutew g osowania 107

przeci enie aplikacji 147przekazywanie

danych 44mi dzy widokiem a kontrolerem 36

parametroacutew do metod akcji kontrolera 26przestrze nazw

SystemThreading 465przyjazne linki 122publikowanie aplikacji 495 500

na serwerze IIS 497

Kup książkę Poleć książkę

538 ASPNET MVC

pule aplikacji 465 497konfiguracja 498Windows 7 499Windows 8 500

Rraporty

dane w postaci macierzowej 390data 386definicja

dynamiczna 418filtrowanie danych 394

na poziomie roacuted a 401 418filtry 395formaty prezentacji danych 379grupowanie danych 381hiper cza 387

nawigacyjne 376kolumny obliczeniowe 378konfiguracja

filtrowania dynamicznego 396typu 392roacuted a danych 368

kreator formu 382macierzowe 391numery stron 386obrazy 390parametry 383 394

konfiguracja 399paski narz dziowe 379pola

bazy danych 386formularza 398raportu 390

po czenie z aplikacj 368prezentowanie uk adu graficznego 383projektowanie 371

i prezentowanie 368przystosowanie strony do obs ugi raportoacutew

387renderowanie 368tryby definicji 368tworzenie

definicji lokalnej 368formu 378przy u yciu kreatora 372

uk ad 383wstawianie nag oacutewka i stopki 385wykresy 406wy wietlenie 375

Razor 21 30przetwarzanie definicji widoku 208

RDL 418rekordy

edycja 307lista 301tworzenie 311usuwanie 305

Relationship 347Report Definition Language 418Report Wizard 371repudiation 148request 442response 442responsywno 464rollback transaction 319routing 22 430routowanie 121

SSandBox 341scaffolding 301Secure Socket Layer 337sekcja

membership 178roleManager 179set 441

serwerSMTP

konfiguracja 171us ug informacyjnych 149

weryfikacja to samo ci u ytkownika 149Simple Mail Transfer Protocol 495s owo kluczowe

helper 455await 474using 47 329

spaghetti code 18spoofing 147SQL Server Reporting Services 367SSRS 367stan pola

typu CheckBox 269pobieranie 264

STRIDE 148strona startowa

MojaNawigacja 226strona wzorcowa 30

aplikacji Kadry 55referencja do bibliotek skryptoacutew 70

systemowy serwer us ug informacyjnych 121szyfrowanie po czenia 335

ze roacuted em danych 336

Kup książkę Poleć książkę

Skorowidz 539

Ttabela danych

Categories 418Customers 305deklaracje kaskadowych arkuszy stylu 275edycja

danych 279danych w wierszu 257rekordoacutew 307 310

Employees 240 288filtrowanie listy 275integralno danych 288Konta 321 326kwerenda wybieraj ca 240Orders 291 315OrdersDetails 307pobieranie fotografii 276pobranie danych z wykorzystaniem JScript 280prezentacja

danych 277 325informacji 252listy danych 248pierwszego rekordu 246rekordoacutew 317

przekazanie do widoku 248Shippers 251tworzenie rekordoacutew 311umieszczenie w bazie danych 321uruchomienie edycji danych 258usuwanie

danych 288rekordoacutew 271 305 306

widok b du 268wstawianie

danych 294rekordoacutew 251

wy wietlenie listykonfiguracja hiper cza 315

zako czenie edycji rekordu 267tablica asocjacyjna 479tablica bajtoacutew

konwersja do bitmapy 277tampering 147task pane 371Task-based Asynchronous Pattern 465TDD 15

test jednostkowy funkcjonalno ci kontrolera28

Test-Driven Development 15testowanie

aplikacji 29wzorcoacutew wyra e regularnych 76 78

Toolbox 274

transakcje 319automatyczne zarz dzanie 327otaczaj ce 329poziom izolacji 332tworzenie i r czna kontrola 319

trasowanie 121aplikacja 430blokowanie dost pu 124domy lne regu y 123Ksi gaGosci_MVC3 430w asne regu y 124

trasowanie adresoacutew URL 121T-SQL 319

czynno ci bazodanowe 345tworzenie

bazy danych 40interfejsu u ytkownika

jQM 459szablony 231wzorzec MVVM 227

u ytkownika 200kody b doacutew 201

widoku Index 231wzorcoacutew wyra e regularnych 76

typed DataSet 244typizacja

silna 46s aba 46

typy puste 27

Uujawnienie krytycznych informacji 147ukryte pola 441Uniform Resource Locator 18URL 18uruchomienie aplikacji 503us uga

AspNetSqlProvider 178ustawienia aplikacji 167

odczytanie z pliku konfiguracyjnego 169UTC 155uwierzytelnienie 149

centralny serwis 151certyfikaty 150formularze logowania 151

atrybuty elementu forms 154konfiguracja 153mechanizmy zintegrowane z ASPNET 149na bazie protoko u NTLM 150przekazywanie informacji 151proste 150skroacutecone 150us ugi systemu Windows 150

Kup książkę Poleć książkę

540 ASPNET MVC

Vvariable placeholders 122view engine 21views 16viewstate 442Visual Studio

kreator projektu 19Visual Studio Development Server 496VS 2012

instalacja 240kreator Add New Item 242

VSDS 496

Wwalidacja

adresue-mail 83URL 83WWW 84

danych 53a technologia Entity Framework 68konfiguracja 66modelu Pracownik 66odwo anenie do jQuery 61po stronie klienta 67wyra enia regularne 73

skrypty i style walidatoroacutew 438w asno ci klasy encji 435

w tek 465Web API 477

edycja danych 491klient 483konfiguracja interfejsu 478obs uga da typu POST 486pobranie danych z serwera 485serwis sieciowy 479usuwanie danych 493

web serwer 495Web Site Administration Tool 161

konfigurowanie uprawnie 165zarz dzanie

dostawcami us ug 178u ytkownikami 163

WebForms 17bezpiecze stwo aplikacji 152integracja komponentoacutew z MVC 367kontrolka Repeater 434obs uga wyj tkoacutew 172przetwarzanie dania aplikacji klienckiej 18separacja modelu 427weryfikacja poprawno ci projektu 434

weryfikacjakodu pocztowego 81to samo ci 151

widok 16 25 30aplikacji

MVC4 453przystosowanie do urz dze mobilnych

459Transakcje 326

cz ciowy 30dodawanie 31edycji klienta 307elementy 31formularz

dodawania wpisu 425logowania 203

kontroleraaplikacja Kadry 58panelu administracyjnego 222

kontrolera AdminController 213kontrolera Dopasowania 77kontrolera ErrorControler 174kontrolera Glosowania 103kontrolera Home 131 169 182 307

metodaWyswietlLog 142Raport 375Transakcje 320

kontrolera HomeController 246AsynchronicznyKontroler 468EksportDanych 417

kontrolera Lista 93kontrolera Mapa 33 34

formularz 70Trasa 50

kreatorakonta u ytkownika 205zmiany has a 206

listyklientoacutew 302pracownikoacutew 61wyznaczonych tras 48zamoacutewie 316

mapyod wie enie 108parametryzacja 34

mechanizm przetwarzania 30modyfikowanie formularza 437obs uga wyj tkoacutew 130Pracownicycshtml 453projektowanie 31transfer danych do kontrolera 36typu CRUD 52

Kup książkę Poleć książkę

Skorowidz 541

typu GridViewimplementacja 48

typy plikoacutew 30utworzenie 30uzupe nianie tre ci 33walidacja 435wi zanie z modelem 437wstawianie rekordoacutew 312wynikoacutew ankiety 105wy wietlanie wpisoacutew 432

wielodziedziczenie 360Windows Authentication Provider 149Windows Data Protection API 187Windows Forms

implementacja klienta 483Windows Live ID 149w a ciwo

ConnectionString 243IsMobileDevice 460ModelStateIsValid 47

wstawianie rekordoacutew 299wstrzykni cie kodu 181 185wykresy 406

konfiguracjaserii danych 407typu 407

pobranie danych roacuted owych 408wy czenie aplikacji 171wyra enia lambda 46wyra enia regularne 73

atrybuty modelu 84liczba wyst pie sk adnikoacutew 76wzorzec

adres URL 83imi e skie 81kod pocztowy 80tworzenie 76

znaki i cyfry 74znaki specjalne 74znaki w wyznaczonych miejscach a cucha 75

wzorzecodnajdywanie

znakoacutew i cyfr 74znakoacutew specjalnych 74znakoacutew w wyznaczonych miejscach

a cucha 75okre lanie

liczby wyst pie znakoacutew 76

XXSS 181

Zzabezpieczenia

aplikacji bazodanowych 335ataki XSS 187informacje o b dach 171kodu po redniego 338konfiguracja 161konfiguracja aplikacji

kreatory 162obs uga wyj tkoacutew 171pliku konfiguracyjnego 167 187przed atakami 148ustawienia aplikacji 167witryny 181zarz dzanie dostawcami us ug 178z o liwy kod 181

zarz dzanieu ytkownikami i grupami 211

dost p do panelu administracyjnego 216lista grup 221podzia na grupy 220pobieranie listy 213tworzenie nowej grupy 222zmiana przynale no ci do grupy 215

z o ono ci aplikacji 16zdarzenie

DataGridViewCellDoubleClick 491rejestrowanie 430

z o liwy koddzia anie 181

znacznikinput 288

znaki specjalneodnajdywanie 74

zwi zanie z modelem 48zwi zek 347

danie 25asynchroniczna obs uga 92 466 470

skrypty 318zadania 473

GET 64POST 64przetwarzanie 127zablokowanie obs ugi 124

Kup książkę Poleć książkę

Notatki

Kup książkę Poleć książkę

318 Cz II Technologie bazodanowe w aplikacjach internetowych

if (RequestIsAjaxRequest()) return View(ZamowieniaPartialView zamowieniaPracownika) else return ScaffoldingList()

4 Sekcj ltheadgt pliku _Layoutcshtml uzupe nij o polecenia z listingu 1811

Listing 1811 Import skryptoacutew obs uguj cych dania asynchroniczne

ltscript src=UrlContent(~Scriptsjqueryunobtrusive-ajaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftAjaxjs)type=textjavascriptgtltscriptgt

ltscript src=UrlContent(~ScriptsMicrosoftMvcAjaxjs)type=textjavascriptgtltscriptgt

5 Po skompilowaniu i uruchomieniu aplikacji powiniene uzyska efektanalogiczny do przedstawionego na rysunku 186

Rysunek 186 Przyk ad formularza typu MasterDetail

Kup książkę Poleć książkę

Skorowidz

AACL 149action methods 25ActiveX Data Object 238ADO 238ADONET 238

obiekty 238podstawy 237synchronizacja buforu ze roacuted em danych 273

adresy URLautoryzacja 157parametry 122trasowanie 121wzorce 122 123

agile programming 15AJAX 91

aktualizacja bloku witryny 113dodanie referencji do bibliotek JavaScript 94

akcjaCreate 354Delete 357Details 353dodaj ca nowy produkt 355Edit 356

aktualizacjazawarto ci elementu witryny 92

algorytmRSA 187

ambient transaction 329ankieta 102AntiXss 187aplikacje

bazodanowe 235bezpiecze stwo 335mechanizm transakcji 319scaffolding 301

synchronizacja ze roacuted em danych 273uwagi do projektowania 345

mo liwo edytowania wpisoacutew 441rejestrowanie zdarze i trasowanie 430

Application Domain 339architektura obiektowa 347ASPNET

konfiguracja aplikacji 161mechanizmy uwierzytelnienia 149metody globalne 107w czanie i wy czanie aplikacji 171

ASPNET AJAX 91ASPNET MVC 15

komponenty 16ASPX 21 30asynchroniczne przetwarzanie da http

jQuery 113Asynchronous JavaScript and XML 48Asynchronous Programming Model 464ataki

rodzaje 147SQL Injection 148 344wy udzenie informacji 148z o liwy kod 181

atrybut 347AcceptVerbs(HttpPost) 47AcceptVerbs(HttpVerbsPost) 65AssociationAttribute 58Authorize 200AuthorizeAttribute 128autoryzacyjny 145ConcurrencyCheckAttribute 58Confirm 95cookieless 154CustomValidationAttribute 58 66data-bind 230DataType 54 57

Kup książkę Poleć książkę

528 ASPNET MVC

atrybutDataTypeAttribute 58defaultRedirect 173defaultUrl 154DisplayAttribute 58DisplayColumnAttribute 58DisplayName 436EditableAttribute 58enableCrossAppRedirects 155EnumDataTypeAttribute 58FilterUIHintAttribute 58HandleError 138 175HandleErrorAttribute 129HttpMethod 95InsertionMode 95KeyAttribute 58klasy do konfiguracji metadanych 57 58LoadingElementDuration 110LoadingElementId 95 110Log

klasa implementuj ca 142loginUrl 154MetadataType 69MetadataTypeAttribute 58mode 153 173modelu 55name 155NonAction 26 135OnBegin 95OnComplete 95OnFailure 95OnSuccess 95 110OutputCache 133OutputCacheAttribute

parametry 134passwordFormat 156protection 155Range 54 66RangeAttribute 58redirectMode 173RegularExpressionAttribute 58Required 54 66RequiredAttribute 58RequireHttps 135requireSSL 155slidingExpiration 155StringLength 66StringLengthAttribute 58TestClass 29TestMethod 29ticketCompatibilityMode 155timeout 155TimestampAttribute 58UpdateTargetId 95

Url 95ValidateInput 185

atrybuty modeluwyra enia regularne 84

Attribute 347authentication ticket 151auto post back 217autocomplete textbox 115automatyczne uzupe nienie pola tekstowego 115autoryzacja 149 157

adresoacutew URL 157konfiguracja 157

grupy u ytkownikoacutew 158mechanizm filtrowania 158otwarta 460plikoacutew 157zdalna

powi zanie z portalem Facebook 461Azure 496

Bbazy danych 40 237

aktualizacja 41lista rekordoacutew 301Northwind 240

detale produktu 352dodawanie po cze 350pobieranie produktoacutew 351

po czenie ze roacuted em danych 241relacyjne 237schemat CRUD 301transakcje 319tworzenie 321

nowego rekordu 48schematu na bazie modelu encji 357

usuwanie danych 290regu y integralno ci 293

usuwanie powi zanych wierszyrekordy potomne 291

warstwa dost pu 42bezpiecze stwo

aplikacji internetowych 147ataki 147mechanizmy 149

biblioteka NETprogramowanie asynchroniczne 464

biblioteka skryptoacutewMapajs 32

bilet uwierzytelniaj cy 151b dy

dzia ania aplikacji 171strona b du 176tworzenie u ytkownika 202wprowadzenie z ego rekordu 268

Kup książkę Poleć książkę

Skorowidz 529

body 383buforowanie

danych ze roacutede zewn trznych 133bundling 475Business Intelligence 368

Ccallback 35CAS 151 338CDN 113Central Authentication Service 151centralna us uga uwierzytelnienia 151certyfikat 337CLR

procesy systemowe 466Code Access Security 338Confirm 96connString 341controllers 16Coordinated Universal Time 155Create Read Update Delete 301cross-site scripting 181CRUD 54 301Crystal Reports 368

Ddane

agregacja 378bezpo redni dost p do roacuted a 346eksport 413

do dokumentu tekstowego 419do PDF 420skoroszyt MS Excel 421tabele dynamiczne 418

integralno 288 319pomini cie sprawdzania 292regu y 291

modyfikacja 249platforma modelowania 347prezentacja

graficzna 406w postaci macierzowej 390

przekazywaniez formularza do roacuted a 46z kontrolera do widoku 437 439

serializacja i transfer struktur 117szyfrowanie 337typu

ActionResult 25walidacja 53weryfikacja 53wi zy integralno ci 306

wy wietlanie 315zabezpieczenie 338

Data Binding 389Data Definition Language 345Database Management System 237DBMS 237

wi zy integralno ci 238DDL 345denial of service 147detail 315Development Server 504DIE 53DisplayFormatAttribute 58document object model 92DOM 92domena aplikacji 339 466

instancja obiektoacutew 341tworzenie 339wspoacute dzielenie obiektu 341

dostawcy us ug 178dost p anonimowy 150DotNetOpenAuth 149DPAPI 187DRY 53dyrektywa

model 46

Eelement

customErrors 173success 115

elevation of privilege 147encapsulation 107encja 347

atrybuty 54bazodanowa 54KategoriaProduktu 358odwzorowanie w bazie danych 360Order_Details 362Orders 361Products 361Produkt 358

Entity 347Entity Framework 43 347

POCO 360potwierdzenie explicite 356technologie 349wersje 347

Entity Relationship Model 347Entity SQL 349ERM 347Event-based Asynchronous Pattern 465event-driven programming 17

Kup książkę Poleć książkę

530 ASPNET MVC

FFile Transfer Protocol 495filtry 127

akcji 127 139autoryzacyjne 127 144dynamiczne 395kolejno wykonywania 137

priorytety 138Log

metody 141LogAttribute

definicja klasy 140podstawowe atrybuty 128statyczne 395w asne 139wyj tkoacutew 128 144

niestandardowe 145wyniku 128 144

for 434foreach 51Forms Authentication Provider 149formularz

MasterDetail 315z podformularzem 315

funkcjadelay 217ListaPracownikoacutew 57Mid 390RolesIsUserInRole 217Today 390wyznaczaj ca tras 109zmienPrzynaleznoscDoGrupy 217 218

GGauge 383 403GDI 368graficzny interfejs u ytkownika 17 30Graphics Device Interface 368GridView 48grupy u ytkownikoacutew

autoryzacja 158GUI 17

Hhard-coding 167haszowanie 150helper methods 25html helper 455

Iidentyfikator

klienta 315rekordoacutew 315

IIS 121 149 495instalacja

ASPNET 445 498serwera w Windows 7 496serwera w Windows 8 496

mened er Windows 499uruchamianie aplikacji 503

serwer do rozwoju aplikacji 504information disclosure 147instancje aplikacji 465instancjonowanie modelu 39IntelliSense 247interfejs u ytkownika

przycisk umo liwiaj cy dodanie pracownika294

przycisk usuni cia wybranego rekordu 289Internet Information Services 121internetowe us ugi informacyjne 495in ynieria spo eczna 148Isolation Level 332izolacja 339 466

JJavaScript Object Notation 117jQM 457jQuery

autocomplete 116pliki roacuted owe 113

jQuery Mobile 457jQuery UI 367

wykorzystanie przyciskoacutew 284JSON 117

obiekt typu adres 118

KKey Performance Indicators 403klasa

AccountController 198ActionExecutingContext 143AdminController 212Ajax 94AjaxOptions 94

atrybuty 95AspNetHidden 442AssemblyName 170Assert 29

Kup książkę Poleć książkę

Skorowidz 531

AuthConfig 461BundleConfig 475Configuration 170ConfigurationManager 170ConfigurationSection 187 188ConnectionStringBuilder 345DpapiProtectedConfigurationProvider 187FiltryRaportuMacierzowego 397Form1 484FormsAuthentication 152Global 430HandleErrorInfo 133HtmlHelper 437HttpClient 483 486HttpResponseMessage 486kontekstu 362LogOnModel 198MarshallByRefObject 341Membership 152 198 211MvcApplication 430NorthwindContext 362ObjectContext 348ObjectQueryltTgt 348Order_Details 362Orders 361Osoba 228ParametryWatku 470Pracownik 484Products 361Produkt 230Raport 392RequestBrowser 460ResultExecutedContext 144ResultExecutingContext 144Roles 211RsaProtectedConfigurationProvider 187SQLConnCAS

definicja 340stowarzyszona z modelem 69SystemNetHttpFormattingJsonMediaTypeF

ormatter 491SystemTextRegularExpressions 74SystemWebSecurityRoles 159Task 465 472testuj ca 29Thread 465 469TransactionScope 327UrlRoutingModule 121ViewData 434 436 439WebApiConfig 478WebConfigurationManager 170Wpisy 427 436

klucze 237MAC 155obce 238podstawowe 238

kluczowe wska niki efektywno ci 403dynamiczna zmiana warto ci 404

Knockout 227wykorzystanie szablonoacutew JavaScript 230wywo anie skryptu 229

kodowanie danychprzekazywanych przez u ytkownikoacutew 186

komponentFormDanePracownika 489obiektu

PartialView 99typu ListBox 99

ReportViewer 368 375eksport danych 413nawigacja mi dzy stronami raportu 377

komponenty u ytkownika 30komunikaty o b dach 171

kod statusowy 174 175koncepcja programowania zdarzeniowego 16konfiguracja

po czenia z baz danych 241uprawnie puli aplikacji 454walidacji danych 66

konkurencyjno aplikacji 332kontekst wi zania 389kontrola wprowadzanych danych 263

metoda onColumnChanged 269wstrzymanie walidacji wiersza 267zako czenie edycji rekordu 267

wymuszenie 267kontroler 16 25

AccountController 195Admin 223AdminController 212aplikacja Kardy 63asynchroniczny 466

a zadania 472dane wyj ciowe 25domeny 150ErrorController 174Glosowania 103Home 182 224 228 231

Bezpiecze stwo 336filtr wyj tku 131

HomeController 184EksportDanych 415Northwind 245

interfejs Web API 477KsiegaGosciController 424

Kup książkę Poleć książkę

532 ASPNET MVC

kontrolerLista 93Mapa 33

autouzupe nianie 117modyfikacja 45

niedost pne metody publiczne 136obs uga POST 431panelu administracyjnego 212

zarz dzanie grupami u ytkownikoacutew 220Pracownicy 57 64PracownicyController

implementacja 481Produkty 351projektowanie 27przekazywanie danych do widoku

zmiany 439uwierzytelnienia 195

klasa 198model 196widoki 203

uzupe nienie o widok 31u ycie modelu odsy anego przez widok 440ValuesController 478weryfikacja funkcjonalno ci 28wi zanie adresu URL z akcj 430widoki 58

konwersja obrazu 278kreator

Add New Item 242Add View 59 302Application 162blokowania szczegoacute oacutew b doacutew 172dodanie u ytkownikoacutew 164grup u ytkownikoacutew 165Provider 162Publish Web 501Security 162tworzenia pracownika 59ustawie aplikacji 167widokoacutew 60wyboacuter dostawcoacutew us ug 178

kwerendy parametryczne 274 401

Llayout witryny 30LINQ

to Entities 349lista rekordoacutew 301

prezentacja 304logika

aplikacji 30bazodanowa 30biznesowa 44

a cuch QueryString 26

Mmaster 315mechanizm

automatycznych w a ciwo ci 57autoryzacji 157eksportu danych 413filtroacutew 127grupowania plikoacutew 475IntelliSense 119QuerynotString 117szyfruj cy 187transakcji 319 321

przelewy bankowe 326wyznaczania trasy przejzdu 34

meotdaInsert 299ProtectSection 191WersjonowanieDataRow

definicja widoku 265message authentication code 155metoda

on 262HtmlValidationSummary 204About 124AcceptChanges 255 263ActionLinkActionLink 61 63 353AddUserToRole 159akcji 25

parametry opcjonalne 27aktualizacja statystyk ankiety 105AktualizujZdjeciePracownika 288Application_AuthenticateRequest 108Application_BeginRequest 107 108Application_End 108Application_EndRequest 107Application_Error 108 172Application_Start 108 123 139 430asynchroniczna kontrolera 472AttachTo 356Authenticate 152AutoUzupelnienie 117

zapytanie LINQ 118BeginEdit 267BeginForm 47 94BeginTransaction 326 332CancelEdit 263ChangeObjectState 356

Kup książkę Poleć książkę

Skorowidz 533

ChangePassword 200hiper cze 208widok 206

ChangePasswordSuccesswidok 206

CreateNazwaEncji 354CreateRole 159CreateUser 153czyBazaDanychIstnieje 326daneDostawcyForm 262DBeginnotEdit 263Delete 270DeleteObject 357DeleteRole 159DeleteUser 153DeszyfrujPlikKonfiguracyjny 191DodajDostawce 255DodajElementDoListy 94 97 101DodajGrupe 223DodajKomentarz 185DodajPracownika 299 491DopiszDoPlikuLog 430Edit 356EdytujDaneDostawcy 261EdytujDanePracownika 493Eksportuj 418EmptyResult 26EndEdit 263EndForm 47ErrorCodeToString 201Fill 246FillByCityName 275FormatDateTime 390FormsAuthenticationSetCookie 199GenerujDane 468Get(int id) 478GetAllRoles 159GetAsync 486GetChildRecords 291GetSection 170GetSectionGroup 170GetUser 153GetUsersInRole 160globalna

aplikacji ASPNET 108Grupy 223HasVersion 263HtmlListBox 97HtmlRenderPartial 101HtmlValidationSummary 61HtmlHelperLabel 437ImiePierwszegoPracownika 246 247Include 475Index 47 79 97 101

kontrolera Mapa 34testowanie 28

IsAjaxRequest 101IsMatch 76IsNotNull 29IsUserInRole 159Label 35ListaDostawcow 252 255ListaPracownikow 248

hiper cze skojarzone 249LogOff 198LogOn 198Macierzowy 397mapowalna 26MetodaAsynchronicznaWatki 472ModelStateAddModelError 199MvcApplicationRegisterRoutes 430obs uga zapyta POST 431odczyt aktualnych bilansoacutew kont 323OdczytajStanyKont 326OnActionExecuted 143OnActionExecuting 127 143onColumnChanged 269OnResultExecuted 144OnResultExecuting 144onRowChanged 266onRowChanging 268OpenConfiguration 170otwarcie po czenia z baz danych 341OtworzPlikDanych 107Page_Load 399PartialViewResult 26PobierzDane 394

modyfikacja 401PobierzPlikLogu 141 143PobierzZdjecie 278PokazTrasy 51PokazWyniki 107pomocnicza 25 455

HtmlEncode 51wykorzystanie 456

PostAsJsonAsync 486PostAsXmlAsync 486PostAsync 486PostResolveRequestCache 121PracownicyWedlugMiast

przechowywanie warto ci filtru 285PutAsJsonAsync 493PutAsXmlAsync 493PutAsync 493ReadAsAsync 486ReadXml 107ReadXmlSchema 107RedirectFromLoginPage 152

Kup książkę Poleć książkę

534 ASPNET MVC

metodaRedirectResult 26RedirectToAction 26RedirectToLoginPage 152RedirectToRoute 26RedirectToRouteResult 26RefreshReport 384Register 199 478RegisterAuth 461 462RegisterBundles 475RegisterGlobalFilters 171RegisterRoutes 94 123RejectChanges 256 263rejestrowanie zdarze aplikacji 430RemoveUserFromRole 160Render 384 413 418RenderPartial 99ResponseWrite 223ResultExecuteResult 143RoleExists 159RolesIsUserInRole 216RolesRemoveUsersFromRole 223route 35RowsAdd 255RozpocznijEdycje 269

hiper cze uruchamiaj ce 267SaveChanges 354ScaffoldingMasterDetail 317Session_End 108Session_Start 108SetAuthCookie 152SetParameters 401 405SignOut 152SprawdzDopasowania 79SprawdzPoprawnoscDatyZatrudnienia 67SqlPermissionAdd 343SqlTransactionCommit 326SqlTransactionRollback 326StronaNieIstnieje 175submit 115SzyfrowaniePlikuKonfiguracyjnego 190szyfruj ca i deszyfruj ca 189SzyfrujPlikKonfiguracyjny 191TextBox 35ThreadSleep 469 472TransactionScopeComplete 329Transfer 36UpdateUser 153UstawParametryRaportu 399UsunGrupe 223UsunTrase 50 51UtworzPracownika 64Uzytkownicy 216ValidateUser 152 153

ValidationMessage 437ValidationMessageFor 61ValidationSummary 437ViewResult 26WebApiConfigRegister 478WersjonowanieDataRow 265

sparametryzowanie 266WpisyZapiszDoPlikuXml 430wykonywanie przelewoacutew 323WyswietlLog 141 142 143wyswietlMape 34 35WyswietlTrase 50

modyfikacja 135 166wyznaczTrase 35ZaktualizujWyniki 107Zapami tajNazw U ytkownika 432ZmienStanKont 328

Microsoft SQL Server 319sposoby uwierzytelnienia 344

MIME type 390minification 476minimalizacja 476model 16 39

APM 464ChangePasswordModel 196EAP 465integracja z elementami aplikacji 39LogOnModel 196obs uga plikoacutew XML 427przesy anie z kontrolera do widoku 432 435RegisterModel 196TAP 465

model binding 48model danych encji 348

dodawanie encji 353edycja encji 355kreator 348 349

czenie encji 359metody akcji 354opcje 361projektowanie relacji 43tworzenie 349

schematu bazy danych 357usuwanie encji 357wyboacuter tabel 350

model first 52model zwi zkoacutew encji 347models 16Model-View-Controller 15Model-View-ViewModel 227Model-Widok-Kontroler 15modu

UrlAuthorizationModule 157

Kup książkę Poleć książkę

Skorowidz 535

MVC 15a Web Forms 16 365 367 423

kod 442serwer internetowych us ug

informacyjnych 495wydajno 443wykorzystanie w projektach 444

ataki XSS 185autoryzacja 158 162bezpiecze stwo aplikacji 152buforowanie 134domy lne wzorce aplikacji 21kreator aplikacji 20mechanizm filtrowania 127Model Binder 355nazwa kontrolera 27obs uga interakcji klient-serwer 121parametry opcjonalne 27pobieranie parametru z adresu URL 26projektowanie aplikacji 18 52przetwarzanie dania aplikacji klienckiej 18sprawdzanie poprawno ci danych 68struktura modelu 39techniki walidacji danych 53utworzenie widoku 30uzupe nianie o komponenty graficzne 367walidacja 438wersja 4 449wyboacuter mechanizmu przetwarzaj cego widoki 21wzorce URL 122zbioacuter modeli szablonu aplikacji 196roacuted o danych 40

MVC4 449grupowanie i optymalizacja skryptoacutew 475kaskadowe arkuszye stylu 475przetwarzanie asynchroniczne 464przystosowanie do urz dze mobillnych 457testowanie aplikacji 457uwierzytelnianie 460

integracja z portalem Facebook 462wsparcie dla urz dze mobilnych 450zdalna autoryzacja 461

MVVM 227

Nnarz dzie

aspnet_regiis 187przetwarzanie tekstu 73

Northwindinstalacja 240kwerenda wybieraj ca 240pobieranie informacji o dostawcach 251

NuGET 483nullable-types 27

OOAuth 461obiekt

AppDomain 339 341Chart 406Command 239Connection 239 241

w a ciwo i 243ConnectionString 343

sposoby uwierzytelniania 344szyfrowanie informacji 335

DataAdapter 239DataGridView 491DataReader 239 273DataRow 255

kontrola wprowadzonych danych 263usuwanie rekordoacutew 270wersje 263wersja proponowana 265wersjonowanie 263w a ciwo ci 255

DataSet 239 244 345edycja rekordoacutew 257kreator konfiguracji TableAdapter 274modyfikacja danych 249tworzenie nowych rekordoacutew 250usuwanie rekordoacutew 271wstawianie rekordoacutew 251wymuszenie wi zoacutew integralno ci 292

DataTable 107DirectionsService 35dostawca 153FormCollection 47jqXHR 218List 389logiki biznesowej 348materializacja 348Matrix 390Membership 152MvcRouteHandler 121 122o okre lonym typie danych 244o silnej typizacji 244o s abej typizacji 247ObjectStateManager 348PartialView 98ReportViewer 368ReportViewerLocalReport 418Request 26 101 432Response 26Route 122ShippersRow 255SqlConnCAS 341SqlConnection 326

Kup książkę Poleć książkę

536 ASPNET MVC

obiektTableAdapter 239 244 273 274 345

edycja danych 279 286wstawianie danych 294

TransactionScope 329parametryzacja 331

typuadres 118AppDomain 466ConcurrentDictionary 479NorthwindDataSet 247ObjectSetltTgt 348Route 121Thread 466

UrlRoutingModule 121ViewBag 36

przekazywanie danych do widoku WebForms 376

ViewData 36 79 432Object Relational Mapping 347Object Services 348obs uga b doacutew

konfiguracja 132w czenie 129

odrzucenie informacji o transakcji 148od wie anie witryny

a fragment widoku 97aktualizacja zawarto ci 113cz ciowe 96

OnSuccess 96operator

await 474konkatenacji 382Top 411Top N 411

ORM 347

Pparametr

CountryName 401data 115filtr 117mapDivId 35maxIloscRekordow 117Order 137raportu 395scopeTimeOut 330

warto ci 330TransactionScopeOption

warto ci 329type 115

parametryzacja kwerend 274partial view 30

piaskownica 341Plain Old CLR Object 360platforma NET

us ugi uwierzytelniania 153plik

ascx 22aspx 22bmp 390cookie 151cookies 154 155cshtml 22 434css 475edmx 360jpg 390js 475konfiguracyjny

zabezpieczenie 187master 22png 390rdl 368rdlc 368tekstowy

wy wietlenie w przegl darce 143vbhtml 22

POCO 360pola klucza 237polecenie

HtmlEncode 187ScriptsRender 476StylesRender 476GET 18POST 18

po czenieze roacuted em danych 241

pomocnik HTML 455Portable Document Format 413po rednik 341poziom izolacji 332

Chaos 333konfiguracja 332ReadCommitted 333ReadUncommitted 333Serializable 333Snapshot 333Unspecified 333

poziom zaufania 339ograniczenie 340

proceduraajax 115AjaxBeginForm 96niemapowalna 26PartialView 26serialize 115

Kup książkę Poleć książkę

Skorowidz 537

proces 465programowanie

oparte na zdarzeniach 17zdarzeniowe 17

projekt aplikacji MVCankieta 102asynchroniczne przetwarzanie da HTTP 92Bezpiecze stwo 181 336

nawi zanie komunikacji ze roacuted emdanych 342

szyfrowanie pliku konfiguracyjnego 191dodawanie i wy wietlanie komentarzy 183domy lny 20EksportDanych 413Filtry 131formularz oceny 107Kadry

walidacja adresu e-mail 84Kardy 55KsiegaGosci_MVC3 424lista prezentuj ca dodawane elementy 97MojaNawigacja 18

blokowanie samodzielnego tworzeniakont 224

buforowanie danych 135implementacja warstwy dost pu 42instalacja na serwerze IIS 500komunikat powitalny 168komunikaty 110komunikaty o b dach 173mechanizm podpowiedzi 115model weryfikuj cy po wiadczenia

u ytkownikoacutew 196modele kontrolera uwierzytelnienia 196od wie enie widoku mapy 109struktura 21szablon 19szablon witryny 225trasowanie da HTTP 123uzupe nienie o baz danych 40uzupe nienie o walidacj danych 69widok b du 175zablokowanie nieautoryzowanego

dost pu 128zarz dzanie u ytkownikami 163zarz dzanie grupami u ytkownikoacutew 212zarz dzanie procesem logowania 198

MsAjax 92NorthwindMVC 241

lista rekordoacutew 301szablon witryny 250

POCO 361priorytety regu filtrowania 137

Raport 368szablon

mechanizmy uwierzytelnienia 156zarz dzanie grupami u ytkownikoacutew 159

Transakcje 319aktualizacja danych 328formularz aktualizacji 328szablon stron 320

uzupe nianie widokiem GridView 49WyrazeniaRegularne 76Zapytania_EF 349

projekt aplikacji MVC4AsynchronicznyKontroler 466

prezentacja danych 468AutoryzacjaOAuth 461implementacja serwisu sieciowego 479konfiguracja grupowania 475MobileMvc 450

testowanie 457pobranie zdj cia 452przygotowanie listy pracownikoacutew 452SerwisSieciowy 477

projekt aplikacji Windows Formsedycja danych 487KlientWebAPI 483tworzenie nowych pracownikoacutew 486

dania typuDELETE 493POST 486PUT 491

projektowaniekontrolera 27widoku 31

protokoacuteFTP 495Kerberos 150NTLM 150SMTP 495SSL 337

proxy 341przechowywanie

informacji o trasach 44wynikoacutew g osowania 107

przeci enie aplikacji 147przekazywanie

danych 44mi dzy widokiem a kontrolerem 36

parametroacutew do metod akcji kontrolera 26przestrze nazw

SystemThreading 465przyjazne linki 122publikowanie aplikacji 495 500

na serwerze IIS 497

Kup książkę Poleć książkę

538 ASPNET MVC

pule aplikacji 465 497konfiguracja 498Windows 7 499Windows 8 500

Rraporty

dane w postaci macierzowej 390data 386definicja

dynamiczna 418filtrowanie danych 394

na poziomie roacuted a 401 418filtry 395formaty prezentacji danych 379grupowanie danych 381hiper cza 387

nawigacyjne 376kolumny obliczeniowe 378konfiguracja

filtrowania dynamicznego 396typu 392roacuted a danych 368

kreator formu 382macierzowe 391numery stron 386obrazy 390parametry 383 394

konfiguracja 399paski narz dziowe 379pola

bazy danych 386formularza 398raportu 390

po czenie z aplikacj 368prezentowanie uk adu graficznego 383projektowanie 371

i prezentowanie 368przystosowanie strony do obs ugi raportoacutew

387renderowanie 368tryby definicji 368tworzenie

definicji lokalnej 368formu 378przy u yciu kreatora 372

uk ad 383wstawianie nag oacutewka i stopki 385wykresy 406wy wietlenie 375

Razor 21 30przetwarzanie definicji widoku 208

RDL 418rekordy

edycja 307lista 301tworzenie 311usuwanie 305

Relationship 347Report Definition Language 418Report Wizard 371repudiation 148request 442response 442responsywno 464rollback transaction 319routing 22 430routowanie 121

SSandBox 341scaffolding 301Secure Socket Layer 337sekcja

membership 178roleManager 179set 441

serwerSMTP

konfiguracja 171us ug informacyjnych 149

weryfikacja to samo ci u ytkownika 149Simple Mail Transfer Protocol 495s owo kluczowe

helper 455await 474using 47 329

spaghetti code 18spoofing 147SQL Server Reporting Services 367SSRS 367stan pola

typu CheckBox 269pobieranie 264

STRIDE 148strona startowa

MojaNawigacja 226strona wzorcowa 30

aplikacji Kadry 55referencja do bibliotek skryptoacutew 70

systemowy serwer us ug informacyjnych 121szyfrowanie po czenia 335

ze roacuted em danych 336

Kup książkę Poleć książkę

Skorowidz 539

Ttabela danych

Categories 418Customers 305deklaracje kaskadowych arkuszy stylu 275edycja

danych 279danych w wierszu 257rekordoacutew 307 310

Employees 240 288filtrowanie listy 275integralno danych 288Konta 321 326kwerenda wybieraj ca 240Orders 291 315OrdersDetails 307pobieranie fotografii 276pobranie danych z wykorzystaniem JScript 280prezentacja

danych 277 325informacji 252listy danych 248pierwszego rekordu 246rekordoacutew 317

przekazanie do widoku 248Shippers 251tworzenie rekordoacutew 311umieszczenie w bazie danych 321uruchomienie edycji danych 258usuwanie

danych 288rekordoacutew 271 305 306

widok b du 268wstawianie

danych 294rekordoacutew 251

wy wietlenie listykonfiguracja hiper cza 315

zako czenie edycji rekordu 267tablica asocjacyjna 479tablica bajtoacutew

konwersja do bitmapy 277tampering 147task pane 371Task-based Asynchronous Pattern 465TDD 15

test jednostkowy funkcjonalno ci kontrolera28

Test-Driven Development 15testowanie

aplikacji 29wzorcoacutew wyra e regularnych 76 78

Toolbox 274

transakcje 319automatyczne zarz dzanie 327otaczaj ce 329poziom izolacji 332tworzenie i r czna kontrola 319

trasowanie 121aplikacja 430blokowanie dost pu 124domy lne regu y 123Ksi gaGosci_MVC3 430w asne regu y 124

trasowanie adresoacutew URL 121T-SQL 319

czynno ci bazodanowe 345tworzenie

bazy danych 40interfejsu u ytkownika

jQM 459szablony 231wzorzec MVVM 227

u ytkownika 200kody b doacutew 201

widoku Index 231wzorcoacutew wyra e regularnych 76

typed DataSet 244typizacja

silna 46s aba 46

typy puste 27

Uujawnienie krytycznych informacji 147ukryte pola 441Uniform Resource Locator 18URL 18uruchomienie aplikacji 503us uga

AspNetSqlProvider 178ustawienia aplikacji 167

odczytanie z pliku konfiguracyjnego 169UTC 155uwierzytelnienie 149

centralny serwis 151certyfikaty 150formularze logowania 151

atrybuty elementu forms 154konfiguracja 153mechanizmy zintegrowane z ASPNET 149na bazie protoko u NTLM 150przekazywanie informacji 151proste 150skroacutecone 150us ugi systemu Windows 150

Kup książkę Poleć książkę

540 ASPNET MVC

Vvariable placeholders 122view engine 21views 16viewstate 442Visual Studio

kreator projektu 19Visual Studio Development Server 496VS 2012

instalacja 240kreator Add New Item 242

VSDS 496

Wwalidacja

adresue-mail 83URL 83WWW 84

danych 53a technologia Entity Framework 68konfiguracja 66modelu Pracownik 66odwo anenie do jQuery 61po stronie klienta 67wyra enia regularne 73

skrypty i style walidatoroacutew 438w asno ci klasy encji 435

w tek 465Web API 477

edycja danych 491klient 483konfiguracja interfejsu 478obs uga da typu POST 486pobranie danych z serwera 485serwis sieciowy 479usuwanie danych 493

web serwer 495Web Site Administration Tool 161

konfigurowanie uprawnie 165zarz dzanie

dostawcami us ug 178u ytkownikami 163

WebForms 17bezpiecze stwo aplikacji 152integracja komponentoacutew z MVC 367kontrolka Repeater 434obs uga wyj tkoacutew 172przetwarzanie dania aplikacji klienckiej 18separacja modelu 427weryfikacja poprawno ci projektu 434

weryfikacjakodu pocztowego 81to samo ci 151

widok 16 25 30aplikacji

MVC4 453przystosowanie do urz dze mobilnych

459Transakcje 326

cz ciowy 30dodawanie 31edycji klienta 307elementy 31formularz

dodawania wpisu 425logowania 203

kontroleraaplikacja Kadry 58panelu administracyjnego 222

kontrolera AdminController 213kontrolera Dopasowania 77kontrolera ErrorControler 174kontrolera Glosowania 103kontrolera Home 131 169 182 307

metodaWyswietlLog 142Raport 375Transakcje 320

kontrolera HomeController 246AsynchronicznyKontroler 468EksportDanych 417

kontrolera Lista 93kontrolera Mapa 33 34

formularz 70Trasa 50

kreatorakonta u ytkownika 205zmiany has a 206

listyklientoacutew 302pracownikoacutew 61wyznaczonych tras 48zamoacutewie 316

mapyod wie enie 108parametryzacja 34

mechanizm przetwarzania 30modyfikowanie formularza 437obs uga wyj tkoacutew 130Pracownicycshtml 453projektowanie 31transfer danych do kontrolera 36typu CRUD 52

Kup książkę Poleć książkę

Skorowidz 541

typu GridViewimplementacja 48

typy plikoacutew 30utworzenie 30uzupe nianie tre ci 33walidacja 435wi zanie z modelem 437wstawianie rekordoacutew 312wynikoacutew ankiety 105wy wietlanie wpisoacutew 432

wielodziedziczenie 360Windows Authentication Provider 149Windows Data Protection API 187Windows Forms

implementacja klienta 483Windows Live ID 149w a ciwo

ConnectionString 243IsMobileDevice 460ModelStateIsValid 47

wstawianie rekordoacutew 299wstrzykni cie kodu 181 185wykresy 406

konfiguracjaserii danych 407typu 407

pobranie danych roacuted owych 408wy czenie aplikacji 171wyra enia lambda 46wyra enia regularne 73

atrybuty modelu 84liczba wyst pie sk adnikoacutew 76wzorzec

adres URL 83imi e skie 81kod pocztowy 80tworzenie 76

znaki i cyfry 74znaki specjalne 74znaki w wyznaczonych miejscach a cucha 75

wzorzecodnajdywanie

znakoacutew i cyfr 74znakoacutew specjalnych 74znakoacutew w wyznaczonych miejscach

a cucha 75okre lanie

liczby wyst pie znakoacutew 76

XXSS 181

Zzabezpieczenia

aplikacji bazodanowych 335ataki XSS 187informacje o b dach 171kodu po redniego 338konfiguracja 161konfiguracja aplikacji

kreatory 162obs uga wyj tkoacutew 171pliku konfiguracyjnego 167 187przed atakami 148ustawienia aplikacji 167witryny 181zarz dzanie dostawcami us ug 178z o liwy kod 181

zarz dzanieu ytkownikami i grupami 211

dost p do panelu administracyjnego 216lista grup 221podzia na grupy 220pobieranie listy 213tworzenie nowej grupy 222zmiana przynale no ci do grupy 215

z o ono ci aplikacji 16zdarzenie

DataGridViewCellDoubleClick 491rejestrowanie 430

z o liwy koddzia anie 181

znacznikinput 288

znaki specjalneodnajdywanie 74

zwi zanie z modelem 48zwi zek 347

danie 25asynchroniczna obs uga 92 466 470

skrypty 318zadania 473

GET 64POST 64przetwarzanie 127zablokowanie obs ugi 124

Kup książkę Poleć książkę

Notatki

Kup książkę Poleć książkę

Skorowidz

AACL 149action methods 25ActiveX Data Object 238ADO 238ADONET 238

obiekty 238podstawy 237synchronizacja buforu ze roacuted em danych 273

adresy URLautoryzacja 157parametry 122trasowanie 121wzorce 122 123

agile programming 15AJAX 91

aktualizacja bloku witryny 113dodanie referencji do bibliotek JavaScript 94

akcjaCreate 354Delete 357Details 353dodaj ca nowy produkt 355Edit 356

aktualizacjazawarto ci elementu witryny 92

algorytmRSA 187

ambient transaction 329ankieta 102AntiXss 187aplikacje

bazodanowe 235bezpiecze stwo 335mechanizm transakcji 319scaffolding 301

synchronizacja ze roacuted em danych 273uwagi do projektowania 345

mo liwo edytowania wpisoacutew 441rejestrowanie zdarze i trasowanie 430

Application Domain 339architektura obiektowa 347ASPNET

konfiguracja aplikacji 161mechanizmy uwierzytelnienia 149metody globalne 107w czanie i wy czanie aplikacji 171

ASPNET AJAX 91ASPNET MVC 15

komponenty 16ASPX 21 30asynchroniczne przetwarzanie da http

jQuery 113Asynchronous JavaScript and XML 48Asynchronous Programming Model 464ataki

rodzaje 147SQL Injection 148 344wy udzenie informacji 148z o liwy kod 181

atrybut 347AcceptVerbs(HttpPost) 47AcceptVerbs(HttpVerbsPost) 65AssociationAttribute 58Authorize 200AuthorizeAttribute 128autoryzacyjny 145ConcurrencyCheckAttribute 58Confirm 95cookieless 154CustomValidationAttribute 58 66data-bind 230DataType 54 57

Kup książkę Poleć książkę

528 ASPNET MVC

atrybutDataTypeAttribute 58defaultRedirect 173defaultUrl 154DisplayAttribute 58DisplayColumnAttribute 58DisplayName 436EditableAttribute 58enableCrossAppRedirects 155EnumDataTypeAttribute 58FilterUIHintAttribute 58HandleError 138 175HandleErrorAttribute 129HttpMethod 95InsertionMode 95KeyAttribute 58klasy do konfiguracji metadanych 57 58LoadingElementDuration 110LoadingElementId 95 110Log

klasa implementuj ca 142loginUrl 154MetadataType 69MetadataTypeAttribute 58mode 153 173modelu 55name 155NonAction 26 135OnBegin 95OnComplete 95OnFailure 95OnSuccess 95 110OutputCache 133OutputCacheAttribute

parametry 134passwordFormat 156protection 155Range 54 66RangeAttribute 58redirectMode 173RegularExpressionAttribute 58Required 54 66RequiredAttribute 58RequireHttps 135requireSSL 155slidingExpiration 155StringLength 66StringLengthAttribute 58TestClass 29TestMethod 29ticketCompatibilityMode 155timeout 155TimestampAttribute 58UpdateTargetId 95

Url 95ValidateInput 185

atrybuty modeluwyra enia regularne 84

Attribute 347authentication ticket 151auto post back 217autocomplete textbox 115automatyczne uzupe nienie pola tekstowego 115autoryzacja 149 157

adresoacutew URL 157konfiguracja 157

grupy u ytkownikoacutew 158mechanizm filtrowania 158otwarta 460plikoacutew 157zdalna

powi zanie z portalem Facebook 461Azure 496

Bbazy danych 40 237

aktualizacja 41lista rekordoacutew 301Northwind 240

detale produktu 352dodawanie po cze 350pobieranie produktoacutew 351

po czenie ze roacuted em danych 241relacyjne 237schemat CRUD 301transakcje 319tworzenie 321

nowego rekordu 48schematu na bazie modelu encji 357

usuwanie danych 290regu y integralno ci 293

usuwanie powi zanych wierszyrekordy potomne 291

warstwa dost pu 42bezpiecze stwo

aplikacji internetowych 147ataki 147mechanizmy 149

biblioteka NETprogramowanie asynchroniczne 464

biblioteka skryptoacutewMapajs 32

bilet uwierzytelniaj cy 151b dy

dzia ania aplikacji 171strona b du 176tworzenie u ytkownika 202wprowadzenie z ego rekordu 268

Kup książkę Poleć książkę

Skorowidz 529

body 383buforowanie

danych ze roacutede zewn trznych 133bundling 475Business Intelligence 368

Ccallback 35CAS 151 338CDN 113Central Authentication Service 151centralna us uga uwierzytelnienia 151certyfikat 337CLR

procesy systemowe 466Code Access Security 338Confirm 96connString 341controllers 16Coordinated Universal Time 155Create Read Update Delete 301cross-site scripting 181CRUD 54 301Crystal Reports 368

Ddane

agregacja 378bezpo redni dost p do roacuted a 346eksport 413

do dokumentu tekstowego 419do PDF 420skoroszyt MS Excel 421tabele dynamiczne 418

integralno 288 319pomini cie sprawdzania 292regu y 291

modyfikacja 249platforma modelowania 347prezentacja

graficzna 406w postaci macierzowej 390

przekazywaniez formularza do roacuted a 46z kontrolera do widoku 437 439

serializacja i transfer struktur 117szyfrowanie 337typu

ActionResult 25walidacja 53weryfikacja 53wi zy integralno ci 306

wy wietlanie 315zabezpieczenie 338

Data Binding 389Data Definition Language 345Database Management System 237DBMS 237

wi zy integralno ci 238DDL 345denial of service 147detail 315Development Server 504DIE 53DisplayFormatAttribute 58document object model 92DOM 92domena aplikacji 339 466

instancja obiektoacutew 341tworzenie 339wspoacute dzielenie obiektu 341

dostawcy us ug 178dost p anonimowy 150DotNetOpenAuth 149DPAPI 187DRY 53dyrektywa

model 46

Eelement

customErrors 173success 115

elevation of privilege 147encapsulation 107encja 347

atrybuty 54bazodanowa 54KategoriaProduktu 358odwzorowanie w bazie danych 360Order_Details 362Orders 361Products 361Produkt 358

Entity 347Entity Framework 43 347

POCO 360potwierdzenie explicite 356technologie 349wersje 347

Entity Relationship Model 347Entity SQL 349ERM 347Event-based Asynchronous Pattern 465event-driven programming 17

Kup książkę Poleć książkę

530 ASPNET MVC

FFile Transfer Protocol 495filtry 127

akcji 127 139autoryzacyjne 127 144dynamiczne 395kolejno wykonywania 137

priorytety 138Log

metody 141LogAttribute

definicja klasy 140podstawowe atrybuty 128statyczne 395w asne 139wyj tkoacutew 128 144

niestandardowe 145wyniku 128 144

for 434foreach 51Forms Authentication Provider 149formularz

MasterDetail 315z podformularzem 315

funkcjadelay 217ListaPracownikoacutew 57Mid 390RolesIsUserInRole 217Today 390wyznaczaj ca tras 109zmienPrzynaleznoscDoGrupy 217 218

GGauge 383 403GDI 368graficzny interfejs u ytkownika 17 30Graphics Device Interface 368GridView 48grupy u ytkownikoacutew

autoryzacja 158GUI 17

Hhard-coding 167haszowanie 150helper methods 25html helper 455

Iidentyfikator

klienta 315rekordoacutew 315

IIS 121 149 495instalacja

ASPNET 445 498serwera w Windows 7 496serwera w Windows 8 496

mened er Windows 499uruchamianie aplikacji 503

serwer do rozwoju aplikacji 504information disclosure 147instancje aplikacji 465instancjonowanie modelu 39IntelliSense 247interfejs u ytkownika

przycisk umo liwiaj cy dodanie pracownika294

przycisk usuni cia wybranego rekordu 289Internet Information Services 121internetowe us ugi informacyjne 495in ynieria spo eczna 148Isolation Level 332izolacja 339 466

JJavaScript Object Notation 117jQM 457jQuery

autocomplete 116pliki roacuted owe 113

jQuery Mobile 457jQuery UI 367

wykorzystanie przyciskoacutew 284JSON 117

obiekt typu adres 118

KKey Performance Indicators 403klasa

AccountController 198ActionExecutingContext 143AdminController 212Ajax 94AjaxOptions 94

atrybuty 95AspNetHidden 442AssemblyName 170Assert 29

Kup książkę Poleć książkę

Skorowidz 531

AuthConfig 461BundleConfig 475Configuration 170ConfigurationManager 170ConfigurationSection 187 188ConnectionStringBuilder 345DpapiProtectedConfigurationProvider 187FiltryRaportuMacierzowego 397Form1 484FormsAuthentication 152Global 430HandleErrorInfo 133HtmlHelper 437HttpClient 483 486HttpResponseMessage 486kontekstu 362LogOnModel 198MarshallByRefObject 341Membership 152 198 211MvcApplication 430NorthwindContext 362ObjectContext 348ObjectQueryltTgt 348Order_Details 362Orders 361Osoba 228ParametryWatku 470Pracownik 484Products 361Produkt 230Raport 392RequestBrowser 460ResultExecutedContext 144ResultExecutingContext 144Roles 211RsaProtectedConfigurationProvider 187SQLConnCAS

definicja 340stowarzyszona z modelem 69SystemNetHttpFormattingJsonMediaTypeF

ormatter 491SystemTextRegularExpressions 74SystemWebSecurityRoles 159Task 465 472testuj ca 29Thread 465 469TransactionScope 327UrlRoutingModule 121ViewData 434 436 439WebApiConfig 478WebConfigurationManager 170Wpisy 427 436

klucze 237MAC 155obce 238podstawowe 238

kluczowe wska niki efektywno ci 403dynamiczna zmiana warto ci 404

Knockout 227wykorzystanie szablonoacutew JavaScript 230wywo anie skryptu 229

kodowanie danychprzekazywanych przez u ytkownikoacutew 186

komponentFormDanePracownika 489obiektu

PartialView 99typu ListBox 99

ReportViewer 368 375eksport danych 413nawigacja mi dzy stronami raportu 377

komponenty u ytkownika 30komunikaty o b dach 171

kod statusowy 174 175koncepcja programowania zdarzeniowego 16konfiguracja

po czenia z baz danych 241uprawnie puli aplikacji 454walidacji danych 66

konkurencyjno aplikacji 332kontekst wi zania 389kontrola wprowadzanych danych 263

metoda onColumnChanged 269wstrzymanie walidacji wiersza 267zako czenie edycji rekordu 267

wymuszenie 267kontroler 16 25

AccountController 195Admin 223AdminController 212aplikacja Kardy 63asynchroniczny 466

a zadania 472dane wyj ciowe 25domeny 150ErrorController 174Glosowania 103Home 182 224 228 231

Bezpiecze stwo 336filtr wyj tku 131

HomeController 184EksportDanych 415Northwind 245

interfejs Web API 477KsiegaGosciController 424

Kup książkę Poleć książkę

532 ASPNET MVC

kontrolerLista 93Mapa 33

autouzupe nianie 117modyfikacja 45

niedost pne metody publiczne 136obs uga POST 431panelu administracyjnego 212

zarz dzanie grupami u ytkownikoacutew 220Pracownicy 57 64PracownicyController

implementacja 481Produkty 351projektowanie 27przekazywanie danych do widoku

zmiany 439uwierzytelnienia 195

klasa 198model 196widoki 203

uzupe nienie o widok 31u ycie modelu odsy anego przez widok 440ValuesController 478weryfikacja funkcjonalno ci 28wi zanie adresu URL z akcj 430widoki 58

konwersja obrazu 278kreator

Add New Item 242Add View 59 302Application 162blokowania szczegoacute oacutew b doacutew 172dodanie u ytkownikoacutew 164grup u ytkownikoacutew 165Provider 162Publish Web 501Security 162tworzenia pracownika 59ustawie aplikacji 167widokoacutew 60wyboacuter dostawcoacutew us ug 178

kwerendy parametryczne 274 401

Llayout witryny 30LINQ

to Entities 349lista rekordoacutew 301

prezentacja 304logika

aplikacji 30bazodanowa 30biznesowa 44

a cuch QueryString 26

Mmaster 315mechanizm

automatycznych w a ciwo ci 57autoryzacji 157eksportu danych 413filtroacutew 127grupowania plikoacutew 475IntelliSense 119QuerynotString 117szyfruj cy 187transakcji 319 321

przelewy bankowe 326wyznaczania trasy przejzdu 34

meotdaInsert 299ProtectSection 191WersjonowanieDataRow

definicja widoku 265message authentication code 155metoda

on 262HtmlValidationSummary 204About 124AcceptChanges 255 263ActionLinkActionLink 61 63 353AddUserToRole 159akcji 25

parametry opcjonalne 27aktualizacja statystyk ankiety 105AktualizujZdjeciePracownika 288Application_AuthenticateRequest 108Application_BeginRequest 107 108Application_End 108Application_EndRequest 107Application_Error 108 172Application_Start 108 123 139 430asynchroniczna kontrolera 472AttachTo 356Authenticate 152AutoUzupelnienie 117

zapytanie LINQ 118BeginEdit 267BeginForm 47 94BeginTransaction 326 332CancelEdit 263ChangeObjectState 356

Kup książkę Poleć książkę

Skorowidz 533

ChangePassword 200hiper cze 208widok 206

ChangePasswordSuccesswidok 206

CreateNazwaEncji 354CreateRole 159CreateUser 153czyBazaDanychIstnieje 326daneDostawcyForm 262DBeginnotEdit 263Delete 270DeleteObject 357DeleteRole 159DeleteUser 153DeszyfrujPlikKonfiguracyjny 191DodajDostawce 255DodajElementDoListy 94 97 101DodajGrupe 223DodajKomentarz 185DodajPracownika 299 491DopiszDoPlikuLog 430Edit 356EdytujDaneDostawcy 261EdytujDanePracownika 493Eksportuj 418EmptyResult 26EndEdit 263EndForm 47ErrorCodeToString 201Fill 246FillByCityName 275FormatDateTime 390FormsAuthenticationSetCookie 199GenerujDane 468Get(int id) 478GetAllRoles 159GetAsync 486GetChildRecords 291GetSection 170GetSectionGroup 170GetUser 153GetUsersInRole 160globalna

aplikacji ASPNET 108Grupy 223HasVersion 263HtmlListBox 97HtmlRenderPartial 101HtmlValidationSummary 61HtmlHelperLabel 437ImiePierwszegoPracownika 246 247Include 475Index 47 79 97 101

kontrolera Mapa 34testowanie 28

IsAjaxRequest 101IsMatch 76IsNotNull 29IsUserInRole 159Label 35ListaDostawcow 252 255ListaPracownikow 248

hiper cze skojarzone 249LogOff 198LogOn 198Macierzowy 397mapowalna 26MetodaAsynchronicznaWatki 472ModelStateAddModelError 199MvcApplicationRegisterRoutes 430obs uga zapyta POST 431odczyt aktualnych bilansoacutew kont 323OdczytajStanyKont 326OnActionExecuted 143OnActionExecuting 127 143onColumnChanged 269OnResultExecuted 144OnResultExecuting 144onRowChanged 266onRowChanging 268OpenConfiguration 170otwarcie po czenia z baz danych 341OtworzPlikDanych 107Page_Load 399PartialViewResult 26PobierzDane 394

modyfikacja 401PobierzPlikLogu 141 143PobierzZdjecie 278PokazTrasy 51PokazWyniki 107pomocnicza 25 455

HtmlEncode 51wykorzystanie 456

PostAsJsonAsync 486PostAsXmlAsync 486PostAsync 486PostResolveRequestCache 121PracownicyWedlugMiast

przechowywanie warto ci filtru 285PutAsJsonAsync 493PutAsXmlAsync 493PutAsync 493ReadAsAsync 486ReadXml 107ReadXmlSchema 107RedirectFromLoginPage 152

Kup książkę Poleć książkę

534 ASPNET MVC

metodaRedirectResult 26RedirectToAction 26RedirectToLoginPage 152RedirectToRoute 26RedirectToRouteResult 26RefreshReport 384Register 199 478RegisterAuth 461 462RegisterBundles 475RegisterGlobalFilters 171RegisterRoutes 94 123RejectChanges 256 263rejestrowanie zdarze aplikacji 430RemoveUserFromRole 160Render 384 413 418RenderPartial 99ResponseWrite 223ResultExecuteResult 143RoleExists 159RolesIsUserInRole 216RolesRemoveUsersFromRole 223route 35RowsAdd 255RozpocznijEdycje 269

hiper cze uruchamiaj ce 267SaveChanges 354ScaffoldingMasterDetail 317Session_End 108Session_Start 108SetAuthCookie 152SetParameters 401 405SignOut 152SprawdzDopasowania 79SprawdzPoprawnoscDatyZatrudnienia 67SqlPermissionAdd 343SqlTransactionCommit 326SqlTransactionRollback 326StronaNieIstnieje 175submit 115SzyfrowaniePlikuKonfiguracyjnego 190szyfruj ca i deszyfruj ca 189SzyfrujPlikKonfiguracyjny 191TextBox 35ThreadSleep 469 472TransactionScopeComplete 329Transfer 36UpdateUser 153UstawParametryRaportu 399UsunGrupe 223UsunTrase 50 51UtworzPracownika 64Uzytkownicy 216ValidateUser 152 153

ValidationMessage 437ValidationMessageFor 61ValidationSummary 437ViewResult 26WebApiConfigRegister 478WersjonowanieDataRow 265

sparametryzowanie 266WpisyZapiszDoPlikuXml 430wykonywanie przelewoacutew 323WyswietlLog 141 142 143wyswietlMape 34 35WyswietlTrase 50

modyfikacja 135 166wyznaczTrase 35ZaktualizujWyniki 107Zapami tajNazw U ytkownika 432ZmienStanKont 328

Microsoft SQL Server 319sposoby uwierzytelnienia 344

MIME type 390minification 476minimalizacja 476model 16 39

APM 464ChangePasswordModel 196EAP 465integracja z elementami aplikacji 39LogOnModel 196obs uga plikoacutew XML 427przesy anie z kontrolera do widoku 432 435RegisterModel 196TAP 465

model binding 48model danych encji 348

dodawanie encji 353edycja encji 355kreator 348 349

czenie encji 359metody akcji 354opcje 361projektowanie relacji 43tworzenie 349

schematu bazy danych 357usuwanie encji 357wyboacuter tabel 350

model first 52model zwi zkoacutew encji 347models 16Model-View-Controller 15Model-View-ViewModel 227Model-Widok-Kontroler 15modu

UrlAuthorizationModule 157

Kup książkę Poleć książkę

Skorowidz 535

MVC 15a Web Forms 16 365 367 423

kod 442serwer internetowych us ug

informacyjnych 495wydajno 443wykorzystanie w projektach 444

ataki XSS 185autoryzacja 158 162bezpiecze stwo aplikacji 152buforowanie 134domy lne wzorce aplikacji 21kreator aplikacji 20mechanizm filtrowania 127Model Binder 355nazwa kontrolera 27obs uga interakcji klient-serwer 121parametry opcjonalne 27pobieranie parametru z adresu URL 26projektowanie aplikacji 18 52przetwarzanie dania aplikacji klienckiej 18sprawdzanie poprawno ci danych 68struktura modelu 39techniki walidacji danych 53utworzenie widoku 30uzupe nianie o komponenty graficzne 367walidacja 438wersja 4 449wyboacuter mechanizmu przetwarzaj cego widoki 21wzorce URL 122zbioacuter modeli szablonu aplikacji 196roacuted o danych 40

MVC4 449grupowanie i optymalizacja skryptoacutew 475kaskadowe arkuszye stylu 475przetwarzanie asynchroniczne 464przystosowanie do urz dze mobillnych 457testowanie aplikacji 457uwierzytelnianie 460

integracja z portalem Facebook 462wsparcie dla urz dze mobilnych 450zdalna autoryzacja 461

MVVM 227

Nnarz dzie

aspnet_regiis 187przetwarzanie tekstu 73

Northwindinstalacja 240kwerenda wybieraj ca 240pobieranie informacji o dostawcach 251

NuGET 483nullable-types 27

OOAuth 461obiekt

AppDomain 339 341Chart 406Command 239Connection 239 241

w a ciwo i 243ConnectionString 343

sposoby uwierzytelniania 344szyfrowanie informacji 335

DataAdapter 239DataGridView 491DataReader 239 273DataRow 255

kontrola wprowadzonych danych 263usuwanie rekordoacutew 270wersje 263wersja proponowana 265wersjonowanie 263w a ciwo ci 255

DataSet 239 244 345edycja rekordoacutew 257kreator konfiguracji TableAdapter 274modyfikacja danych 249tworzenie nowych rekordoacutew 250usuwanie rekordoacutew 271wstawianie rekordoacutew 251wymuszenie wi zoacutew integralno ci 292

DataTable 107DirectionsService 35dostawca 153FormCollection 47jqXHR 218List 389logiki biznesowej 348materializacja 348Matrix 390Membership 152MvcRouteHandler 121 122o okre lonym typie danych 244o silnej typizacji 244o s abej typizacji 247ObjectStateManager 348PartialView 98ReportViewer 368ReportViewerLocalReport 418Request 26 101 432Response 26Route 122ShippersRow 255SqlConnCAS 341SqlConnection 326

Kup książkę Poleć książkę

536 ASPNET MVC

obiektTableAdapter 239 244 273 274 345

edycja danych 279 286wstawianie danych 294

TransactionScope 329parametryzacja 331

typuadres 118AppDomain 466ConcurrentDictionary 479NorthwindDataSet 247ObjectSetltTgt 348Route 121Thread 466

UrlRoutingModule 121ViewBag 36

przekazywanie danych do widoku WebForms 376

ViewData 36 79 432Object Relational Mapping 347Object Services 348obs uga b doacutew

konfiguracja 132w czenie 129

odrzucenie informacji o transakcji 148od wie anie witryny

a fragment widoku 97aktualizacja zawarto ci 113cz ciowe 96

OnSuccess 96operator

await 474konkatenacji 382Top 411Top N 411

ORM 347

Pparametr

CountryName 401data 115filtr 117mapDivId 35maxIloscRekordow 117Order 137raportu 395scopeTimeOut 330

warto ci 330TransactionScopeOption

warto ci 329type 115

parametryzacja kwerend 274partial view 30

piaskownica 341Plain Old CLR Object 360platforma NET

us ugi uwierzytelniania 153plik

ascx 22aspx 22bmp 390cookie 151cookies 154 155cshtml 22 434css 475edmx 360jpg 390js 475konfiguracyjny

zabezpieczenie 187master 22png 390rdl 368rdlc 368tekstowy

wy wietlenie w przegl darce 143vbhtml 22

POCO 360pola klucza 237polecenie

HtmlEncode 187ScriptsRender 476StylesRender 476GET 18POST 18

po czenieze roacuted em danych 241

pomocnik HTML 455Portable Document Format 413po rednik 341poziom izolacji 332

Chaos 333konfiguracja 332ReadCommitted 333ReadUncommitted 333Serializable 333Snapshot 333Unspecified 333

poziom zaufania 339ograniczenie 340

proceduraajax 115AjaxBeginForm 96niemapowalna 26PartialView 26serialize 115

Kup książkę Poleć książkę

Skorowidz 537

proces 465programowanie

oparte na zdarzeniach 17zdarzeniowe 17

projekt aplikacji MVCankieta 102asynchroniczne przetwarzanie da HTTP 92Bezpiecze stwo 181 336

nawi zanie komunikacji ze roacuted emdanych 342

szyfrowanie pliku konfiguracyjnego 191dodawanie i wy wietlanie komentarzy 183domy lny 20EksportDanych 413Filtry 131formularz oceny 107Kadry

walidacja adresu e-mail 84Kardy 55KsiegaGosci_MVC3 424lista prezentuj ca dodawane elementy 97MojaNawigacja 18

blokowanie samodzielnego tworzeniakont 224

buforowanie danych 135implementacja warstwy dost pu 42instalacja na serwerze IIS 500komunikat powitalny 168komunikaty 110komunikaty o b dach 173mechanizm podpowiedzi 115model weryfikuj cy po wiadczenia

u ytkownikoacutew 196modele kontrolera uwierzytelnienia 196od wie enie widoku mapy 109struktura 21szablon 19szablon witryny 225trasowanie da HTTP 123uzupe nienie o baz danych 40uzupe nienie o walidacj danych 69widok b du 175zablokowanie nieautoryzowanego

dost pu 128zarz dzanie u ytkownikami 163zarz dzanie grupami u ytkownikoacutew 212zarz dzanie procesem logowania 198

MsAjax 92NorthwindMVC 241

lista rekordoacutew 301szablon witryny 250

POCO 361priorytety regu filtrowania 137

Raport 368szablon

mechanizmy uwierzytelnienia 156zarz dzanie grupami u ytkownikoacutew 159

Transakcje 319aktualizacja danych 328formularz aktualizacji 328szablon stron 320

uzupe nianie widokiem GridView 49WyrazeniaRegularne 76Zapytania_EF 349

projekt aplikacji MVC4AsynchronicznyKontroler 466

prezentacja danych 468AutoryzacjaOAuth 461implementacja serwisu sieciowego 479konfiguracja grupowania 475MobileMvc 450

testowanie 457pobranie zdj cia 452przygotowanie listy pracownikoacutew 452SerwisSieciowy 477

projekt aplikacji Windows Formsedycja danych 487KlientWebAPI 483tworzenie nowych pracownikoacutew 486

dania typuDELETE 493POST 486PUT 491

projektowaniekontrolera 27widoku 31

protokoacuteFTP 495Kerberos 150NTLM 150SMTP 495SSL 337

proxy 341przechowywanie

informacji o trasach 44wynikoacutew g osowania 107

przeci enie aplikacji 147przekazywanie

danych 44mi dzy widokiem a kontrolerem 36

parametroacutew do metod akcji kontrolera 26przestrze nazw

SystemThreading 465przyjazne linki 122publikowanie aplikacji 495 500

na serwerze IIS 497

Kup książkę Poleć książkę

538 ASPNET MVC

pule aplikacji 465 497konfiguracja 498Windows 7 499Windows 8 500

Rraporty

dane w postaci macierzowej 390data 386definicja

dynamiczna 418filtrowanie danych 394

na poziomie roacuted a 401 418filtry 395formaty prezentacji danych 379grupowanie danych 381hiper cza 387

nawigacyjne 376kolumny obliczeniowe 378konfiguracja

filtrowania dynamicznego 396typu 392roacuted a danych 368

kreator formu 382macierzowe 391numery stron 386obrazy 390parametry 383 394

konfiguracja 399paski narz dziowe 379pola

bazy danych 386formularza 398raportu 390

po czenie z aplikacj 368prezentowanie uk adu graficznego 383projektowanie 371

i prezentowanie 368przystosowanie strony do obs ugi raportoacutew

387renderowanie 368tryby definicji 368tworzenie

definicji lokalnej 368formu 378przy u yciu kreatora 372

uk ad 383wstawianie nag oacutewka i stopki 385wykresy 406wy wietlenie 375

Razor 21 30przetwarzanie definicji widoku 208

RDL 418rekordy

edycja 307lista 301tworzenie 311usuwanie 305

Relationship 347Report Definition Language 418Report Wizard 371repudiation 148request 442response 442responsywno 464rollback transaction 319routing 22 430routowanie 121

SSandBox 341scaffolding 301Secure Socket Layer 337sekcja

membership 178roleManager 179set 441

serwerSMTP

konfiguracja 171us ug informacyjnych 149

weryfikacja to samo ci u ytkownika 149Simple Mail Transfer Protocol 495s owo kluczowe

helper 455await 474using 47 329

spaghetti code 18spoofing 147SQL Server Reporting Services 367SSRS 367stan pola

typu CheckBox 269pobieranie 264

STRIDE 148strona startowa

MojaNawigacja 226strona wzorcowa 30

aplikacji Kadry 55referencja do bibliotek skryptoacutew 70

systemowy serwer us ug informacyjnych 121szyfrowanie po czenia 335

ze roacuted em danych 336

Kup książkę Poleć książkę

Skorowidz 539

Ttabela danych

Categories 418Customers 305deklaracje kaskadowych arkuszy stylu 275edycja

danych 279danych w wierszu 257rekordoacutew 307 310

Employees 240 288filtrowanie listy 275integralno danych 288Konta 321 326kwerenda wybieraj ca 240Orders 291 315OrdersDetails 307pobieranie fotografii 276pobranie danych z wykorzystaniem JScript 280prezentacja

danych 277 325informacji 252listy danych 248pierwszego rekordu 246rekordoacutew 317

przekazanie do widoku 248Shippers 251tworzenie rekordoacutew 311umieszczenie w bazie danych 321uruchomienie edycji danych 258usuwanie

danych 288rekordoacutew 271 305 306

widok b du 268wstawianie

danych 294rekordoacutew 251

wy wietlenie listykonfiguracja hiper cza 315

zako czenie edycji rekordu 267tablica asocjacyjna 479tablica bajtoacutew

konwersja do bitmapy 277tampering 147task pane 371Task-based Asynchronous Pattern 465TDD 15

test jednostkowy funkcjonalno ci kontrolera28

Test-Driven Development 15testowanie

aplikacji 29wzorcoacutew wyra e regularnych 76 78

Toolbox 274

transakcje 319automatyczne zarz dzanie 327otaczaj ce 329poziom izolacji 332tworzenie i r czna kontrola 319

trasowanie 121aplikacja 430blokowanie dost pu 124domy lne regu y 123Ksi gaGosci_MVC3 430w asne regu y 124

trasowanie adresoacutew URL 121T-SQL 319

czynno ci bazodanowe 345tworzenie

bazy danych 40interfejsu u ytkownika

jQM 459szablony 231wzorzec MVVM 227

u ytkownika 200kody b doacutew 201

widoku Index 231wzorcoacutew wyra e regularnych 76

typed DataSet 244typizacja

silna 46s aba 46

typy puste 27

Uujawnienie krytycznych informacji 147ukryte pola 441Uniform Resource Locator 18URL 18uruchomienie aplikacji 503us uga

AspNetSqlProvider 178ustawienia aplikacji 167

odczytanie z pliku konfiguracyjnego 169UTC 155uwierzytelnienie 149

centralny serwis 151certyfikaty 150formularze logowania 151

atrybuty elementu forms 154konfiguracja 153mechanizmy zintegrowane z ASPNET 149na bazie protoko u NTLM 150przekazywanie informacji 151proste 150skroacutecone 150us ugi systemu Windows 150

Kup książkę Poleć książkę

540 ASPNET MVC

Vvariable placeholders 122view engine 21views 16viewstate 442Visual Studio

kreator projektu 19Visual Studio Development Server 496VS 2012

instalacja 240kreator Add New Item 242

VSDS 496

Wwalidacja

adresue-mail 83URL 83WWW 84

danych 53a technologia Entity Framework 68konfiguracja 66modelu Pracownik 66odwo anenie do jQuery 61po stronie klienta 67wyra enia regularne 73

skrypty i style walidatoroacutew 438w asno ci klasy encji 435

w tek 465Web API 477

edycja danych 491klient 483konfiguracja interfejsu 478obs uga da typu POST 486pobranie danych z serwera 485serwis sieciowy 479usuwanie danych 493

web serwer 495Web Site Administration Tool 161

konfigurowanie uprawnie 165zarz dzanie

dostawcami us ug 178u ytkownikami 163

WebForms 17bezpiecze stwo aplikacji 152integracja komponentoacutew z MVC 367kontrolka Repeater 434obs uga wyj tkoacutew 172przetwarzanie dania aplikacji klienckiej 18separacja modelu 427weryfikacja poprawno ci projektu 434

weryfikacjakodu pocztowego 81to samo ci 151

widok 16 25 30aplikacji

MVC4 453przystosowanie do urz dze mobilnych

459Transakcje 326

cz ciowy 30dodawanie 31edycji klienta 307elementy 31formularz

dodawania wpisu 425logowania 203

kontroleraaplikacja Kadry 58panelu administracyjnego 222

kontrolera AdminController 213kontrolera Dopasowania 77kontrolera ErrorControler 174kontrolera Glosowania 103kontrolera Home 131 169 182 307

metodaWyswietlLog 142Raport 375Transakcje 320

kontrolera HomeController 246AsynchronicznyKontroler 468EksportDanych 417

kontrolera Lista 93kontrolera Mapa 33 34

formularz 70Trasa 50

kreatorakonta u ytkownika 205zmiany has a 206

listyklientoacutew 302pracownikoacutew 61wyznaczonych tras 48zamoacutewie 316

mapyod wie enie 108parametryzacja 34

mechanizm przetwarzania 30modyfikowanie formularza 437obs uga wyj tkoacutew 130Pracownicycshtml 453projektowanie 31transfer danych do kontrolera 36typu CRUD 52

Kup książkę Poleć książkę

Skorowidz 541

typu GridViewimplementacja 48

typy plikoacutew 30utworzenie 30uzupe nianie tre ci 33walidacja 435wi zanie z modelem 437wstawianie rekordoacutew 312wynikoacutew ankiety 105wy wietlanie wpisoacutew 432

wielodziedziczenie 360Windows Authentication Provider 149Windows Data Protection API 187Windows Forms

implementacja klienta 483Windows Live ID 149w a ciwo

ConnectionString 243IsMobileDevice 460ModelStateIsValid 47

wstawianie rekordoacutew 299wstrzykni cie kodu 181 185wykresy 406

konfiguracjaserii danych 407typu 407

pobranie danych roacuted owych 408wy czenie aplikacji 171wyra enia lambda 46wyra enia regularne 73

atrybuty modelu 84liczba wyst pie sk adnikoacutew 76wzorzec

adres URL 83imi e skie 81kod pocztowy 80tworzenie 76

znaki i cyfry 74znaki specjalne 74znaki w wyznaczonych miejscach a cucha 75

wzorzecodnajdywanie

znakoacutew i cyfr 74znakoacutew specjalnych 74znakoacutew w wyznaczonych miejscach

a cucha 75okre lanie

liczby wyst pie znakoacutew 76

XXSS 181

Zzabezpieczenia

aplikacji bazodanowych 335ataki XSS 187informacje o b dach 171kodu po redniego 338konfiguracja 161konfiguracja aplikacji

kreatory 162obs uga wyj tkoacutew 171pliku konfiguracyjnego 167 187przed atakami 148ustawienia aplikacji 167witryny 181zarz dzanie dostawcami us ug 178z o liwy kod 181

zarz dzanieu ytkownikami i grupami 211

dost p do panelu administracyjnego 216lista grup 221podzia na grupy 220pobieranie listy 213tworzenie nowej grupy 222zmiana przynale no ci do grupy 215

z o ono ci aplikacji 16zdarzenie

DataGridViewCellDoubleClick 491rejestrowanie 430

z o liwy koddzia anie 181

znacznikinput 288

znaki specjalneodnajdywanie 74

zwi zanie z modelem 48zwi zek 347

danie 25asynchroniczna obs uga 92 466 470

skrypty 318zadania 473

GET 64POST 64przetwarzanie 127zablokowanie obs ugi 124

Kup książkę Poleć książkę

Notatki

Kup książkę Poleć książkę

528 ASPNET MVC

atrybutDataTypeAttribute 58defaultRedirect 173defaultUrl 154DisplayAttribute 58DisplayColumnAttribute 58DisplayName 436EditableAttribute 58enableCrossAppRedirects 155EnumDataTypeAttribute 58FilterUIHintAttribute 58HandleError 138 175HandleErrorAttribute 129HttpMethod 95InsertionMode 95KeyAttribute 58klasy do konfiguracji metadanych 57 58LoadingElementDuration 110LoadingElementId 95 110Log

klasa implementuj ca 142loginUrl 154MetadataType 69MetadataTypeAttribute 58mode 153 173modelu 55name 155NonAction 26 135OnBegin 95OnComplete 95OnFailure 95OnSuccess 95 110OutputCache 133OutputCacheAttribute

parametry 134passwordFormat 156protection 155Range 54 66RangeAttribute 58redirectMode 173RegularExpressionAttribute 58Required 54 66RequiredAttribute 58RequireHttps 135requireSSL 155slidingExpiration 155StringLength 66StringLengthAttribute 58TestClass 29TestMethod 29ticketCompatibilityMode 155timeout 155TimestampAttribute 58UpdateTargetId 95

Url 95ValidateInput 185

atrybuty modeluwyra enia regularne 84

Attribute 347authentication ticket 151auto post back 217autocomplete textbox 115automatyczne uzupe nienie pola tekstowego 115autoryzacja 149 157

adresoacutew URL 157konfiguracja 157

grupy u ytkownikoacutew 158mechanizm filtrowania 158otwarta 460plikoacutew 157zdalna

powi zanie z portalem Facebook 461Azure 496

Bbazy danych 40 237

aktualizacja 41lista rekordoacutew 301Northwind 240

detale produktu 352dodawanie po cze 350pobieranie produktoacutew 351

po czenie ze roacuted em danych 241relacyjne 237schemat CRUD 301transakcje 319tworzenie 321

nowego rekordu 48schematu na bazie modelu encji 357

usuwanie danych 290regu y integralno ci 293

usuwanie powi zanych wierszyrekordy potomne 291

warstwa dost pu 42bezpiecze stwo

aplikacji internetowych 147ataki 147mechanizmy 149

biblioteka NETprogramowanie asynchroniczne 464

biblioteka skryptoacutewMapajs 32

bilet uwierzytelniaj cy 151b dy

dzia ania aplikacji 171strona b du 176tworzenie u ytkownika 202wprowadzenie z ego rekordu 268

Kup książkę Poleć książkę

Skorowidz 529

body 383buforowanie

danych ze roacutede zewn trznych 133bundling 475Business Intelligence 368

Ccallback 35CAS 151 338CDN 113Central Authentication Service 151centralna us uga uwierzytelnienia 151certyfikat 337CLR

procesy systemowe 466Code Access Security 338Confirm 96connString 341controllers 16Coordinated Universal Time 155Create Read Update Delete 301cross-site scripting 181CRUD 54 301Crystal Reports 368

Ddane

agregacja 378bezpo redni dost p do roacuted a 346eksport 413

do dokumentu tekstowego 419do PDF 420skoroszyt MS Excel 421tabele dynamiczne 418

integralno 288 319pomini cie sprawdzania 292regu y 291

modyfikacja 249platforma modelowania 347prezentacja

graficzna 406w postaci macierzowej 390

przekazywaniez formularza do roacuted a 46z kontrolera do widoku 437 439

serializacja i transfer struktur 117szyfrowanie 337typu

ActionResult 25walidacja 53weryfikacja 53wi zy integralno ci 306

wy wietlanie 315zabezpieczenie 338

Data Binding 389Data Definition Language 345Database Management System 237DBMS 237

wi zy integralno ci 238DDL 345denial of service 147detail 315Development Server 504DIE 53DisplayFormatAttribute 58document object model 92DOM 92domena aplikacji 339 466

instancja obiektoacutew 341tworzenie 339wspoacute dzielenie obiektu 341

dostawcy us ug 178dost p anonimowy 150DotNetOpenAuth 149DPAPI 187DRY 53dyrektywa

model 46

Eelement

customErrors 173success 115

elevation of privilege 147encapsulation 107encja 347

atrybuty 54bazodanowa 54KategoriaProduktu 358odwzorowanie w bazie danych 360Order_Details 362Orders 361Products 361Produkt 358

Entity 347Entity Framework 43 347

POCO 360potwierdzenie explicite 356technologie 349wersje 347

Entity Relationship Model 347Entity SQL 349ERM 347Event-based Asynchronous Pattern 465event-driven programming 17

Kup książkę Poleć książkę

530 ASPNET MVC

FFile Transfer Protocol 495filtry 127

akcji 127 139autoryzacyjne 127 144dynamiczne 395kolejno wykonywania 137

priorytety 138Log

metody 141LogAttribute

definicja klasy 140podstawowe atrybuty 128statyczne 395w asne 139wyj tkoacutew 128 144

niestandardowe 145wyniku 128 144

for 434foreach 51Forms Authentication Provider 149formularz

MasterDetail 315z podformularzem 315

funkcjadelay 217ListaPracownikoacutew 57Mid 390RolesIsUserInRole 217Today 390wyznaczaj ca tras 109zmienPrzynaleznoscDoGrupy 217 218

GGauge 383 403GDI 368graficzny interfejs u ytkownika 17 30Graphics Device Interface 368GridView 48grupy u ytkownikoacutew

autoryzacja 158GUI 17

Hhard-coding 167haszowanie 150helper methods 25html helper 455

Iidentyfikator

klienta 315rekordoacutew 315

IIS 121 149 495instalacja

ASPNET 445 498serwera w Windows 7 496serwera w Windows 8 496

mened er Windows 499uruchamianie aplikacji 503

serwer do rozwoju aplikacji 504information disclosure 147instancje aplikacji 465instancjonowanie modelu 39IntelliSense 247interfejs u ytkownika

przycisk umo liwiaj cy dodanie pracownika294

przycisk usuni cia wybranego rekordu 289Internet Information Services 121internetowe us ugi informacyjne 495in ynieria spo eczna 148Isolation Level 332izolacja 339 466

JJavaScript Object Notation 117jQM 457jQuery

autocomplete 116pliki roacuted owe 113

jQuery Mobile 457jQuery UI 367

wykorzystanie przyciskoacutew 284JSON 117

obiekt typu adres 118

KKey Performance Indicators 403klasa

AccountController 198ActionExecutingContext 143AdminController 212Ajax 94AjaxOptions 94

atrybuty 95AspNetHidden 442AssemblyName 170Assert 29

Kup książkę Poleć książkę

Skorowidz 531

AuthConfig 461BundleConfig 475Configuration 170ConfigurationManager 170ConfigurationSection 187 188ConnectionStringBuilder 345DpapiProtectedConfigurationProvider 187FiltryRaportuMacierzowego 397Form1 484FormsAuthentication 152Global 430HandleErrorInfo 133HtmlHelper 437HttpClient 483 486HttpResponseMessage 486kontekstu 362LogOnModel 198MarshallByRefObject 341Membership 152 198 211MvcApplication 430NorthwindContext 362ObjectContext 348ObjectQueryltTgt 348Order_Details 362Orders 361Osoba 228ParametryWatku 470Pracownik 484Products 361Produkt 230Raport 392RequestBrowser 460ResultExecutedContext 144ResultExecutingContext 144Roles 211RsaProtectedConfigurationProvider 187SQLConnCAS

definicja 340stowarzyszona z modelem 69SystemNetHttpFormattingJsonMediaTypeF

ormatter 491SystemTextRegularExpressions 74SystemWebSecurityRoles 159Task 465 472testuj ca 29Thread 465 469TransactionScope 327UrlRoutingModule 121ViewData 434 436 439WebApiConfig 478WebConfigurationManager 170Wpisy 427 436

klucze 237MAC 155obce 238podstawowe 238

kluczowe wska niki efektywno ci 403dynamiczna zmiana warto ci 404

Knockout 227wykorzystanie szablonoacutew JavaScript 230wywo anie skryptu 229

kodowanie danychprzekazywanych przez u ytkownikoacutew 186

komponentFormDanePracownika 489obiektu

PartialView 99typu ListBox 99

ReportViewer 368 375eksport danych 413nawigacja mi dzy stronami raportu 377

komponenty u ytkownika 30komunikaty o b dach 171

kod statusowy 174 175koncepcja programowania zdarzeniowego 16konfiguracja

po czenia z baz danych 241uprawnie puli aplikacji 454walidacji danych 66

konkurencyjno aplikacji 332kontekst wi zania 389kontrola wprowadzanych danych 263

metoda onColumnChanged 269wstrzymanie walidacji wiersza 267zako czenie edycji rekordu 267

wymuszenie 267kontroler 16 25

AccountController 195Admin 223AdminController 212aplikacja Kardy 63asynchroniczny 466

a zadania 472dane wyj ciowe 25domeny 150ErrorController 174Glosowania 103Home 182 224 228 231

Bezpiecze stwo 336filtr wyj tku 131

HomeController 184EksportDanych 415Northwind 245

interfejs Web API 477KsiegaGosciController 424

Kup książkę Poleć książkę

532 ASPNET MVC

kontrolerLista 93Mapa 33

autouzupe nianie 117modyfikacja 45

niedost pne metody publiczne 136obs uga POST 431panelu administracyjnego 212

zarz dzanie grupami u ytkownikoacutew 220Pracownicy 57 64PracownicyController

implementacja 481Produkty 351projektowanie 27przekazywanie danych do widoku

zmiany 439uwierzytelnienia 195

klasa 198model 196widoki 203

uzupe nienie o widok 31u ycie modelu odsy anego przez widok 440ValuesController 478weryfikacja funkcjonalno ci 28wi zanie adresu URL z akcj 430widoki 58

konwersja obrazu 278kreator

Add New Item 242Add View 59 302Application 162blokowania szczegoacute oacutew b doacutew 172dodanie u ytkownikoacutew 164grup u ytkownikoacutew 165Provider 162Publish Web 501Security 162tworzenia pracownika 59ustawie aplikacji 167widokoacutew 60wyboacuter dostawcoacutew us ug 178

kwerendy parametryczne 274 401

Llayout witryny 30LINQ

to Entities 349lista rekordoacutew 301

prezentacja 304logika

aplikacji 30bazodanowa 30biznesowa 44

a cuch QueryString 26

Mmaster 315mechanizm

automatycznych w a ciwo ci 57autoryzacji 157eksportu danych 413filtroacutew 127grupowania plikoacutew 475IntelliSense 119QuerynotString 117szyfruj cy 187transakcji 319 321

przelewy bankowe 326wyznaczania trasy przejzdu 34

meotdaInsert 299ProtectSection 191WersjonowanieDataRow

definicja widoku 265message authentication code 155metoda

on 262HtmlValidationSummary 204About 124AcceptChanges 255 263ActionLinkActionLink 61 63 353AddUserToRole 159akcji 25

parametry opcjonalne 27aktualizacja statystyk ankiety 105AktualizujZdjeciePracownika 288Application_AuthenticateRequest 108Application_BeginRequest 107 108Application_End 108Application_EndRequest 107Application_Error 108 172Application_Start 108 123 139 430asynchroniczna kontrolera 472AttachTo 356Authenticate 152AutoUzupelnienie 117

zapytanie LINQ 118BeginEdit 267BeginForm 47 94BeginTransaction 326 332CancelEdit 263ChangeObjectState 356

Kup książkę Poleć książkę

Skorowidz 533

ChangePassword 200hiper cze 208widok 206

ChangePasswordSuccesswidok 206

CreateNazwaEncji 354CreateRole 159CreateUser 153czyBazaDanychIstnieje 326daneDostawcyForm 262DBeginnotEdit 263Delete 270DeleteObject 357DeleteRole 159DeleteUser 153DeszyfrujPlikKonfiguracyjny 191DodajDostawce 255DodajElementDoListy 94 97 101DodajGrupe 223DodajKomentarz 185DodajPracownika 299 491DopiszDoPlikuLog 430Edit 356EdytujDaneDostawcy 261EdytujDanePracownika 493Eksportuj 418EmptyResult 26EndEdit 263EndForm 47ErrorCodeToString 201Fill 246FillByCityName 275FormatDateTime 390FormsAuthenticationSetCookie 199GenerujDane 468Get(int id) 478GetAllRoles 159GetAsync 486GetChildRecords 291GetSection 170GetSectionGroup 170GetUser 153GetUsersInRole 160globalna

aplikacji ASPNET 108Grupy 223HasVersion 263HtmlListBox 97HtmlRenderPartial 101HtmlValidationSummary 61HtmlHelperLabel 437ImiePierwszegoPracownika 246 247Include 475Index 47 79 97 101

kontrolera Mapa 34testowanie 28

IsAjaxRequest 101IsMatch 76IsNotNull 29IsUserInRole 159Label 35ListaDostawcow 252 255ListaPracownikow 248

hiper cze skojarzone 249LogOff 198LogOn 198Macierzowy 397mapowalna 26MetodaAsynchronicznaWatki 472ModelStateAddModelError 199MvcApplicationRegisterRoutes 430obs uga zapyta POST 431odczyt aktualnych bilansoacutew kont 323OdczytajStanyKont 326OnActionExecuted 143OnActionExecuting 127 143onColumnChanged 269OnResultExecuted 144OnResultExecuting 144onRowChanged 266onRowChanging 268OpenConfiguration 170otwarcie po czenia z baz danych 341OtworzPlikDanych 107Page_Load 399PartialViewResult 26PobierzDane 394

modyfikacja 401PobierzPlikLogu 141 143PobierzZdjecie 278PokazTrasy 51PokazWyniki 107pomocnicza 25 455

HtmlEncode 51wykorzystanie 456

PostAsJsonAsync 486PostAsXmlAsync 486PostAsync 486PostResolveRequestCache 121PracownicyWedlugMiast

przechowywanie warto ci filtru 285PutAsJsonAsync 493PutAsXmlAsync 493PutAsync 493ReadAsAsync 486ReadXml 107ReadXmlSchema 107RedirectFromLoginPage 152

Kup książkę Poleć książkę

534 ASPNET MVC

metodaRedirectResult 26RedirectToAction 26RedirectToLoginPage 152RedirectToRoute 26RedirectToRouteResult 26RefreshReport 384Register 199 478RegisterAuth 461 462RegisterBundles 475RegisterGlobalFilters 171RegisterRoutes 94 123RejectChanges 256 263rejestrowanie zdarze aplikacji 430RemoveUserFromRole 160Render 384 413 418RenderPartial 99ResponseWrite 223ResultExecuteResult 143RoleExists 159RolesIsUserInRole 216RolesRemoveUsersFromRole 223route 35RowsAdd 255RozpocznijEdycje 269

hiper cze uruchamiaj ce 267SaveChanges 354ScaffoldingMasterDetail 317Session_End 108Session_Start 108SetAuthCookie 152SetParameters 401 405SignOut 152SprawdzDopasowania 79SprawdzPoprawnoscDatyZatrudnienia 67SqlPermissionAdd 343SqlTransactionCommit 326SqlTransactionRollback 326StronaNieIstnieje 175submit 115SzyfrowaniePlikuKonfiguracyjnego 190szyfruj ca i deszyfruj ca 189SzyfrujPlikKonfiguracyjny 191TextBox 35ThreadSleep 469 472TransactionScopeComplete 329Transfer 36UpdateUser 153UstawParametryRaportu 399UsunGrupe 223UsunTrase 50 51UtworzPracownika 64Uzytkownicy 216ValidateUser 152 153

ValidationMessage 437ValidationMessageFor 61ValidationSummary 437ViewResult 26WebApiConfigRegister 478WersjonowanieDataRow 265

sparametryzowanie 266WpisyZapiszDoPlikuXml 430wykonywanie przelewoacutew 323WyswietlLog 141 142 143wyswietlMape 34 35WyswietlTrase 50

modyfikacja 135 166wyznaczTrase 35ZaktualizujWyniki 107Zapami tajNazw U ytkownika 432ZmienStanKont 328

Microsoft SQL Server 319sposoby uwierzytelnienia 344

MIME type 390minification 476minimalizacja 476model 16 39

APM 464ChangePasswordModel 196EAP 465integracja z elementami aplikacji 39LogOnModel 196obs uga plikoacutew XML 427przesy anie z kontrolera do widoku 432 435RegisterModel 196TAP 465

model binding 48model danych encji 348

dodawanie encji 353edycja encji 355kreator 348 349

czenie encji 359metody akcji 354opcje 361projektowanie relacji 43tworzenie 349

schematu bazy danych 357usuwanie encji 357wyboacuter tabel 350

model first 52model zwi zkoacutew encji 347models 16Model-View-Controller 15Model-View-ViewModel 227Model-Widok-Kontroler 15modu

UrlAuthorizationModule 157

Kup książkę Poleć książkę

Skorowidz 535

MVC 15a Web Forms 16 365 367 423

kod 442serwer internetowych us ug

informacyjnych 495wydajno 443wykorzystanie w projektach 444

ataki XSS 185autoryzacja 158 162bezpiecze stwo aplikacji 152buforowanie 134domy lne wzorce aplikacji 21kreator aplikacji 20mechanizm filtrowania 127Model Binder 355nazwa kontrolera 27obs uga interakcji klient-serwer 121parametry opcjonalne 27pobieranie parametru z adresu URL 26projektowanie aplikacji 18 52przetwarzanie dania aplikacji klienckiej 18sprawdzanie poprawno ci danych 68struktura modelu 39techniki walidacji danych 53utworzenie widoku 30uzupe nianie o komponenty graficzne 367walidacja 438wersja 4 449wyboacuter mechanizmu przetwarzaj cego widoki 21wzorce URL 122zbioacuter modeli szablonu aplikacji 196roacuted o danych 40

MVC4 449grupowanie i optymalizacja skryptoacutew 475kaskadowe arkuszye stylu 475przetwarzanie asynchroniczne 464przystosowanie do urz dze mobillnych 457testowanie aplikacji 457uwierzytelnianie 460

integracja z portalem Facebook 462wsparcie dla urz dze mobilnych 450zdalna autoryzacja 461

MVVM 227

Nnarz dzie

aspnet_regiis 187przetwarzanie tekstu 73

Northwindinstalacja 240kwerenda wybieraj ca 240pobieranie informacji o dostawcach 251

NuGET 483nullable-types 27

OOAuth 461obiekt

AppDomain 339 341Chart 406Command 239Connection 239 241

w a ciwo i 243ConnectionString 343

sposoby uwierzytelniania 344szyfrowanie informacji 335

DataAdapter 239DataGridView 491DataReader 239 273DataRow 255

kontrola wprowadzonych danych 263usuwanie rekordoacutew 270wersje 263wersja proponowana 265wersjonowanie 263w a ciwo ci 255

DataSet 239 244 345edycja rekordoacutew 257kreator konfiguracji TableAdapter 274modyfikacja danych 249tworzenie nowych rekordoacutew 250usuwanie rekordoacutew 271wstawianie rekordoacutew 251wymuszenie wi zoacutew integralno ci 292

DataTable 107DirectionsService 35dostawca 153FormCollection 47jqXHR 218List 389logiki biznesowej 348materializacja 348Matrix 390Membership 152MvcRouteHandler 121 122o okre lonym typie danych 244o silnej typizacji 244o s abej typizacji 247ObjectStateManager 348PartialView 98ReportViewer 368ReportViewerLocalReport 418Request 26 101 432Response 26Route 122ShippersRow 255SqlConnCAS 341SqlConnection 326

Kup książkę Poleć książkę

536 ASPNET MVC

obiektTableAdapter 239 244 273 274 345

edycja danych 279 286wstawianie danych 294

TransactionScope 329parametryzacja 331

typuadres 118AppDomain 466ConcurrentDictionary 479NorthwindDataSet 247ObjectSetltTgt 348Route 121Thread 466

UrlRoutingModule 121ViewBag 36

przekazywanie danych do widoku WebForms 376

ViewData 36 79 432Object Relational Mapping 347Object Services 348obs uga b doacutew

konfiguracja 132w czenie 129

odrzucenie informacji o transakcji 148od wie anie witryny

a fragment widoku 97aktualizacja zawarto ci 113cz ciowe 96

OnSuccess 96operator

await 474konkatenacji 382Top 411Top N 411

ORM 347

Pparametr

CountryName 401data 115filtr 117mapDivId 35maxIloscRekordow 117Order 137raportu 395scopeTimeOut 330

warto ci 330TransactionScopeOption

warto ci 329type 115

parametryzacja kwerend 274partial view 30

piaskownica 341Plain Old CLR Object 360platforma NET

us ugi uwierzytelniania 153plik

ascx 22aspx 22bmp 390cookie 151cookies 154 155cshtml 22 434css 475edmx 360jpg 390js 475konfiguracyjny

zabezpieczenie 187master 22png 390rdl 368rdlc 368tekstowy

wy wietlenie w przegl darce 143vbhtml 22

POCO 360pola klucza 237polecenie

HtmlEncode 187ScriptsRender 476StylesRender 476GET 18POST 18

po czenieze roacuted em danych 241

pomocnik HTML 455Portable Document Format 413po rednik 341poziom izolacji 332

Chaos 333konfiguracja 332ReadCommitted 333ReadUncommitted 333Serializable 333Snapshot 333Unspecified 333

poziom zaufania 339ograniczenie 340

proceduraajax 115AjaxBeginForm 96niemapowalna 26PartialView 26serialize 115

Kup książkę Poleć książkę

Skorowidz 537

proces 465programowanie

oparte na zdarzeniach 17zdarzeniowe 17

projekt aplikacji MVCankieta 102asynchroniczne przetwarzanie da HTTP 92Bezpiecze stwo 181 336

nawi zanie komunikacji ze roacuted emdanych 342

szyfrowanie pliku konfiguracyjnego 191dodawanie i wy wietlanie komentarzy 183domy lny 20EksportDanych 413Filtry 131formularz oceny 107Kadry

walidacja adresu e-mail 84Kardy 55KsiegaGosci_MVC3 424lista prezentuj ca dodawane elementy 97MojaNawigacja 18

blokowanie samodzielnego tworzeniakont 224

buforowanie danych 135implementacja warstwy dost pu 42instalacja na serwerze IIS 500komunikat powitalny 168komunikaty 110komunikaty o b dach 173mechanizm podpowiedzi 115model weryfikuj cy po wiadczenia

u ytkownikoacutew 196modele kontrolera uwierzytelnienia 196od wie enie widoku mapy 109struktura 21szablon 19szablon witryny 225trasowanie da HTTP 123uzupe nienie o baz danych 40uzupe nienie o walidacj danych 69widok b du 175zablokowanie nieautoryzowanego

dost pu 128zarz dzanie u ytkownikami 163zarz dzanie grupami u ytkownikoacutew 212zarz dzanie procesem logowania 198

MsAjax 92NorthwindMVC 241

lista rekordoacutew 301szablon witryny 250

POCO 361priorytety regu filtrowania 137

Raport 368szablon

mechanizmy uwierzytelnienia 156zarz dzanie grupami u ytkownikoacutew 159

Transakcje 319aktualizacja danych 328formularz aktualizacji 328szablon stron 320

uzupe nianie widokiem GridView 49WyrazeniaRegularne 76Zapytania_EF 349

projekt aplikacji MVC4AsynchronicznyKontroler 466

prezentacja danych 468AutoryzacjaOAuth 461implementacja serwisu sieciowego 479konfiguracja grupowania 475MobileMvc 450

testowanie 457pobranie zdj cia 452przygotowanie listy pracownikoacutew 452SerwisSieciowy 477

projekt aplikacji Windows Formsedycja danych 487KlientWebAPI 483tworzenie nowych pracownikoacutew 486

dania typuDELETE 493POST 486PUT 491

projektowaniekontrolera 27widoku 31

protokoacuteFTP 495Kerberos 150NTLM 150SMTP 495SSL 337

proxy 341przechowywanie

informacji o trasach 44wynikoacutew g osowania 107

przeci enie aplikacji 147przekazywanie

danych 44mi dzy widokiem a kontrolerem 36

parametroacutew do metod akcji kontrolera 26przestrze nazw

SystemThreading 465przyjazne linki 122publikowanie aplikacji 495 500

na serwerze IIS 497

Kup książkę Poleć książkę

538 ASPNET MVC

pule aplikacji 465 497konfiguracja 498Windows 7 499Windows 8 500

Rraporty

dane w postaci macierzowej 390data 386definicja

dynamiczna 418filtrowanie danych 394

na poziomie roacuted a 401 418filtry 395formaty prezentacji danych 379grupowanie danych 381hiper cza 387

nawigacyjne 376kolumny obliczeniowe 378konfiguracja

filtrowania dynamicznego 396typu 392roacuted a danych 368

kreator formu 382macierzowe 391numery stron 386obrazy 390parametry 383 394

konfiguracja 399paski narz dziowe 379pola

bazy danych 386formularza 398raportu 390

po czenie z aplikacj 368prezentowanie uk adu graficznego 383projektowanie 371

i prezentowanie 368przystosowanie strony do obs ugi raportoacutew

387renderowanie 368tryby definicji 368tworzenie

definicji lokalnej 368formu 378przy u yciu kreatora 372

uk ad 383wstawianie nag oacutewka i stopki 385wykresy 406wy wietlenie 375

Razor 21 30przetwarzanie definicji widoku 208

RDL 418rekordy

edycja 307lista 301tworzenie 311usuwanie 305

Relationship 347Report Definition Language 418Report Wizard 371repudiation 148request 442response 442responsywno 464rollback transaction 319routing 22 430routowanie 121

SSandBox 341scaffolding 301Secure Socket Layer 337sekcja

membership 178roleManager 179set 441

serwerSMTP

konfiguracja 171us ug informacyjnych 149

weryfikacja to samo ci u ytkownika 149Simple Mail Transfer Protocol 495s owo kluczowe

helper 455await 474using 47 329

spaghetti code 18spoofing 147SQL Server Reporting Services 367SSRS 367stan pola

typu CheckBox 269pobieranie 264

STRIDE 148strona startowa

MojaNawigacja 226strona wzorcowa 30

aplikacji Kadry 55referencja do bibliotek skryptoacutew 70

systemowy serwer us ug informacyjnych 121szyfrowanie po czenia 335

ze roacuted em danych 336

Kup książkę Poleć książkę

Skorowidz 539

Ttabela danych

Categories 418Customers 305deklaracje kaskadowych arkuszy stylu 275edycja

danych 279danych w wierszu 257rekordoacutew 307 310

Employees 240 288filtrowanie listy 275integralno danych 288Konta 321 326kwerenda wybieraj ca 240Orders 291 315OrdersDetails 307pobieranie fotografii 276pobranie danych z wykorzystaniem JScript 280prezentacja

danych 277 325informacji 252listy danych 248pierwszego rekordu 246rekordoacutew 317

przekazanie do widoku 248Shippers 251tworzenie rekordoacutew 311umieszczenie w bazie danych 321uruchomienie edycji danych 258usuwanie

danych 288rekordoacutew 271 305 306

widok b du 268wstawianie

danych 294rekordoacutew 251

wy wietlenie listykonfiguracja hiper cza 315

zako czenie edycji rekordu 267tablica asocjacyjna 479tablica bajtoacutew

konwersja do bitmapy 277tampering 147task pane 371Task-based Asynchronous Pattern 465TDD 15

test jednostkowy funkcjonalno ci kontrolera28

Test-Driven Development 15testowanie

aplikacji 29wzorcoacutew wyra e regularnych 76 78

Toolbox 274

transakcje 319automatyczne zarz dzanie 327otaczaj ce 329poziom izolacji 332tworzenie i r czna kontrola 319

trasowanie 121aplikacja 430blokowanie dost pu 124domy lne regu y 123Ksi gaGosci_MVC3 430w asne regu y 124

trasowanie adresoacutew URL 121T-SQL 319

czynno ci bazodanowe 345tworzenie

bazy danych 40interfejsu u ytkownika

jQM 459szablony 231wzorzec MVVM 227

u ytkownika 200kody b doacutew 201

widoku Index 231wzorcoacutew wyra e regularnych 76

typed DataSet 244typizacja

silna 46s aba 46

typy puste 27

Uujawnienie krytycznych informacji 147ukryte pola 441Uniform Resource Locator 18URL 18uruchomienie aplikacji 503us uga

AspNetSqlProvider 178ustawienia aplikacji 167

odczytanie z pliku konfiguracyjnego 169UTC 155uwierzytelnienie 149

centralny serwis 151certyfikaty 150formularze logowania 151

atrybuty elementu forms 154konfiguracja 153mechanizmy zintegrowane z ASPNET 149na bazie protoko u NTLM 150przekazywanie informacji 151proste 150skroacutecone 150us ugi systemu Windows 150

Kup książkę Poleć książkę

540 ASPNET MVC

Vvariable placeholders 122view engine 21views 16viewstate 442Visual Studio

kreator projektu 19Visual Studio Development Server 496VS 2012

instalacja 240kreator Add New Item 242

VSDS 496

Wwalidacja

adresue-mail 83URL 83WWW 84

danych 53a technologia Entity Framework 68konfiguracja 66modelu Pracownik 66odwo anenie do jQuery 61po stronie klienta 67wyra enia regularne 73

skrypty i style walidatoroacutew 438w asno ci klasy encji 435

w tek 465Web API 477

edycja danych 491klient 483konfiguracja interfejsu 478obs uga da typu POST 486pobranie danych z serwera 485serwis sieciowy 479usuwanie danych 493

web serwer 495Web Site Administration Tool 161

konfigurowanie uprawnie 165zarz dzanie

dostawcami us ug 178u ytkownikami 163

WebForms 17bezpiecze stwo aplikacji 152integracja komponentoacutew z MVC 367kontrolka Repeater 434obs uga wyj tkoacutew 172przetwarzanie dania aplikacji klienckiej 18separacja modelu 427weryfikacja poprawno ci projektu 434

weryfikacjakodu pocztowego 81to samo ci 151

widok 16 25 30aplikacji

MVC4 453przystosowanie do urz dze mobilnych

459Transakcje 326

cz ciowy 30dodawanie 31edycji klienta 307elementy 31formularz

dodawania wpisu 425logowania 203

kontroleraaplikacja Kadry 58panelu administracyjnego 222

kontrolera AdminController 213kontrolera Dopasowania 77kontrolera ErrorControler 174kontrolera Glosowania 103kontrolera Home 131 169 182 307

metodaWyswietlLog 142Raport 375Transakcje 320

kontrolera HomeController 246AsynchronicznyKontroler 468EksportDanych 417

kontrolera Lista 93kontrolera Mapa 33 34

formularz 70Trasa 50

kreatorakonta u ytkownika 205zmiany has a 206

listyklientoacutew 302pracownikoacutew 61wyznaczonych tras 48zamoacutewie 316

mapyod wie enie 108parametryzacja 34

mechanizm przetwarzania 30modyfikowanie formularza 437obs uga wyj tkoacutew 130Pracownicycshtml 453projektowanie 31transfer danych do kontrolera 36typu CRUD 52

Kup książkę Poleć książkę

Skorowidz 541

typu GridViewimplementacja 48

typy plikoacutew 30utworzenie 30uzupe nianie tre ci 33walidacja 435wi zanie z modelem 437wstawianie rekordoacutew 312wynikoacutew ankiety 105wy wietlanie wpisoacutew 432

wielodziedziczenie 360Windows Authentication Provider 149Windows Data Protection API 187Windows Forms

implementacja klienta 483Windows Live ID 149w a ciwo

ConnectionString 243IsMobileDevice 460ModelStateIsValid 47

wstawianie rekordoacutew 299wstrzykni cie kodu 181 185wykresy 406

konfiguracjaserii danych 407typu 407

pobranie danych roacuted owych 408wy czenie aplikacji 171wyra enia lambda 46wyra enia regularne 73

atrybuty modelu 84liczba wyst pie sk adnikoacutew 76wzorzec

adres URL 83imi e skie 81kod pocztowy 80tworzenie 76

znaki i cyfry 74znaki specjalne 74znaki w wyznaczonych miejscach a cucha 75

wzorzecodnajdywanie

znakoacutew i cyfr 74znakoacutew specjalnych 74znakoacutew w wyznaczonych miejscach

a cucha 75okre lanie

liczby wyst pie znakoacutew 76

XXSS 181

Zzabezpieczenia

aplikacji bazodanowych 335ataki XSS 187informacje o b dach 171kodu po redniego 338konfiguracja 161konfiguracja aplikacji

kreatory 162obs uga wyj tkoacutew 171pliku konfiguracyjnego 167 187przed atakami 148ustawienia aplikacji 167witryny 181zarz dzanie dostawcami us ug 178z o liwy kod 181

zarz dzanieu ytkownikami i grupami 211

dost p do panelu administracyjnego 216lista grup 221podzia na grupy 220pobieranie listy 213tworzenie nowej grupy 222zmiana przynale no ci do grupy 215

z o ono ci aplikacji 16zdarzenie

DataGridViewCellDoubleClick 491rejestrowanie 430

z o liwy koddzia anie 181

znacznikinput 288

znaki specjalneodnajdywanie 74

zwi zanie z modelem 48zwi zek 347

danie 25asynchroniczna obs uga 92 466 470

skrypty 318zadania 473

GET 64POST 64przetwarzanie 127zablokowanie obs ugi 124

Kup książkę Poleć książkę

Notatki

Kup książkę Poleć książkę

Skorowidz 529

body 383buforowanie

danych ze roacutede zewn trznych 133bundling 475Business Intelligence 368

Ccallback 35CAS 151 338CDN 113Central Authentication Service 151centralna us uga uwierzytelnienia 151certyfikat 337CLR

procesy systemowe 466Code Access Security 338Confirm 96connString 341controllers 16Coordinated Universal Time 155Create Read Update Delete 301cross-site scripting 181CRUD 54 301Crystal Reports 368

Ddane

agregacja 378bezpo redni dost p do roacuted a 346eksport 413

do dokumentu tekstowego 419do PDF 420skoroszyt MS Excel 421tabele dynamiczne 418

integralno 288 319pomini cie sprawdzania 292regu y 291

modyfikacja 249platforma modelowania 347prezentacja

graficzna 406w postaci macierzowej 390

przekazywaniez formularza do roacuted a 46z kontrolera do widoku 437 439

serializacja i transfer struktur 117szyfrowanie 337typu

ActionResult 25walidacja 53weryfikacja 53wi zy integralno ci 306

wy wietlanie 315zabezpieczenie 338

Data Binding 389Data Definition Language 345Database Management System 237DBMS 237

wi zy integralno ci 238DDL 345denial of service 147detail 315Development Server 504DIE 53DisplayFormatAttribute 58document object model 92DOM 92domena aplikacji 339 466

instancja obiektoacutew 341tworzenie 339wspoacute dzielenie obiektu 341

dostawcy us ug 178dost p anonimowy 150DotNetOpenAuth 149DPAPI 187DRY 53dyrektywa

model 46

Eelement

customErrors 173success 115

elevation of privilege 147encapsulation 107encja 347

atrybuty 54bazodanowa 54KategoriaProduktu 358odwzorowanie w bazie danych 360Order_Details 362Orders 361Products 361Produkt 358

Entity 347Entity Framework 43 347

POCO 360potwierdzenie explicite 356technologie 349wersje 347

Entity Relationship Model 347Entity SQL 349ERM 347Event-based Asynchronous Pattern 465event-driven programming 17

Kup książkę Poleć książkę

530 ASPNET MVC

FFile Transfer Protocol 495filtry 127

akcji 127 139autoryzacyjne 127 144dynamiczne 395kolejno wykonywania 137

priorytety 138Log

metody 141LogAttribute

definicja klasy 140podstawowe atrybuty 128statyczne 395w asne 139wyj tkoacutew 128 144

niestandardowe 145wyniku 128 144

for 434foreach 51Forms Authentication Provider 149formularz

MasterDetail 315z podformularzem 315

funkcjadelay 217ListaPracownikoacutew 57Mid 390RolesIsUserInRole 217Today 390wyznaczaj ca tras 109zmienPrzynaleznoscDoGrupy 217 218

GGauge 383 403GDI 368graficzny interfejs u ytkownika 17 30Graphics Device Interface 368GridView 48grupy u ytkownikoacutew

autoryzacja 158GUI 17

Hhard-coding 167haszowanie 150helper methods 25html helper 455

Iidentyfikator

klienta 315rekordoacutew 315

IIS 121 149 495instalacja

ASPNET 445 498serwera w Windows 7 496serwera w Windows 8 496

mened er Windows 499uruchamianie aplikacji 503

serwer do rozwoju aplikacji 504information disclosure 147instancje aplikacji 465instancjonowanie modelu 39IntelliSense 247interfejs u ytkownika

przycisk umo liwiaj cy dodanie pracownika294

przycisk usuni cia wybranego rekordu 289Internet Information Services 121internetowe us ugi informacyjne 495in ynieria spo eczna 148Isolation Level 332izolacja 339 466

JJavaScript Object Notation 117jQM 457jQuery

autocomplete 116pliki roacuted owe 113

jQuery Mobile 457jQuery UI 367

wykorzystanie przyciskoacutew 284JSON 117

obiekt typu adres 118

KKey Performance Indicators 403klasa

AccountController 198ActionExecutingContext 143AdminController 212Ajax 94AjaxOptions 94

atrybuty 95AspNetHidden 442AssemblyName 170Assert 29

Kup książkę Poleć książkę

Skorowidz 531

AuthConfig 461BundleConfig 475Configuration 170ConfigurationManager 170ConfigurationSection 187 188ConnectionStringBuilder 345DpapiProtectedConfigurationProvider 187FiltryRaportuMacierzowego 397Form1 484FormsAuthentication 152Global 430HandleErrorInfo 133HtmlHelper 437HttpClient 483 486HttpResponseMessage 486kontekstu 362LogOnModel 198MarshallByRefObject 341Membership 152 198 211MvcApplication 430NorthwindContext 362ObjectContext 348ObjectQueryltTgt 348Order_Details 362Orders 361Osoba 228ParametryWatku 470Pracownik 484Products 361Produkt 230Raport 392RequestBrowser 460ResultExecutedContext 144ResultExecutingContext 144Roles 211RsaProtectedConfigurationProvider 187SQLConnCAS

definicja 340stowarzyszona z modelem 69SystemNetHttpFormattingJsonMediaTypeF

ormatter 491SystemTextRegularExpressions 74SystemWebSecurityRoles 159Task 465 472testuj ca 29Thread 465 469TransactionScope 327UrlRoutingModule 121ViewData 434 436 439WebApiConfig 478WebConfigurationManager 170Wpisy 427 436

klucze 237MAC 155obce 238podstawowe 238

kluczowe wska niki efektywno ci 403dynamiczna zmiana warto ci 404

Knockout 227wykorzystanie szablonoacutew JavaScript 230wywo anie skryptu 229

kodowanie danychprzekazywanych przez u ytkownikoacutew 186

komponentFormDanePracownika 489obiektu

PartialView 99typu ListBox 99

ReportViewer 368 375eksport danych 413nawigacja mi dzy stronami raportu 377

komponenty u ytkownika 30komunikaty o b dach 171

kod statusowy 174 175koncepcja programowania zdarzeniowego 16konfiguracja

po czenia z baz danych 241uprawnie puli aplikacji 454walidacji danych 66

konkurencyjno aplikacji 332kontekst wi zania 389kontrola wprowadzanych danych 263

metoda onColumnChanged 269wstrzymanie walidacji wiersza 267zako czenie edycji rekordu 267

wymuszenie 267kontroler 16 25

AccountController 195Admin 223AdminController 212aplikacja Kardy 63asynchroniczny 466

a zadania 472dane wyj ciowe 25domeny 150ErrorController 174Glosowania 103Home 182 224 228 231

Bezpiecze stwo 336filtr wyj tku 131

HomeController 184EksportDanych 415Northwind 245

interfejs Web API 477KsiegaGosciController 424

Kup książkę Poleć książkę

532 ASPNET MVC

kontrolerLista 93Mapa 33

autouzupe nianie 117modyfikacja 45

niedost pne metody publiczne 136obs uga POST 431panelu administracyjnego 212

zarz dzanie grupami u ytkownikoacutew 220Pracownicy 57 64PracownicyController

implementacja 481Produkty 351projektowanie 27przekazywanie danych do widoku

zmiany 439uwierzytelnienia 195

klasa 198model 196widoki 203

uzupe nienie o widok 31u ycie modelu odsy anego przez widok 440ValuesController 478weryfikacja funkcjonalno ci 28wi zanie adresu URL z akcj 430widoki 58

konwersja obrazu 278kreator

Add New Item 242Add View 59 302Application 162blokowania szczegoacute oacutew b doacutew 172dodanie u ytkownikoacutew 164grup u ytkownikoacutew 165Provider 162Publish Web 501Security 162tworzenia pracownika 59ustawie aplikacji 167widokoacutew 60wyboacuter dostawcoacutew us ug 178

kwerendy parametryczne 274 401

Llayout witryny 30LINQ

to Entities 349lista rekordoacutew 301

prezentacja 304logika

aplikacji 30bazodanowa 30biznesowa 44

a cuch QueryString 26

Mmaster 315mechanizm

automatycznych w a ciwo ci 57autoryzacji 157eksportu danych 413filtroacutew 127grupowania plikoacutew 475IntelliSense 119QuerynotString 117szyfruj cy 187transakcji 319 321

przelewy bankowe 326wyznaczania trasy przejzdu 34

meotdaInsert 299ProtectSection 191WersjonowanieDataRow

definicja widoku 265message authentication code 155metoda

on 262HtmlValidationSummary 204About 124AcceptChanges 255 263ActionLinkActionLink 61 63 353AddUserToRole 159akcji 25

parametry opcjonalne 27aktualizacja statystyk ankiety 105AktualizujZdjeciePracownika 288Application_AuthenticateRequest 108Application_BeginRequest 107 108Application_End 108Application_EndRequest 107Application_Error 108 172Application_Start 108 123 139 430asynchroniczna kontrolera 472AttachTo 356Authenticate 152AutoUzupelnienie 117

zapytanie LINQ 118BeginEdit 267BeginForm 47 94BeginTransaction 326 332CancelEdit 263ChangeObjectState 356

Kup książkę Poleć książkę

Skorowidz 533

ChangePassword 200hiper cze 208widok 206

ChangePasswordSuccesswidok 206

CreateNazwaEncji 354CreateRole 159CreateUser 153czyBazaDanychIstnieje 326daneDostawcyForm 262DBeginnotEdit 263Delete 270DeleteObject 357DeleteRole 159DeleteUser 153DeszyfrujPlikKonfiguracyjny 191DodajDostawce 255DodajElementDoListy 94 97 101DodajGrupe 223DodajKomentarz 185DodajPracownika 299 491DopiszDoPlikuLog 430Edit 356EdytujDaneDostawcy 261EdytujDanePracownika 493Eksportuj 418EmptyResult 26EndEdit 263EndForm 47ErrorCodeToString 201Fill 246FillByCityName 275FormatDateTime 390FormsAuthenticationSetCookie 199GenerujDane 468Get(int id) 478GetAllRoles 159GetAsync 486GetChildRecords 291GetSection 170GetSectionGroup 170GetUser 153GetUsersInRole 160globalna

aplikacji ASPNET 108Grupy 223HasVersion 263HtmlListBox 97HtmlRenderPartial 101HtmlValidationSummary 61HtmlHelperLabel 437ImiePierwszegoPracownika 246 247Include 475Index 47 79 97 101

kontrolera Mapa 34testowanie 28

IsAjaxRequest 101IsMatch 76IsNotNull 29IsUserInRole 159Label 35ListaDostawcow 252 255ListaPracownikow 248

hiper cze skojarzone 249LogOff 198LogOn 198Macierzowy 397mapowalna 26MetodaAsynchronicznaWatki 472ModelStateAddModelError 199MvcApplicationRegisterRoutes 430obs uga zapyta POST 431odczyt aktualnych bilansoacutew kont 323OdczytajStanyKont 326OnActionExecuted 143OnActionExecuting 127 143onColumnChanged 269OnResultExecuted 144OnResultExecuting 144onRowChanged 266onRowChanging 268OpenConfiguration 170otwarcie po czenia z baz danych 341OtworzPlikDanych 107Page_Load 399PartialViewResult 26PobierzDane 394

modyfikacja 401PobierzPlikLogu 141 143PobierzZdjecie 278PokazTrasy 51PokazWyniki 107pomocnicza 25 455

HtmlEncode 51wykorzystanie 456

PostAsJsonAsync 486PostAsXmlAsync 486PostAsync 486PostResolveRequestCache 121PracownicyWedlugMiast

przechowywanie warto ci filtru 285PutAsJsonAsync 493PutAsXmlAsync 493PutAsync 493ReadAsAsync 486ReadXml 107ReadXmlSchema 107RedirectFromLoginPage 152

Kup książkę Poleć książkę

534 ASPNET MVC

metodaRedirectResult 26RedirectToAction 26RedirectToLoginPage 152RedirectToRoute 26RedirectToRouteResult 26RefreshReport 384Register 199 478RegisterAuth 461 462RegisterBundles 475RegisterGlobalFilters 171RegisterRoutes 94 123RejectChanges 256 263rejestrowanie zdarze aplikacji 430RemoveUserFromRole 160Render 384 413 418RenderPartial 99ResponseWrite 223ResultExecuteResult 143RoleExists 159RolesIsUserInRole 216RolesRemoveUsersFromRole 223route 35RowsAdd 255RozpocznijEdycje 269

hiper cze uruchamiaj ce 267SaveChanges 354ScaffoldingMasterDetail 317Session_End 108Session_Start 108SetAuthCookie 152SetParameters 401 405SignOut 152SprawdzDopasowania 79SprawdzPoprawnoscDatyZatrudnienia 67SqlPermissionAdd 343SqlTransactionCommit 326SqlTransactionRollback 326StronaNieIstnieje 175submit 115SzyfrowaniePlikuKonfiguracyjnego 190szyfruj ca i deszyfruj ca 189SzyfrujPlikKonfiguracyjny 191TextBox 35ThreadSleep 469 472TransactionScopeComplete 329Transfer 36UpdateUser 153UstawParametryRaportu 399UsunGrupe 223UsunTrase 50 51UtworzPracownika 64Uzytkownicy 216ValidateUser 152 153

ValidationMessage 437ValidationMessageFor 61ValidationSummary 437ViewResult 26WebApiConfigRegister 478WersjonowanieDataRow 265

sparametryzowanie 266WpisyZapiszDoPlikuXml 430wykonywanie przelewoacutew 323WyswietlLog 141 142 143wyswietlMape 34 35WyswietlTrase 50

modyfikacja 135 166wyznaczTrase 35ZaktualizujWyniki 107Zapami tajNazw U ytkownika 432ZmienStanKont 328

Microsoft SQL Server 319sposoby uwierzytelnienia 344

MIME type 390minification 476minimalizacja 476model 16 39

APM 464ChangePasswordModel 196EAP 465integracja z elementami aplikacji 39LogOnModel 196obs uga plikoacutew XML 427przesy anie z kontrolera do widoku 432 435RegisterModel 196TAP 465

model binding 48model danych encji 348

dodawanie encji 353edycja encji 355kreator 348 349

czenie encji 359metody akcji 354opcje 361projektowanie relacji 43tworzenie 349

schematu bazy danych 357usuwanie encji 357wyboacuter tabel 350

model first 52model zwi zkoacutew encji 347models 16Model-View-Controller 15Model-View-ViewModel 227Model-Widok-Kontroler 15modu

UrlAuthorizationModule 157

Kup książkę Poleć książkę

Skorowidz 535

MVC 15a Web Forms 16 365 367 423

kod 442serwer internetowych us ug

informacyjnych 495wydajno 443wykorzystanie w projektach 444

ataki XSS 185autoryzacja 158 162bezpiecze stwo aplikacji 152buforowanie 134domy lne wzorce aplikacji 21kreator aplikacji 20mechanizm filtrowania 127Model Binder 355nazwa kontrolera 27obs uga interakcji klient-serwer 121parametry opcjonalne 27pobieranie parametru z adresu URL 26projektowanie aplikacji 18 52przetwarzanie dania aplikacji klienckiej 18sprawdzanie poprawno ci danych 68struktura modelu 39techniki walidacji danych 53utworzenie widoku 30uzupe nianie o komponenty graficzne 367walidacja 438wersja 4 449wyboacuter mechanizmu przetwarzaj cego widoki 21wzorce URL 122zbioacuter modeli szablonu aplikacji 196roacuted o danych 40

MVC4 449grupowanie i optymalizacja skryptoacutew 475kaskadowe arkuszye stylu 475przetwarzanie asynchroniczne 464przystosowanie do urz dze mobillnych 457testowanie aplikacji 457uwierzytelnianie 460

integracja z portalem Facebook 462wsparcie dla urz dze mobilnych 450zdalna autoryzacja 461

MVVM 227

Nnarz dzie

aspnet_regiis 187przetwarzanie tekstu 73

Northwindinstalacja 240kwerenda wybieraj ca 240pobieranie informacji o dostawcach 251

NuGET 483nullable-types 27

OOAuth 461obiekt

AppDomain 339 341Chart 406Command 239Connection 239 241

w a ciwo i 243ConnectionString 343

sposoby uwierzytelniania 344szyfrowanie informacji 335

DataAdapter 239DataGridView 491DataReader 239 273DataRow 255

kontrola wprowadzonych danych 263usuwanie rekordoacutew 270wersje 263wersja proponowana 265wersjonowanie 263w a ciwo ci 255

DataSet 239 244 345edycja rekordoacutew 257kreator konfiguracji TableAdapter 274modyfikacja danych 249tworzenie nowych rekordoacutew 250usuwanie rekordoacutew 271wstawianie rekordoacutew 251wymuszenie wi zoacutew integralno ci 292

DataTable 107DirectionsService 35dostawca 153FormCollection 47jqXHR 218List 389logiki biznesowej 348materializacja 348Matrix 390Membership 152MvcRouteHandler 121 122o okre lonym typie danych 244o silnej typizacji 244o s abej typizacji 247ObjectStateManager 348PartialView 98ReportViewer 368ReportViewerLocalReport 418Request 26 101 432Response 26Route 122ShippersRow 255SqlConnCAS 341SqlConnection 326

Kup książkę Poleć książkę

536 ASPNET MVC

obiektTableAdapter 239 244 273 274 345

edycja danych 279 286wstawianie danych 294

TransactionScope 329parametryzacja 331

typuadres 118AppDomain 466ConcurrentDictionary 479NorthwindDataSet 247ObjectSetltTgt 348Route 121Thread 466

UrlRoutingModule 121ViewBag 36

przekazywanie danych do widoku WebForms 376

ViewData 36 79 432Object Relational Mapping 347Object Services 348obs uga b doacutew

konfiguracja 132w czenie 129

odrzucenie informacji o transakcji 148od wie anie witryny

a fragment widoku 97aktualizacja zawarto ci 113cz ciowe 96

OnSuccess 96operator

await 474konkatenacji 382Top 411Top N 411

ORM 347

Pparametr

CountryName 401data 115filtr 117mapDivId 35maxIloscRekordow 117Order 137raportu 395scopeTimeOut 330

warto ci 330TransactionScopeOption

warto ci 329type 115

parametryzacja kwerend 274partial view 30

piaskownica 341Plain Old CLR Object 360platforma NET

us ugi uwierzytelniania 153plik

ascx 22aspx 22bmp 390cookie 151cookies 154 155cshtml 22 434css 475edmx 360jpg 390js 475konfiguracyjny

zabezpieczenie 187master 22png 390rdl 368rdlc 368tekstowy

wy wietlenie w przegl darce 143vbhtml 22

POCO 360pola klucza 237polecenie

HtmlEncode 187ScriptsRender 476StylesRender 476GET 18POST 18

po czenieze roacuted em danych 241

pomocnik HTML 455Portable Document Format 413po rednik 341poziom izolacji 332

Chaos 333konfiguracja 332ReadCommitted 333ReadUncommitted 333Serializable 333Snapshot 333Unspecified 333

poziom zaufania 339ograniczenie 340

proceduraajax 115AjaxBeginForm 96niemapowalna 26PartialView 26serialize 115

Kup książkę Poleć książkę

Skorowidz 537

proces 465programowanie

oparte na zdarzeniach 17zdarzeniowe 17

projekt aplikacji MVCankieta 102asynchroniczne przetwarzanie da HTTP 92Bezpiecze stwo 181 336

nawi zanie komunikacji ze roacuted emdanych 342

szyfrowanie pliku konfiguracyjnego 191dodawanie i wy wietlanie komentarzy 183domy lny 20EksportDanych 413Filtry 131formularz oceny 107Kadry

walidacja adresu e-mail 84Kardy 55KsiegaGosci_MVC3 424lista prezentuj ca dodawane elementy 97MojaNawigacja 18

blokowanie samodzielnego tworzeniakont 224

buforowanie danych 135implementacja warstwy dost pu 42instalacja na serwerze IIS 500komunikat powitalny 168komunikaty 110komunikaty o b dach 173mechanizm podpowiedzi 115model weryfikuj cy po wiadczenia

u ytkownikoacutew 196modele kontrolera uwierzytelnienia 196od wie enie widoku mapy 109struktura 21szablon 19szablon witryny 225trasowanie da HTTP 123uzupe nienie o baz danych 40uzupe nienie o walidacj danych 69widok b du 175zablokowanie nieautoryzowanego

dost pu 128zarz dzanie u ytkownikami 163zarz dzanie grupami u ytkownikoacutew 212zarz dzanie procesem logowania 198

MsAjax 92NorthwindMVC 241

lista rekordoacutew 301szablon witryny 250

POCO 361priorytety regu filtrowania 137

Raport 368szablon

mechanizmy uwierzytelnienia 156zarz dzanie grupami u ytkownikoacutew 159

Transakcje 319aktualizacja danych 328formularz aktualizacji 328szablon stron 320

uzupe nianie widokiem GridView 49WyrazeniaRegularne 76Zapytania_EF 349

projekt aplikacji MVC4AsynchronicznyKontroler 466

prezentacja danych 468AutoryzacjaOAuth 461implementacja serwisu sieciowego 479konfiguracja grupowania 475MobileMvc 450

testowanie 457pobranie zdj cia 452przygotowanie listy pracownikoacutew 452SerwisSieciowy 477

projekt aplikacji Windows Formsedycja danych 487KlientWebAPI 483tworzenie nowych pracownikoacutew 486

dania typuDELETE 493POST 486PUT 491

projektowaniekontrolera 27widoku 31

protokoacuteFTP 495Kerberos 150NTLM 150SMTP 495SSL 337

proxy 341przechowywanie

informacji o trasach 44wynikoacutew g osowania 107

przeci enie aplikacji 147przekazywanie

danych 44mi dzy widokiem a kontrolerem 36

parametroacutew do metod akcji kontrolera 26przestrze nazw

SystemThreading 465przyjazne linki 122publikowanie aplikacji 495 500

na serwerze IIS 497

Kup książkę Poleć książkę

538 ASPNET MVC

pule aplikacji 465 497konfiguracja 498Windows 7 499Windows 8 500

Rraporty

dane w postaci macierzowej 390data 386definicja

dynamiczna 418filtrowanie danych 394

na poziomie roacuted a 401 418filtry 395formaty prezentacji danych 379grupowanie danych 381hiper cza 387

nawigacyjne 376kolumny obliczeniowe 378konfiguracja

filtrowania dynamicznego 396typu 392roacuted a danych 368

kreator formu 382macierzowe 391numery stron 386obrazy 390parametry 383 394

konfiguracja 399paski narz dziowe 379pola

bazy danych 386formularza 398raportu 390

po czenie z aplikacj 368prezentowanie uk adu graficznego 383projektowanie 371

i prezentowanie 368przystosowanie strony do obs ugi raportoacutew

387renderowanie 368tryby definicji 368tworzenie

definicji lokalnej 368formu 378przy u yciu kreatora 372

uk ad 383wstawianie nag oacutewka i stopki 385wykresy 406wy wietlenie 375

Razor 21 30przetwarzanie definicji widoku 208

RDL 418rekordy

edycja 307lista 301tworzenie 311usuwanie 305

Relationship 347Report Definition Language 418Report Wizard 371repudiation 148request 442response 442responsywno 464rollback transaction 319routing 22 430routowanie 121

SSandBox 341scaffolding 301Secure Socket Layer 337sekcja

membership 178roleManager 179set 441

serwerSMTP

konfiguracja 171us ug informacyjnych 149

weryfikacja to samo ci u ytkownika 149Simple Mail Transfer Protocol 495s owo kluczowe

helper 455await 474using 47 329

spaghetti code 18spoofing 147SQL Server Reporting Services 367SSRS 367stan pola

typu CheckBox 269pobieranie 264

STRIDE 148strona startowa

MojaNawigacja 226strona wzorcowa 30

aplikacji Kadry 55referencja do bibliotek skryptoacutew 70

systemowy serwer us ug informacyjnych 121szyfrowanie po czenia 335

ze roacuted em danych 336

Kup książkę Poleć książkę

Skorowidz 539

Ttabela danych

Categories 418Customers 305deklaracje kaskadowych arkuszy stylu 275edycja

danych 279danych w wierszu 257rekordoacutew 307 310

Employees 240 288filtrowanie listy 275integralno danych 288Konta 321 326kwerenda wybieraj ca 240Orders 291 315OrdersDetails 307pobieranie fotografii 276pobranie danych z wykorzystaniem JScript 280prezentacja

danych 277 325informacji 252listy danych 248pierwszego rekordu 246rekordoacutew 317

przekazanie do widoku 248Shippers 251tworzenie rekordoacutew 311umieszczenie w bazie danych 321uruchomienie edycji danych 258usuwanie

danych 288rekordoacutew 271 305 306

widok b du 268wstawianie

danych 294rekordoacutew 251

wy wietlenie listykonfiguracja hiper cza 315

zako czenie edycji rekordu 267tablica asocjacyjna 479tablica bajtoacutew

konwersja do bitmapy 277tampering 147task pane 371Task-based Asynchronous Pattern 465TDD 15

test jednostkowy funkcjonalno ci kontrolera28

Test-Driven Development 15testowanie

aplikacji 29wzorcoacutew wyra e regularnych 76 78

Toolbox 274

transakcje 319automatyczne zarz dzanie 327otaczaj ce 329poziom izolacji 332tworzenie i r czna kontrola 319

trasowanie 121aplikacja 430blokowanie dost pu 124domy lne regu y 123Ksi gaGosci_MVC3 430w asne regu y 124

trasowanie adresoacutew URL 121T-SQL 319

czynno ci bazodanowe 345tworzenie

bazy danych 40interfejsu u ytkownika

jQM 459szablony 231wzorzec MVVM 227

u ytkownika 200kody b doacutew 201

widoku Index 231wzorcoacutew wyra e regularnych 76

typed DataSet 244typizacja

silna 46s aba 46

typy puste 27

Uujawnienie krytycznych informacji 147ukryte pola 441Uniform Resource Locator 18URL 18uruchomienie aplikacji 503us uga

AspNetSqlProvider 178ustawienia aplikacji 167

odczytanie z pliku konfiguracyjnego 169UTC 155uwierzytelnienie 149

centralny serwis 151certyfikaty 150formularze logowania 151

atrybuty elementu forms 154konfiguracja 153mechanizmy zintegrowane z ASPNET 149na bazie protoko u NTLM 150przekazywanie informacji 151proste 150skroacutecone 150us ugi systemu Windows 150

Kup książkę Poleć książkę

540 ASPNET MVC

Vvariable placeholders 122view engine 21views 16viewstate 442Visual Studio

kreator projektu 19Visual Studio Development Server 496VS 2012

instalacja 240kreator Add New Item 242

VSDS 496

Wwalidacja

adresue-mail 83URL 83WWW 84

danych 53a technologia Entity Framework 68konfiguracja 66modelu Pracownik 66odwo anenie do jQuery 61po stronie klienta 67wyra enia regularne 73

skrypty i style walidatoroacutew 438w asno ci klasy encji 435

w tek 465Web API 477

edycja danych 491klient 483konfiguracja interfejsu 478obs uga da typu POST 486pobranie danych z serwera 485serwis sieciowy 479usuwanie danych 493

web serwer 495Web Site Administration Tool 161

konfigurowanie uprawnie 165zarz dzanie

dostawcami us ug 178u ytkownikami 163

WebForms 17bezpiecze stwo aplikacji 152integracja komponentoacutew z MVC 367kontrolka Repeater 434obs uga wyj tkoacutew 172przetwarzanie dania aplikacji klienckiej 18separacja modelu 427weryfikacja poprawno ci projektu 434

weryfikacjakodu pocztowego 81to samo ci 151

widok 16 25 30aplikacji

MVC4 453przystosowanie do urz dze mobilnych

459Transakcje 326

cz ciowy 30dodawanie 31edycji klienta 307elementy 31formularz

dodawania wpisu 425logowania 203

kontroleraaplikacja Kadry 58panelu administracyjnego 222

kontrolera AdminController 213kontrolera Dopasowania 77kontrolera ErrorControler 174kontrolera Glosowania 103kontrolera Home 131 169 182 307

metodaWyswietlLog 142Raport 375Transakcje 320

kontrolera HomeController 246AsynchronicznyKontroler 468EksportDanych 417

kontrolera Lista 93kontrolera Mapa 33 34

formularz 70Trasa 50

kreatorakonta u ytkownika 205zmiany has a 206

listyklientoacutew 302pracownikoacutew 61wyznaczonych tras 48zamoacutewie 316

mapyod wie enie 108parametryzacja 34

mechanizm przetwarzania 30modyfikowanie formularza 437obs uga wyj tkoacutew 130Pracownicycshtml 453projektowanie 31transfer danych do kontrolera 36typu CRUD 52

Kup książkę Poleć książkę

Skorowidz 541

typu GridViewimplementacja 48

typy plikoacutew 30utworzenie 30uzupe nianie tre ci 33walidacja 435wi zanie z modelem 437wstawianie rekordoacutew 312wynikoacutew ankiety 105wy wietlanie wpisoacutew 432

wielodziedziczenie 360Windows Authentication Provider 149Windows Data Protection API 187Windows Forms

implementacja klienta 483Windows Live ID 149w a ciwo

ConnectionString 243IsMobileDevice 460ModelStateIsValid 47

wstawianie rekordoacutew 299wstrzykni cie kodu 181 185wykresy 406

konfiguracjaserii danych 407typu 407

pobranie danych roacuted owych 408wy czenie aplikacji 171wyra enia lambda 46wyra enia regularne 73

atrybuty modelu 84liczba wyst pie sk adnikoacutew 76wzorzec

adres URL 83imi e skie 81kod pocztowy 80tworzenie 76

znaki i cyfry 74znaki specjalne 74znaki w wyznaczonych miejscach a cucha 75

wzorzecodnajdywanie

znakoacutew i cyfr 74znakoacutew specjalnych 74znakoacutew w wyznaczonych miejscach

a cucha 75okre lanie

liczby wyst pie znakoacutew 76

XXSS 181

Zzabezpieczenia

aplikacji bazodanowych 335ataki XSS 187informacje o b dach 171kodu po redniego 338konfiguracja 161konfiguracja aplikacji

kreatory 162obs uga wyj tkoacutew 171pliku konfiguracyjnego 167 187przed atakami 148ustawienia aplikacji 167witryny 181zarz dzanie dostawcami us ug 178z o liwy kod 181

zarz dzanieu ytkownikami i grupami 211

dost p do panelu administracyjnego 216lista grup 221podzia na grupy 220pobieranie listy 213tworzenie nowej grupy 222zmiana przynale no ci do grupy 215

z o ono ci aplikacji 16zdarzenie

DataGridViewCellDoubleClick 491rejestrowanie 430

z o liwy koddzia anie 181

znacznikinput 288

znaki specjalneodnajdywanie 74

zwi zanie z modelem 48zwi zek 347

danie 25asynchroniczna obs uga 92 466 470

skrypty 318zadania 473

GET 64POST 64przetwarzanie 127zablokowanie obs ugi 124

Kup książkę Poleć książkę

Notatki

Kup książkę Poleć książkę

530 ASPNET MVC

FFile Transfer Protocol 495filtry 127

akcji 127 139autoryzacyjne 127 144dynamiczne 395kolejno wykonywania 137

priorytety 138Log

metody 141LogAttribute

definicja klasy 140podstawowe atrybuty 128statyczne 395w asne 139wyj tkoacutew 128 144

niestandardowe 145wyniku 128 144

for 434foreach 51Forms Authentication Provider 149formularz

MasterDetail 315z podformularzem 315

funkcjadelay 217ListaPracownikoacutew 57Mid 390RolesIsUserInRole 217Today 390wyznaczaj ca tras 109zmienPrzynaleznoscDoGrupy 217 218

GGauge 383 403GDI 368graficzny interfejs u ytkownika 17 30Graphics Device Interface 368GridView 48grupy u ytkownikoacutew

autoryzacja 158GUI 17

Hhard-coding 167haszowanie 150helper methods 25html helper 455

Iidentyfikator

klienta 315rekordoacutew 315

IIS 121 149 495instalacja

ASPNET 445 498serwera w Windows 7 496serwera w Windows 8 496

mened er Windows 499uruchamianie aplikacji 503

serwer do rozwoju aplikacji 504information disclosure 147instancje aplikacji 465instancjonowanie modelu 39IntelliSense 247interfejs u ytkownika

przycisk umo liwiaj cy dodanie pracownika294

przycisk usuni cia wybranego rekordu 289Internet Information Services 121internetowe us ugi informacyjne 495in ynieria spo eczna 148Isolation Level 332izolacja 339 466

JJavaScript Object Notation 117jQM 457jQuery

autocomplete 116pliki roacuted owe 113

jQuery Mobile 457jQuery UI 367

wykorzystanie przyciskoacutew 284JSON 117

obiekt typu adres 118

KKey Performance Indicators 403klasa

AccountController 198ActionExecutingContext 143AdminController 212Ajax 94AjaxOptions 94

atrybuty 95AspNetHidden 442AssemblyName 170Assert 29

Kup książkę Poleć książkę

Skorowidz 531

AuthConfig 461BundleConfig 475Configuration 170ConfigurationManager 170ConfigurationSection 187 188ConnectionStringBuilder 345DpapiProtectedConfigurationProvider 187FiltryRaportuMacierzowego 397Form1 484FormsAuthentication 152Global 430HandleErrorInfo 133HtmlHelper 437HttpClient 483 486HttpResponseMessage 486kontekstu 362LogOnModel 198MarshallByRefObject 341Membership 152 198 211MvcApplication 430NorthwindContext 362ObjectContext 348ObjectQueryltTgt 348Order_Details 362Orders 361Osoba 228ParametryWatku 470Pracownik 484Products 361Produkt 230Raport 392RequestBrowser 460ResultExecutedContext 144ResultExecutingContext 144Roles 211RsaProtectedConfigurationProvider 187SQLConnCAS

definicja 340stowarzyszona z modelem 69SystemNetHttpFormattingJsonMediaTypeF

ormatter 491SystemTextRegularExpressions 74SystemWebSecurityRoles 159Task 465 472testuj ca 29Thread 465 469TransactionScope 327UrlRoutingModule 121ViewData 434 436 439WebApiConfig 478WebConfigurationManager 170Wpisy 427 436

klucze 237MAC 155obce 238podstawowe 238

kluczowe wska niki efektywno ci 403dynamiczna zmiana warto ci 404

Knockout 227wykorzystanie szablonoacutew JavaScript 230wywo anie skryptu 229

kodowanie danychprzekazywanych przez u ytkownikoacutew 186

komponentFormDanePracownika 489obiektu

PartialView 99typu ListBox 99

ReportViewer 368 375eksport danych 413nawigacja mi dzy stronami raportu 377

komponenty u ytkownika 30komunikaty o b dach 171

kod statusowy 174 175koncepcja programowania zdarzeniowego 16konfiguracja

po czenia z baz danych 241uprawnie puli aplikacji 454walidacji danych 66

konkurencyjno aplikacji 332kontekst wi zania 389kontrola wprowadzanych danych 263

metoda onColumnChanged 269wstrzymanie walidacji wiersza 267zako czenie edycji rekordu 267

wymuszenie 267kontroler 16 25

AccountController 195Admin 223AdminController 212aplikacja Kardy 63asynchroniczny 466

a zadania 472dane wyj ciowe 25domeny 150ErrorController 174Glosowania 103Home 182 224 228 231

Bezpiecze stwo 336filtr wyj tku 131

HomeController 184EksportDanych 415Northwind 245

interfejs Web API 477KsiegaGosciController 424

Kup książkę Poleć książkę

532 ASPNET MVC

kontrolerLista 93Mapa 33

autouzupe nianie 117modyfikacja 45

niedost pne metody publiczne 136obs uga POST 431panelu administracyjnego 212

zarz dzanie grupami u ytkownikoacutew 220Pracownicy 57 64PracownicyController

implementacja 481Produkty 351projektowanie 27przekazywanie danych do widoku

zmiany 439uwierzytelnienia 195

klasa 198model 196widoki 203

uzupe nienie o widok 31u ycie modelu odsy anego przez widok 440ValuesController 478weryfikacja funkcjonalno ci 28wi zanie adresu URL z akcj 430widoki 58

konwersja obrazu 278kreator

Add New Item 242Add View 59 302Application 162blokowania szczegoacute oacutew b doacutew 172dodanie u ytkownikoacutew 164grup u ytkownikoacutew 165Provider 162Publish Web 501Security 162tworzenia pracownika 59ustawie aplikacji 167widokoacutew 60wyboacuter dostawcoacutew us ug 178

kwerendy parametryczne 274 401

Llayout witryny 30LINQ

to Entities 349lista rekordoacutew 301

prezentacja 304logika

aplikacji 30bazodanowa 30biznesowa 44

a cuch QueryString 26

Mmaster 315mechanizm

automatycznych w a ciwo ci 57autoryzacji 157eksportu danych 413filtroacutew 127grupowania plikoacutew 475IntelliSense 119QuerynotString 117szyfruj cy 187transakcji 319 321

przelewy bankowe 326wyznaczania trasy przejzdu 34

meotdaInsert 299ProtectSection 191WersjonowanieDataRow

definicja widoku 265message authentication code 155metoda

on 262HtmlValidationSummary 204About 124AcceptChanges 255 263ActionLinkActionLink 61 63 353AddUserToRole 159akcji 25

parametry opcjonalne 27aktualizacja statystyk ankiety 105AktualizujZdjeciePracownika 288Application_AuthenticateRequest 108Application_BeginRequest 107 108Application_End 108Application_EndRequest 107Application_Error 108 172Application_Start 108 123 139 430asynchroniczna kontrolera 472AttachTo 356Authenticate 152AutoUzupelnienie 117

zapytanie LINQ 118BeginEdit 267BeginForm 47 94BeginTransaction 326 332CancelEdit 263ChangeObjectState 356

Kup książkę Poleć książkę

Skorowidz 533

ChangePassword 200hiper cze 208widok 206

ChangePasswordSuccesswidok 206

CreateNazwaEncji 354CreateRole 159CreateUser 153czyBazaDanychIstnieje 326daneDostawcyForm 262DBeginnotEdit 263Delete 270DeleteObject 357DeleteRole 159DeleteUser 153DeszyfrujPlikKonfiguracyjny 191DodajDostawce 255DodajElementDoListy 94 97 101DodajGrupe 223DodajKomentarz 185DodajPracownika 299 491DopiszDoPlikuLog 430Edit 356EdytujDaneDostawcy 261EdytujDanePracownika 493Eksportuj 418EmptyResult 26EndEdit 263EndForm 47ErrorCodeToString 201Fill 246FillByCityName 275FormatDateTime 390FormsAuthenticationSetCookie 199GenerujDane 468Get(int id) 478GetAllRoles 159GetAsync 486GetChildRecords 291GetSection 170GetSectionGroup 170GetUser 153GetUsersInRole 160globalna

aplikacji ASPNET 108Grupy 223HasVersion 263HtmlListBox 97HtmlRenderPartial 101HtmlValidationSummary 61HtmlHelperLabel 437ImiePierwszegoPracownika 246 247Include 475Index 47 79 97 101

kontrolera Mapa 34testowanie 28

IsAjaxRequest 101IsMatch 76IsNotNull 29IsUserInRole 159Label 35ListaDostawcow 252 255ListaPracownikow 248

hiper cze skojarzone 249LogOff 198LogOn 198Macierzowy 397mapowalna 26MetodaAsynchronicznaWatki 472ModelStateAddModelError 199MvcApplicationRegisterRoutes 430obs uga zapyta POST 431odczyt aktualnych bilansoacutew kont 323OdczytajStanyKont 326OnActionExecuted 143OnActionExecuting 127 143onColumnChanged 269OnResultExecuted 144OnResultExecuting 144onRowChanged 266onRowChanging 268OpenConfiguration 170otwarcie po czenia z baz danych 341OtworzPlikDanych 107Page_Load 399PartialViewResult 26PobierzDane 394

modyfikacja 401PobierzPlikLogu 141 143PobierzZdjecie 278PokazTrasy 51PokazWyniki 107pomocnicza 25 455

HtmlEncode 51wykorzystanie 456

PostAsJsonAsync 486PostAsXmlAsync 486PostAsync 486PostResolveRequestCache 121PracownicyWedlugMiast

przechowywanie warto ci filtru 285PutAsJsonAsync 493PutAsXmlAsync 493PutAsync 493ReadAsAsync 486ReadXml 107ReadXmlSchema 107RedirectFromLoginPage 152

Kup książkę Poleć książkę

534 ASPNET MVC

metodaRedirectResult 26RedirectToAction 26RedirectToLoginPage 152RedirectToRoute 26RedirectToRouteResult 26RefreshReport 384Register 199 478RegisterAuth 461 462RegisterBundles 475RegisterGlobalFilters 171RegisterRoutes 94 123RejectChanges 256 263rejestrowanie zdarze aplikacji 430RemoveUserFromRole 160Render 384 413 418RenderPartial 99ResponseWrite 223ResultExecuteResult 143RoleExists 159RolesIsUserInRole 216RolesRemoveUsersFromRole 223route 35RowsAdd 255RozpocznijEdycje 269

hiper cze uruchamiaj ce 267SaveChanges 354ScaffoldingMasterDetail 317Session_End 108Session_Start 108SetAuthCookie 152SetParameters 401 405SignOut 152SprawdzDopasowania 79SprawdzPoprawnoscDatyZatrudnienia 67SqlPermissionAdd 343SqlTransactionCommit 326SqlTransactionRollback 326StronaNieIstnieje 175submit 115SzyfrowaniePlikuKonfiguracyjnego 190szyfruj ca i deszyfruj ca 189SzyfrujPlikKonfiguracyjny 191TextBox 35ThreadSleep 469 472TransactionScopeComplete 329Transfer 36UpdateUser 153UstawParametryRaportu 399UsunGrupe 223UsunTrase 50 51UtworzPracownika 64Uzytkownicy 216ValidateUser 152 153

ValidationMessage 437ValidationMessageFor 61ValidationSummary 437ViewResult 26WebApiConfigRegister 478WersjonowanieDataRow 265

sparametryzowanie 266WpisyZapiszDoPlikuXml 430wykonywanie przelewoacutew 323WyswietlLog 141 142 143wyswietlMape 34 35WyswietlTrase 50

modyfikacja 135 166wyznaczTrase 35ZaktualizujWyniki 107Zapami tajNazw U ytkownika 432ZmienStanKont 328

Microsoft SQL Server 319sposoby uwierzytelnienia 344

MIME type 390minification 476minimalizacja 476model 16 39

APM 464ChangePasswordModel 196EAP 465integracja z elementami aplikacji 39LogOnModel 196obs uga plikoacutew XML 427przesy anie z kontrolera do widoku 432 435RegisterModel 196TAP 465

model binding 48model danych encji 348

dodawanie encji 353edycja encji 355kreator 348 349

czenie encji 359metody akcji 354opcje 361projektowanie relacji 43tworzenie 349

schematu bazy danych 357usuwanie encji 357wyboacuter tabel 350

model first 52model zwi zkoacutew encji 347models 16Model-View-Controller 15Model-View-ViewModel 227Model-Widok-Kontroler 15modu

UrlAuthorizationModule 157

Kup książkę Poleć książkę

Skorowidz 535

MVC 15a Web Forms 16 365 367 423

kod 442serwer internetowych us ug

informacyjnych 495wydajno 443wykorzystanie w projektach 444

ataki XSS 185autoryzacja 158 162bezpiecze stwo aplikacji 152buforowanie 134domy lne wzorce aplikacji 21kreator aplikacji 20mechanizm filtrowania 127Model Binder 355nazwa kontrolera 27obs uga interakcji klient-serwer 121parametry opcjonalne 27pobieranie parametru z adresu URL 26projektowanie aplikacji 18 52przetwarzanie dania aplikacji klienckiej 18sprawdzanie poprawno ci danych 68struktura modelu 39techniki walidacji danych 53utworzenie widoku 30uzupe nianie o komponenty graficzne 367walidacja 438wersja 4 449wyboacuter mechanizmu przetwarzaj cego widoki 21wzorce URL 122zbioacuter modeli szablonu aplikacji 196roacuted o danych 40

MVC4 449grupowanie i optymalizacja skryptoacutew 475kaskadowe arkuszye stylu 475przetwarzanie asynchroniczne 464przystosowanie do urz dze mobillnych 457testowanie aplikacji 457uwierzytelnianie 460

integracja z portalem Facebook 462wsparcie dla urz dze mobilnych 450zdalna autoryzacja 461

MVVM 227

Nnarz dzie

aspnet_regiis 187przetwarzanie tekstu 73

Northwindinstalacja 240kwerenda wybieraj ca 240pobieranie informacji o dostawcach 251

NuGET 483nullable-types 27

OOAuth 461obiekt

AppDomain 339 341Chart 406Command 239Connection 239 241

w a ciwo i 243ConnectionString 343

sposoby uwierzytelniania 344szyfrowanie informacji 335

DataAdapter 239DataGridView 491DataReader 239 273DataRow 255

kontrola wprowadzonych danych 263usuwanie rekordoacutew 270wersje 263wersja proponowana 265wersjonowanie 263w a ciwo ci 255

DataSet 239 244 345edycja rekordoacutew 257kreator konfiguracji TableAdapter 274modyfikacja danych 249tworzenie nowych rekordoacutew 250usuwanie rekordoacutew 271wstawianie rekordoacutew 251wymuszenie wi zoacutew integralno ci 292

DataTable 107DirectionsService 35dostawca 153FormCollection 47jqXHR 218List 389logiki biznesowej 348materializacja 348Matrix 390Membership 152MvcRouteHandler 121 122o okre lonym typie danych 244o silnej typizacji 244o s abej typizacji 247ObjectStateManager 348PartialView 98ReportViewer 368ReportViewerLocalReport 418Request 26 101 432Response 26Route 122ShippersRow 255SqlConnCAS 341SqlConnection 326

Kup książkę Poleć książkę

536 ASPNET MVC

obiektTableAdapter 239 244 273 274 345

edycja danych 279 286wstawianie danych 294

TransactionScope 329parametryzacja 331

typuadres 118AppDomain 466ConcurrentDictionary 479NorthwindDataSet 247ObjectSetltTgt 348Route 121Thread 466

UrlRoutingModule 121ViewBag 36

przekazywanie danych do widoku WebForms 376

ViewData 36 79 432Object Relational Mapping 347Object Services 348obs uga b doacutew

konfiguracja 132w czenie 129

odrzucenie informacji o transakcji 148od wie anie witryny

a fragment widoku 97aktualizacja zawarto ci 113cz ciowe 96

OnSuccess 96operator

await 474konkatenacji 382Top 411Top N 411

ORM 347

Pparametr

CountryName 401data 115filtr 117mapDivId 35maxIloscRekordow 117Order 137raportu 395scopeTimeOut 330

warto ci 330TransactionScopeOption

warto ci 329type 115

parametryzacja kwerend 274partial view 30

piaskownica 341Plain Old CLR Object 360platforma NET

us ugi uwierzytelniania 153plik

ascx 22aspx 22bmp 390cookie 151cookies 154 155cshtml 22 434css 475edmx 360jpg 390js 475konfiguracyjny

zabezpieczenie 187master 22png 390rdl 368rdlc 368tekstowy

wy wietlenie w przegl darce 143vbhtml 22

POCO 360pola klucza 237polecenie

HtmlEncode 187ScriptsRender 476StylesRender 476GET 18POST 18

po czenieze roacuted em danych 241

pomocnik HTML 455Portable Document Format 413po rednik 341poziom izolacji 332

Chaos 333konfiguracja 332ReadCommitted 333ReadUncommitted 333Serializable 333Snapshot 333Unspecified 333

poziom zaufania 339ograniczenie 340

proceduraajax 115AjaxBeginForm 96niemapowalna 26PartialView 26serialize 115

Kup książkę Poleć książkę

Skorowidz 537

proces 465programowanie

oparte na zdarzeniach 17zdarzeniowe 17

projekt aplikacji MVCankieta 102asynchroniczne przetwarzanie da HTTP 92Bezpiecze stwo 181 336

nawi zanie komunikacji ze roacuted emdanych 342

szyfrowanie pliku konfiguracyjnego 191dodawanie i wy wietlanie komentarzy 183domy lny 20EksportDanych 413Filtry 131formularz oceny 107Kadry

walidacja adresu e-mail 84Kardy 55KsiegaGosci_MVC3 424lista prezentuj ca dodawane elementy 97MojaNawigacja 18

blokowanie samodzielnego tworzeniakont 224

buforowanie danych 135implementacja warstwy dost pu 42instalacja na serwerze IIS 500komunikat powitalny 168komunikaty 110komunikaty o b dach 173mechanizm podpowiedzi 115model weryfikuj cy po wiadczenia

u ytkownikoacutew 196modele kontrolera uwierzytelnienia 196od wie enie widoku mapy 109struktura 21szablon 19szablon witryny 225trasowanie da HTTP 123uzupe nienie o baz danych 40uzupe nienie o walidacj danych 69widok b du 175zablokowanie nieautoryzowanego

dost pu 128zarz dzanie u ytkownikami 163zarz dzanie grupami u ytkownikoacutew 212zarz dzanie procesem logowania 198

MsAjax 92NorthwindMVC 241

lista rekordoacutew 301szablon witryny 250

POCO 361priorytety regu filtrowania 137

Raport 368szablon

mechanizmy uwierzytelnienia 156zarz dzanie grupami u ytkownikoacutew 159

Transakcje 319aktualizacja danych 328formularz aktualizacji 328szablon stron 320

uzupe nianie widokiem GridView 49WyrazeniaRegularne 76Zapytania_EF 349

projekt aplikacji MVC4AsynchronicznyKontroler 466

prezentacja danych 468AutoryzacjaOAuth 461implementacja serwisu sieciowego 479konfiguracja grupowania 475MobileMvc 450

testowanie 457pobranie zdj cia 452przygotowanie listy pracownikoacutew 452SerwisSieciowy 477

projekt aplikacji Windows Formsedycja danych 487KlientWebAPI 483tworzenie nowych pracownikoacutew 486

dania typuDELETE 493POST 486PUT 491

projektowaniekontrolera 27widoku 31

protokoacuteFTP 495Kerberos 150NTLM 150SMTP 495SSL 337

proxy 341przechowywanie

informacji o trasach 44wynikoacutew g osowania 107

przeci enie aplikacji 147przekazywanie

danych 44mi dzy widokiem a kontrolerem 36

parametroacutew do metod akcji kontrolera 26przestrze nazw

SystemThreading 465przyjazne linki 122publikowanie aplikacji 495 500

na serwerze IIS 497

Kup książkę Poleć książkę

538 ASPNET MVC

pule aplikacji 465 497konfiguracja 498Windows 7 499Windows 8 500

Rraporty

dane w postaci macierzowej 390data 386definicja

dynamiczna 418filtrowanie danych 394

na poziomie roacuted a 401 418filtry 395formaty prezentacji danych 379grupowanie danych 381hiper cza 387

nawigacyjne 376kolumny obliczeniowe 378konfiguracja

filtrowania dynamicznego 396typu 392roacuted a danych 368

kreator formu 382macierzowe 391numery stron 386obrazy 390parametry 383 394

konfiguracja 399paski narz dziowe 379pola

bazy danych 386formularza 398raportu 390

po czenie z aplikacj 368prezentowanie uk adu graficznego 383projektowanie 371

i prezentowanie 368przystosowanie strony do obs ugi raportoacutew

387renderowanie 368tryby definicji 368tworzenie

definicji lokalnej 368formu 378przy u yciu kreatora 372

uk ad 383wstawianie nag oacutewka i stopki 385wykresy 406wy wietlenie 375

Razor 21 30przetwarzanie definicji widoku 208

RDL 418rekordy

edycja 307lista 301tworzenie 311usuwanie 305

Relationship 347Report Definition Language 418Report Wizard 371repudiation 148request 442response 442responsywno 464rollback transaction 319routing 22 430routowanie 121

SSandBox 341scaffolding 301Secure Socket Layer 337sekcja

membership 178roleManager 179set 441

serwerSMTP

konfiguracja 171us ug informacyjnych 149

weryfikacja to samo ci u ytkownika 149Simple Mail Transfer Protocol 495s owo kluczowe

helper 455await 474using 47 329

spaghetti code 18spoofing 147SQL Server Reporting Services 367SSRS 367stan pola

typu CheckBox 269pobieranie 264

STRIDE 148strona startowa

MojaNawigacja 226strona wzorcowa 30

aplikacji Kadry 55referencja do bibliotek skryptoacutew 70

systemowy serwer us ug informacyjnych 121szyfrowanie po czenia 335

ze roacuted em danych 336

Kup książkę Poleć książkę

Skorowidz 539

Ttabela danych

Categories 418Customers 305deklaracje kaskadowych arkuszy stylu 275edycja

danych 279danych w wierszu 257rekordoacutew 307 310

Employees 240 288filtrowanie listy 275integralno danych 288Konta 321 326kwerenda wybieraj ca 240Orders 291 315OrdersDetails 307pobieranie fotografii 276pobranie danych z wykorzystaniem JScript 280prezentacja

danych 277 325informacji 252listy danych 248pierwszego rekordu 246rekordoacutew 317

przekazanie do widoku 248Shippers 251tworzenie rekordoacutew 311umieszczenie w bazie danych 321uruchomienie edycji danych 258usuwanie

danych 288rekordoacutew 271 305 306

widok b du 268wstawianie

danych 294rekordoacutew 251

wy wietlenie listykonfiguracja hiper cza 315

zako czenie edycji rekordu 267tablica asocjacyjna 479tablica bajtoacutew

konwersja do bitmapy 277tampering 147task pane 371Task-based Asynchronous Pattern 465TDD 15

test jednostkowy funkcjonalno ci kontrolera28

Test-Driven Development 15testowanie

aplikacji 29wzorcoacutew wyra e regularnych 76 78

Toolbox 274

transakcje 319automatyczne zarz dzanie 327otaczaj ce 329poziom izolacji 332tworzenie i r czna kontrola 319

trasowanie 121aplikacja 430blokowanie dost pu 124domy lne regu y 123Ksi gaGosci_MVC3 430w asne regu y 124

trasowanie adresoacutew URL 121T-SQL 319

czynno ci bazodanowe 345tworzenie

bazy danych 40interfejsu u ytkownika

jQM 459szablony 231wzorzec MVVM 227

u ytkownika 200kody b doacutew 201

widoku Index 231wzorcoacutew wyra e regularnych 76

typed DataSet 244typizacja

silna 46s aba 46

typy puste 27

Uujawnienie krytycznych informacji 147ukryte pola 441Uniform Resource Locator 18URL 18uruchomienie aplikacji 503us uga

AspNetSqlProvider 178ustawienia aplikacji 167

odczytanie z pliku konfiguracyjnego 169UTC 155uwierzytelnienie 149

centralny serwis 151certyfikaty 150formularze logowania 151

atrybuty elementu forms 154konfiguracja 153mechanizmy zintegrowane z ASPNET 149na bazie protoko u NTLM 150przekazywanie informacji 151proste 150skroacutecone 150us ugi systemu Windows 150

Kup książkę Poleć książkę

540 ASPNET MVC

Vvariable placeholders 122view engine 21views 16viewstate 442Visual Studio

kreator projektu 19Visual Studio Development Server 496VS 2012

instalacja 240kreator Add New Item 242

VSDS 496

Wwalidacja

adresue-mail 83URL 83WWW 84

danych 53a technologia Entity Framework 68konfiguracja 66modelu Pracownik 66odwo anenie do jQuery 61po stronie klienta 67wyra enia regularne 73

skrypty i style walidatoroacutew 438w asno ci klasy encji 435

w tek 465Web API 477

edycja danych 491klient 483konfiguracja interfejsu 478obs uga da typu POST 486pobranie danych z serwera 485serwis sieciowy 479usuwanie danych 493

web serwer 495Web Site Administration Tool 161

konfigurowanie uprawnie 165zarz dzanie

dostawcami us ug 178u ytkownikami 163

WebForms 17bezpiecze stwo aplikacji 152integracja komponentoacutew z MVC 367kontrolka Repeater 434obs uga wyj tkoacutew 172przetwarzanie dania aplikacji klienckiej 18separacja modelu 427weryfikacja poprawno ci projektu 434

weryfikacjakodu pocztowego 81to samo ci 151

widok 16 25 30aplikacji

MVC4 453przystosowanie do urz dze mobilnych

459Transakcje 326

cz ciowy 30dodawanie 31edycji klienta 307elementy 31formularz

dodawania wpisu 425logowania 203

kontroleraaplikacja Kadry 58panelu administracyjnego 222

kontrolera AdminController 213kontrolera Dopasowania 77kontrolera ErrorControler 174kontrolera Glosowania 103kontrolera Home 131 169 182 307

metodaWyswietlLog 142Raport 375Transakcje 320

kontrolera HomeController 246AsynchronicznyKontroler 468EksportDanych 417

kontrolera Lista 93kontrolera Mapa 33 34

formularz 70Trasa 50

kreatorakonta u ytkownika 205zmiany has a 206

listyklientoacutew 302pracownikoacutew 61wyznaczonych tras 48zamoacutewie 316

mapyod wie enie 108parametryzacja 34

mechanizm przetwarzania 30modyfikowanie formularza 437obs uga wyj tkoacutew 130Pracownicycshtml 453projektowanie 31transfer danych do kontrolera 36typu CRUD 52

Kup książkę Poleć książkę

Skorowidz 541

typu GridViewimplementacja 48

typy plikoacutew 30utworzenie 30uzupe nianie tre ci 33walidacja 435wi zanie z modelem 437wstawianie rekordoacutew 312wynikoacutew ankiety 105wy wietlanie wpisoacutew 432

wielodziedziczenie 360Windows Authentication Provider 149Windows Data Protection API 187Windows Forms

implementacja klienta 483Windows Live ID 149w a ciwo

ConnectionString 243IsMobileDevice 460ModelStateIsValid 47

wstawianie rekordoacutew 299wstrzykni cie kodu 181 185wykresy 406

konfiguracjaserii danych 407typu 407

pobranie danych roacuted owych 408wy czenie aplikacji 171wyra enia lambda 46wyra enia regularne 73

atrybuty modelu 84liczba wyst pie sk adnikoacutew 76wzorzec

adres URL 83imi e skie 81kod pocztowy 80tworzenie 76

znaki i cyfry 74znaki specjalne 74znaki w wyznaczonych miejscach a cucha 75

wzorzecodnajdywanie

znakoacutew i cyfr 74znakoacutew specjalnych 74znakoacutew w wyznaczonych miejscach

a cucha 75okre lanie

liczby wyst pie znakoacutew 76

XXSS 181

Zzabezpieczenia

aplikacji bazodanowych 335ataki XSS 187informacje o b dach 171kodu po redniego 338konfiguracja 161konfiguracja aplikacji

kreatory 162obs uga wyj tkoacutew 171pliku konfiguracyjnego 167 187przed atakami 148ustawienia aplikacji 167witryny 181zarz dzanie dostawcami us ug 178z o liwy kod 181

zarz dzanieu ytkownikami i grupami 211

dost p do panelu administracyjnego 216lista grup 221podzia na grupy 220pobieranie listy 213tworzenie nowej grupy 222zmiana przynale no ci do grupy 215

z o ono ci aplikacji 16zdarzenie

DataGridViewCellDoubleClick 491rejestrowanie 430

z o liwy koddzia anie 181

znacznikinput 288

znaki specjalneodnajdywanie 74

zwi zanie z modelem 48zwi zek 347

danie 25asynchroniczna obs uga 92 466 470

skrypty 318zadania 473

GET 64POST 64przetwarzanie 127zablokowanie obs ugi 124

Kup książkę Poleć książkę

Notatki

Kup książkę Poleć książkę

Skorowidz 531

AuthConfig 461BundleConfig 475Configuration 170ConfigurationManager 170ConfigurationSection 187 188ConnectionStringBuilder 345DpapiProtectedConfigurationProvider 187FiltryRaportuMacierzowego 397Form1 484FormsAuthentication 152Global 430HandleErrorInfo 133HtmlHelper 437HttpClient 483 486HttpResponseMessage 486kontekstu 362LogOnModel 198MarshallByRefObject 341Membership 152 198 211MvcApplication 430NorthwindContext 362ObjectContext 348ObjectQueryltTgt 348Order_Details 362Orders 361Osoba 228ParametryWatku 470Pracownik 484Products 361Produkt 230Raport 392RequestBrowser 460ResultExecutedContext 144ResultExecutingContext 144Roles 211RsaProtectedConfigurationProvider 187SQLConnCAS

definicja 340stowarzyszona z modelem 69SystemNetHttpFormattingJsonMediaTypeF

ormatter 491SystemTextRegularExpressions 74SystemWebSecurityRoles 159Task 465 472testuj ca 29Thread 465 469TransactionScope 327UrlRoutingModule 121ViewData 434 436 439WebApiConfig 478WebConfigurationManager 170Wpisy 427 436

klucze 237MAC 155obce 238podstawowe 238

kluczowe wska niki efektywno ci 403dynamiczna zmiana warto ci 404

Knockout 227wykorzystanie szablonoacutew JavaScript 230wywo anie skryptu 229

kodowanie danychprzekazywanych przez u ytkownikoacutew 186

komponentFormDanePracownika 489obiektu

PartialView 99typu ListBox 99

ReportViewer 368 375eksport danych 413nawigacja mi dzy stronami raportu 377

komponenty u ytkownika 30komunikaty o b dach 171

kod statusowy 174 175koncepcja programowania zdarzeniowego 16konfiguracja

po czenia z baz danych 241uprawnie puli aplikacji 454walidacji danych 66

konkurencyjno aplikacji 332kontekst wi zania 389kontrola wprowadzanych danych 263

metoda onColumnChanged 269wstrzymanie walidacji wiersza 267zako czenie edycji rekordu 267

wymuszenie 267kontroler 16 25

AccountController 195Admin 223AdminController 212aplikacja Kardy 63asynchroniczny 466

a zadania 472dane wyj ciowe 25domeny 150ErrorController 174Glosowania 103Home 182 224 228 231

Bezpiecze stwo 336filtr wyj tku 131

HomeController 184EksportDanych 415Northwind 245

interfejs Web API 477KsiegaGosciController 424

Kup książkę Poleć książkę

532 ASPNET MVC

kontrolerLista 93Mapa 33

autouzupe nianie 117modyfikacja 45

niedost pne metody publiczne 136obs uga POST 431panelu administracyjnego 212

zarz dzanie grupami u ytkownikoacutew 220Pracownicy 57 64PracownicyController

implementacja 481Produkty 351projektowanie 27przekazywanie danych do widoku

zmiany 439uwierzytelnienia 195

klasa 198model 196widoki 203

uzupe nienie o widok 31u ycie modelu odsy anego przez widok 440ValuesController 478weryfikacja funkcjonalno ci 28wi zanie adresu URL z akcj 430widoki 58

konwersja obrazu 278kreator

Add New Item 242Add View 59 302Application 162blokowania szczegoacute oacutew b doacutew 172dodanie u ytkownikoacutew 164grup u ytkownikoacutew 165Provider 162Publish Web 501Security 162tworzenia pracownika 59ustawie aplikacji 167widokoacutew 60wyboacuter dostawcoacutew us ug 178

kwerendy parametryczne 274 401

Llayout witryny 30LINQ

to Entities 349lista rekordoacutew 301

prezentacja 304logika

aplikacji 30bazodanowa 30biznesowa 44

a cuch QueryString 26

Mmaster 315mechanizm

automatycznych w a ciwo ci 57autoryzacji 157eksportu danych 413filtroacutew 127grupowania plikoacutew 475IntelliSense 119QuerynotString 117szyfruj cy 187transakcji 319 321

przelewy bankowe 326wyznaczania trasy przejzdu 34

meotdaInsert 299ProtectSection 191WersjonowanieDataRow

definicja widoku 265message authentication code 155metoda

on 262HtmlValidationSummary 204About 124AcceptChanges 255 263ActionLinkActionLink 61 63 353AddUserToRole 159akcji 25

parametry opcjonalne 27aktualizacja statystyk ankiety 105AktualizujZdjeciePracownika 288Application_AuthenticateRequest 108Application_BeginRequest 107 108Application_End 108Application_EndRequest 107Application_Error 108 172Application_Start 108 123 139 430asynchroniczna kontrolera 472AttachTo 356Authenticate 152AutoUzupelnienie 117

zapytanie LINQ 118BeginEdit 267BeginForm 47 94BeginTransaction 326 332CancelEdit 263ChangeObjectState 356

Kup książkę Poleć książkę

Skorowidz 533

ChangePassword 200hiper cze 208widok 206

ChangePasswordSuccesswidok 206

CreateNazwaEncji 354CreateRole 159CreateUser 153czyBazaDanychIstnieje 326daneDostawcyForm 262DBeginnotEdit 263Delete 270DeleteObject 357DeleteRole 159DeleteUser 153DeszyfrujPlikKonfiguracyjny 191DodajDostawce 255DodajElementDoListy 94 97 101DodajGrupe 223DodajKomentarz 185DodajPracownika 299 491DopiszDoPlikuLog 430Edit 356EdytujDaneDostawcy 261EdytujDanePracownika 493Eksportuj 418EmptyResult 26EndEdit 263EndForm 47ErrorCodeToString 201Fill 246FillByCityName 275FormatDateTime 390FormsAuthenticationSetCookie 199GenerujDane 468Get(int id) 478GetAllRoles 159GetAsync 486GetChildRecords 291GetSection 170GetSectionGroup 170GetUser 153GetUsersInRole 160globalna

aplikacji ASPNET 108Grupy 223HasVersion 263HtmlListBox 97HtmlRenderPartial 101HtmlValidationSummary 61HtmlHelperLabel 437ImiePierwszegoPracownika 246 247Include 475Index 47 79 97 101

kontrolera Mapa 34testowanie 28

IsAjaxRequest 101IsMatch 76IsNotNull 29IsUserInRole 159Label 35ListaDostawcow 252 255ListaPracownikow 248

hiper cze skojarzone 249LogOff 198LogOn 198Macierzowy 397mapowalna 26MetodaAsynchronicznaWatki 472ModelStateAddModelError 199MvcApplicationRegisterRoutes 430obs uga zapyta POST 431odczyt aktualnych bilansoacutew kont 323OdczytajStanyKont 326OnActionExecuted 143OnActionExecuting 127 143onColumnChanged 269OnResultExecuted 144OnResultExecuting 144onRowChanged 266onRowChanging 268OpenConfiguration 170otwarcie po czenia z baz danych 341OtworzPlikDanych 107Page_Load 399PartialViewResult 26PobierzDane 394

modyfikacja 401PobierzPlikLogu 141 143PobierzZdjecie 278PokazTrasy 51PokazWyniki 107pomocnicza 25 455

HtmlEncode 51wykorzystanie 456

PostAsJsonAsync 486PostAsXmlAsync 486PostAsync 486PostResolveRequestCache 121PracownicyWedlugMiast

przechowywanie warto ci filtru 285PutAsJsonAsync 493PutAsXmlAsync 493PutAsync 493ReadAsAsync 486ReadXml 107ReadXmlSchema 107RedirectFromLoginPage 152

Kup książkę Poleć książkę

534 ASPNET MVC

metodaRedirectResult 26RedirectToAction 26RedirectToLoginPage 152RedirectToRoute 26RedirectToRouteResult 26RefreshReport 384Register 199 478RegisterAuth 461 462RegisterBundles 475RegisterGlobalFilters 171RegisterRoutes 94 123RejectChanges 256 263rejestrowanie zdarze aplikacji 430RemoveUserFromRole 160Render 384 413 418RenderPartial 99ResponseWrite 223ResultExecuteResult 143RoleExists 159RolesIsUserInRole 216RolesRemoveUsersFromRole 223route 35RowsAdd 255RozpocznijEdycje 269

hiper cze uruchamiaj ce 267SaveChanges 354ScaffoldingMasterDetail 317Session_End 108Session_Start 108SetAuthCookie 152SetParameters 401 405SignOut 152SprawdzDopasowania 79SprawdzPoprawnoscDatyZatrudnienia 67SqlPermissionAdd 343SqlTransactionCommit 326SqlTransactionRollback 326StronaNieIstnieje 175submit 115SzyfrowaniePlikuKonfiguracyjnego 190szyfruj ca i deszyfruj ca 189SzyfrujPlikKonfiguracyjny 191TextBox 35ThreadSleep 469 472TransactionScopeComplete 329Transfer 36UpdateUser 153UstawParametryRaportu 399UsunGrupe 223UsunTrase 50 51UtworzPracownika 64Uzytkownicy 216ValidateUser 152 153

ValidationMessage 437ValidationMessageFor 61ValidationSummary 437ViewResult 26WebApiConfigRegister 478WersjonowanieDataRow 265

sparametryzowanie 266WpisyZapiszDoPlikuXml 430wykonywanie przelewoacutew 323WyswietlLog 141 142 143wyswietlMape 34 35WyswietlTrase 50

modyfikacja 135 166wyznaczTrase 35ZaktualizujWyniki 107Zapami tajNazw U ytkownika 432ZmienStanKont 328

Microsoft SQL Server 319sposoby uwierzytelnienia 344

MIME type 390minification 476minimalizacja 476model 16 39

APM 464ChangePasswordModel 196EAP 465integracja z elementami aplikacji 39LogOnModel 196obs uga plikoacutew XML 427przesy anie z kontrolera do widoku 432 435RegisterModel 196TAP 465

model binding 48model danych encji 348

dodawanie encji 353edycja encji 355kreator 348 349

czenie encji 359metody akcji 354opcje 361projektowanie relacji 43tworzenie 349

schematu bazy danych 357usuwanie encji 357wyboacuter tabel 350

model first 52model zwi zkoacutew encji 347models 16Model-View-Controller 15Model-View-ViewModel 227Model-Widok-Kontroler 15modu

UrlAuthorizationModule 157

Kup książkę Poleć książkę

Skorowidz 535

MVC 15a Web Forms 16 365 367 423

kod 442serwer internetowych us ug

informacyjnych 495wydajno 443wykorzystanie w projektach 444

ataki XSS 185autoryzacja 158 162bezpiecze stwo aplikacji 152buforowanie 134domy lne wzorce aplikacji 21kreator aplikacji 20mechanizm filtrowania 127Model Binder 355nazwa kontrolera 27obs uga interakcji klient-serwer 121parametry opcjonalne 27pobieranie parametru z adresu URL 26projektowanie aplikacji 18 52przetwarzanie dania aplikacji klienckiej 18sprawdzanie poprawno ci danych 68struktura modelu 39techniki walidacji danych 53utworzenie widoku 30uzupe nianie o komponenty graficzne 367walidacja 438wersja 4 449wyboacuter mechanizmu przetwarzaj cego widoki 21wzorce URL 122zbioacuter modeli szablonu aplikacji 196roacuted o danych 40

MVC4 449grupowanie i optymalizacja skryptoacutew 475kaskadowe arkuszye stylu 475przetwarzanie asynchroniczne 464przystosowanie do urz dze mobillnych 457testowanie aplikacji 457uwierzytelnianie 460

integracja z portalem Facebook 462wsparcie dla urz dze mobilnych 450zdalna autoryzacja 461

MVVM 227

Nnarz dzie

aspnet_regiis 187przetwarzanie tekstu 73

Northwindinstalacja 240kwerenda wybieraj ca 240pobieranie informacji o dostawcach 251

NuGET 483nullable-types 27

OOAuth 461obiekt

AppDomain 339 341Chart 406Command 239Connection 239 241

w a ciwo i 243ConnectionString 343

sposoby uwierzytelniania 344szyfrowanie informacji 335

DataAdapter 239DataGridView 491DataReader 239 273DataRow 255

kontrola wprowadzonych danych 263usuwanie rekordoacutew 270wersje 263wersja proponowana 265wersjonowanie 263w a ciwo ci 255

DataSet 239 244 345edycja rekordoacutew 257kreator konfiguracji TableAdapter 274modyfikacja danych 249tworzenie nowych rekordoacutew 250usuwanie rekordoacutew 271wstawianie rekordoacutew 251wymuszenie wi zoacutew integralno ci 292

DataTable 107DirectionsService 35dostawca 153FormCollection 47jqXHR 218List 389logiki biznesowej 348materializacja 348Matrix 390Membership 152MvcRouteHandler 121 122o okre lonym typie danych 244o silnej typizacji 244o s abej typizacji 247ObjectStateManager 348PartialView 98ReportViewer 368ReportViewerLocalReport 418Request 26 101 432Response 26Route 122ShippersRow 255SqlConnCAS 341SqlConnection 326

Kup książkę Poleć książkę

536 ASPNET MVC

obiektTableAdapter 239 244 273 274 345

edycja danych 279 286wstawianie danych 294

TransactionScope 329parametryzacja 331

typuadres 118AppDomain 466ConcurrentDictionary 479NorthwindDataSet 247ObjectSetltTgt 348Route 121Thread 466

UrlRoutingModule 121ViewBag 36

przekazywanie danych do widoku WebForms 376

ViewData 36 79 432Object Relational Mapping 347Object Services 348obs uga b doacutew

konfiguracja 132w czenie 129

odrzucenie informacji o transakcji 148od wie anie witryny

a fragment widoku 97aktualizacja zawarto ci 113cz ciowe 96

OnSuccess 96operator

await 474konkatenacji 382Top 411Top N 411

ORM 347

Pparametr

CountryName 401data 115filtr 117mapDivId 35maxIloscRekordow 117Order 137raportu 395scopeTimeOut 330

warto ci 330TransactionScopeOption

warto ci 329type 115

parametryzacja kwerend 274partial view 30

piaskownica 341Plain Old CLR Object 360platforma NET

us ugi uwierzytelniania 153plik

ascx 22aspx 22bmp 390cookie 151cookies 154 155cshtml 22 434css 475edmx 360jpg 390js 475konfiguracyjny

zabezpieczenie 187master 22png 390rdl 368rdlc 368tekstowy

wy wietlenie w przegl darce 143vbhtml 22

POCO 360pola klucza 237polecenie

HtmlEncode 187ScriptsRender 476StylesRender 476GET 18POST 18

po czenieze roacuted em danych 241

pomocnik HTML 455Portable Document Format 413po rednik 341poziom izolacji 332

Chaos 333konfiguracja 332ReadCommitted 333ReadUncommitted 333Serializable 333Snapshot 333Unspecified 333

poziom zaufania 339ograniczenie 340

proceduraajax 115AjaxBeginForm 96niemapowalna 26PartialView 26serialize 115

Kup książkę Poleć książkę

Skorowidz 537

proces 465programowanie

oparte na zdarzeniach 17zdarzeniowe 17

projekt aplikacji MVCankieta 102asynchroniczne przetwarzanie da HTTP 92Bezpiecze stwo 181 336

nawi zanie komunikacji ze roacuted emdanych 342

szyfrowanie pliku konfiguracyjnego 191dodawanie i wy wietlanie komentarzy 183domy lny 20EksportDanych 413Filtry 131formularz oceny 107Kadry

walidacja adresu e-mail 84Kardy 55KsiegaGosci_MVC3 424lista prezentuj ca dodawane elementy 97MojaNawigacja 18

blokowanie samodzielnego tworzeniakont 224

buforowanie danych 135implementacja warstwy dost pu 42instalacja na serwerze IIS 500komunikat powitalny 168komunikaty 110komunikaty o b dach 173mechanizm podpowiedzi 115model weryfikuj cy po wiadczenia

u ytkownikoacutew 196modele kontrolera uwierzytelnienia 196od wie enie widoku mapy 109struktura 21szablon 19szablon witryny 225trasowanie da HTTP 123uzupe nienie o baz danych 40uzupe nienie o walidacj danych 69widok b du 175zablokowanie nieautoryzowanego

dost pu 128zarz dzanie u ytkownikami 163zarz dzanie grupami u ytkownikoacutew 212zarz dzanie procesem logowania 198

MsAjax 92NorthwindMVC 241

lista rekordoacutew 301szablon witryny 250

POCO 361priorytety regu filtrowania 137

Raport 368szablon

mechanizmy uwierzytelnienia 156zarz dzanie grupami u ytkownikoacutew 159

Transakcje 319aktualizacja danych 328formularz aktualizacji 328szablon stron 320

uzupe nianie widokiem GridView 49WyrazeniaRegularne 76Zapytania_EF 349

projekt aplikacji MVC4AsynchronicznyKontroler 466

prezentacja danych 468AutoryzacjaOAuth 461implementacja serwisu sieciowego 479konfiguracja grupowania 475MobileMvc 450

testowanie 457pobranie zdj cia 452przygotowanie listy pracownikoacutew 452SerwisSieciowy 477

projekt aplikacji Windows Formsedycja danych 487KlientWebAPI 483tworzenie nowych pracownikoacutew 486

dania typuDELETE 493POST 486PUT 491

projektowaniekontrolera 27widoku 31

protokoacuteFTP 495Kerberos 150NTLM 150SMTP 495SSL 337

proxy 341przechowywanie

informacji o trasach 44wynikoacutew g osowania 107

przeci enie aplikacji 147przekazywanie

danych 44mi dzy widokiem a kontrolerem 36

parametroacutew do metod akcji kontrolera 26przestrze nazw

SystemThreading 465przyjazne linki 122publikowanie aplikacji 495 500

na serwerze IIS 497

Kup książkę Poleć książkę

538 ASPNET MVC

pule aplikacji 465 497konfiguracja 498Windows 7 499Windows 8 500

Rraporty

dane w postaci macierzowej 390data 386definicja

dynamiczna 418filtrowanie danych 394

na poziomie roacuted a 401 418filtry 395formaty prezentacji danych 379grupowanie danych 381hiper cza 387

nawigacyjne 376kolumny obliczeniowe 378konfiguracja

filtrowania dynamicznego 396typu 392roacuted a danych 368

kreator formu 382macierzowe 391numery stron 386obrazy 390parametry 383 394

konfiguracja 399paski narz dziowe 379pola

bazy danych 386formularza 398raportu 390

po czenie z aplikacj 368prezentowanie uk adu graficznego 383projektowanie 371

i prezentowanie 368przystosowanie strony do obs ugi raportoacutew

387renderowanie 368tryby definicji 368tworzenie

definicji lokalnej 368formu 378przy u yciu kreatora 372

uk ad 383wstawianie nag oacutewka i stopki 385wykresy 406wy wietlenie 375

Razor 21 30przetwarzanie definicji widoku 208

RDL 418rekordy

edycja 307lista 301tworzenie 311usuwanie 305

Relationship 347Report Definition Language 418Report Wizard 371repudiation 148request 442response 442responsywno 464rollback transaction 319routing 22 430routowanie 121

SSandBox 341scaffolding 301Secure Socket Layer 337sekcja

membership 178roleManager 179set 441

serwerSMTP

konfiguracja 171us ug informacyjnych 149

weryfikacja to samo ci u ytkownika 149Simple Mail Transfer Protocol 495s owo kluczowe

helper 455await 474using 47 329

spaghetti code 18spoofing 147SQL Server Reporting Services 367SSRS 367stan pola

typu CheckBox 269pobieranie 264

STRIDE 148strona startowa

MojaNawigacja 226strona wzorcowa 30

aplikacji Kadry 55referencja do bibliotek skryptoacutew 70

systemowy serwer us ug informacyjnych 121szyfrowanie po czenia 335

ze roacuted em danych 336

Kup książkę Poleć książkę

Skorowidz 539

Ttabela danych

Categories 418Customers 305deklaracje kaskadowych arkuszy stylu 275edycja

danych 279danych w wierszu 257rekordoacutew 307 310

Employees 240 288filtrowanie listy 275integralno danych 288Konta 321 326kwerenda wybieraj ca 240Orders 291 315OrdersDetails 307pobieranie fotografii 276pobranie danych z wykorzystaniem JScript 280prezentacja

danych 277 325informacji 252listy danych 248pierwszego rekordu 246rekordoacutew 317

przekazanie do widoku 248Shippers 251tworzenie rekordoacutew 311umieszczenie w bazie danych 321uruchomienie edycji danych 258usuwanie

danych 288rekordoacutew 271 305 306

widok b du 268wstawianie

danych 294rekordoacutew 251

wy wietlenie listykonfiguracja hiper cza 315

zako czenie edycji rekordu 267tablica asocjacyjna 479tablica bajtoacutew

konwersja do bitmapy 277tampering 147task pane 371Task-based Asynchronous Pattern 465TDD 15

test jednostkowy funkcjonalno ci kontrolera28

Test-Driven Development 15testowanie

aplikacji 29wzorcoacutew wyra e regularnych 76 78

Toolbox 274

transakcje 319automatyczne zarz dzanie 327otaczaj ce 329poziom izolacji 332tworzenie i r czna kontrola 319

trasowanie 121aplikacja 430blokowanie dost pu 124domy lne regu y 123Ksi gaGosci_MVC3 430w asne regu y 124

trasowanie adresoacutew URL 121T-SQL 319

czynno ci bazodanowe 345tworzenie

bazy danych 40interfejsu u ytkownika

jQM 459szablony 231wzorzec MVVM 227

u ytkownika 200kody b doacutew 201

widoku Index 231wzorcoacutew wyra e regularnych 76

typed DataSet 244typizacja

silna 46s aba 46

typy puste 27

Uujawnienie krytycznych informacji 147ukryte pola 441Uniform Resource Locator 18URL 18uruchomienie aplikacji 503us uga

AspNetSqlProvider 178ustawienia aplikacji 167

odczytanie z pliku konfiguracyjnego 169UTC 155uwierzytelnienie 149

centralny serwis 151certyfikaty 150formularze logowania 151

atrybuty elementu forms 154konfiguracja 153mechanizmy zintegrowane z ASPNET 149na bazie protoko u NTLM 150przekazywanie informacji 151proste 150skroacutecone 150us ugi systemu Windows 150

Kup książkę Poleć książkę

540 ASPNET MVC

Vvariable placeholders 122view engine 21views 16viewstate 442Visual Studio

kreator projektu 19Visual Studio Development Server 496VS 2012

instalacja 240kreator Add New Item 242

VSDS 496

Wwalidacja

adresue-mail 83URL 83WWW 84

danych 53a technologia Entity Framework 68konfiguracja 66modelu Pracownik 66odwo anenie do jQuery 61po stronie klienta 67wyra enia regularne 73

skrypty i style walidatoroacutew 438w asno ci klasy encji 435

w tek 465Web API 477

edycja danych 491klient 483konfiguracja interfejsu 478obs uga da typu POST 486pobranie danych z serwera 485serwis sieciowy 479usuwanie danych 493

web serwer 495Web Site Administration Tool 161

konfigurowanie uprawnie 165zarz dzanie

dostawcami us ug 178u ytkownikami 163

WebForms 17bezpiecze stwo aplikacji 152integracja komponentoacutew z MVC 367kontrolka Repeater 434obs uga wyj tkoacutew 172przetwarzanie dania aplikacji klienckiej 18separacja modelu 427weryfikacja poprawno ci projektu 434

weryfikacjakodu pocztowego 81to samo ci 151

widok 16 25 30aplikacji

MVC4 453przystosowanie do urz dze mobilnych

459Transakcje 326

cz ciowy 30dodawanie 31edycji klienta 307elementy 31formularz

dodawania wpisu 425logowania 203

kontroleraaplikacja Kadry 58panelu administracyjnego 222

kontrolera AdminController 213kontrolera Dopasowania 77kontrolera ErrorControler 174kontrolera Glosowania 103kontrolera Home 131 169 182 307

metodaWyswietlLog 142Raport 375Transakcje 320

kontrolera HomeController 246AsynchronicznyKontroler 468EksportDanych 417

kontrolera Lista 93kontrolera Mapa 33 34

formularz 70Trasa 50

kreatorakonta u ytkownika 205zmiany has a 206

listyklientoacutew 302pracownikoacutew 61wyznaczonych tras 48zamoacutewie 316

mapyod wie enie 108parametryzacja 34

mechanizm przetwarzania 30modyfikowanie formularza 437obs uga wyj tkoacutew 130Pracownicycshtml 453projektowanie 31transfer danych do kontrolera 36typu CRUD 52

Kup książkę Poleć książkę

Skorowidz 541

typu GridViewimplementacja 48

typy plikoacutew 30utworzenie 30uzupe nianie tre ci 33walidacja 435wi zanie z modelem 437wstawianie rekordoacutew 312wynikoacutew ankiety 105wy wietlanie wpisoacutew 432

wielodziedziczenie 360Windows Authentication Provider 149Windows Data Protection API 187Windows Forms

implementacja klienta 483Windows Live ID 149w a ciwo

ConnectionString 243IsMobileDevice 460ModelStateIsValid 47

wstawianie rekordoacutew 299wstrzykni cie kodu 181 185wykresy 406

konfiguracjaserii danych 407typu 407

pobranie danych roacuted owych 408wy czenie aplikacji 171wyra enia lambda 46wyra enia regularne 73

atrybuty modelu 84liczba wyst pie sk adnikoacutew 76wzorzec

adres URL 83imi e skie 81kod pocztowy 80tworzenie 76

znaki i cyfry 74znaki specjalne 74znaki w wyznaczonych miejscach a cucha 75

wzorzecodnajdywanie

znakoacutew i cyfr 74znakoacutew specjalnych 74znakoacutew w wyznaczonych miejscach

a cucha 75okre lanie

liczby wyst pie znakoacutew 76

XXSS 181

Zzabezpieczenia

aplikacji bazodanowych 335ataki XSS 187informacje o b dach 171kodu po redniego 338konfiguracja 161konfiguracja aplikacji

kreatory 162obs uga wyj tkoacutew 171pliku konfiguracyjnego 167 187przed atakami 148ustawienia aplikacji 167witryny 181zarz dzanie dostawcami us ug 178z o liwy kod 181

zarz dzanieu ytkownikami i grupami 211

dost p do panelu administracyjnego 216lista grup 221podzia na grupy 220pobieranie listy 213tworzenie nowej grupy 222zmiana przynale no ci do grupy 215

z o ono ci aplikacji 16zdarzenie

DataGridViewCellDoubleClick 491rejestrowanie 430

z o liwy koddzia anie 181

znacznikinput 288

znaki specjalneodnajdywanie 74

zwi zanie z modelem 48zwi zek 347

danie 25asynchroniczna obs uga 92 466 470

skrypty 318zadania 473

GET 64POST 64przetwarzanie 127zablokowanie obs ugi 124

Kup książkę Poleć książkę

Notatki

Kup książkę Poleć książkę

532 ASPNET MVC

kontrolerLista 93Mapa 33

autouzupe nianie 117modyfikacja 45

niedost pne metody publiczne 136obs uga POST 431panelu administracyjnego 212

zarz dzanie grupami u ytkownikoacutew 220Pracownicy 57 64PracownicyController

implementacja 481Produkty 351projektowanie 27przekazywanie danych do widoku

zmiany 439uwierzytelnienia 195

klasa 198model 196widoki 203

uzupe nienie o widok 31u ycie modelu odsy anego przez widok 440ValuesController 478weryfikacja funkcjonalno ci 28wi zanie adresu URL z akcj 430widoki 58

konwersja obrazu 278kreator

Add New Item 242Add View 59 302Application 162blokowania szczegoacute oacutew b doacutew 172dodanie u ytkownikoacutew 164grup u ytkownikoacutew 165Provider 162Publish Web 501Security 162tworzenia pracownika 59ustawie aplikacji 167widokoacutew 60wyboacuter dostawcoacutew us ug 178

kwerendy parametryczne 274 401

Llayout witryny 30LINQ

to Entities 349lista rekordoacutew 301

prezentacja 304logika

aplikacji 30bazodanowa 30biznesowa 44

a cuch QueryString 26

Mmaster 315mechanizm

automatycznych w a ciwo ci 57autoryzacji 157eksportu danych 413filtroacutew 127grupowania plikoacutew 475IntelliSense 119QuerynotString 117szyfruj cy 187transakcji 319 321

przelewy bankowe 326wyznaczania trasy przejzdu 34

meotdaInsert 299ProtectSection 191WersjonowanieDataRow

definicja widoku 265message authentication code 155metoda

on 262HtmlValidationSummary 204About 124AcceptChanges 255 263ActionLinkActionLink 61 63 353AddUserToRole 159akcji 25

parametry opcjonalne 27aktualizacja statystyk ankiety 105AktualizujZdjeciePracownika 288Application_AuthenticateRequest 108Application_BeginRequest 107 108Application_End 108Application_EndRequest 107Application_Error 108 172Application_Start 108 123 139 430asynchroniczna kontrolera 472AttachTo 356Authenticate 152AutoUzupelnienie 117

zapytanie LINQ 118BeginEdit 267BeginForm 47 94BeginTransaction 326 332CancelEdit 263ChangeObjectState 356

Kup książkę Poleć książkę

Skorowidz 533

ChangePassword 200hiper cze 208widok 206

ChangePasswordSuccesswidok 206

CreateNazwaEncji 354CreateRole 159CreateUser 153czyBazaDanychIstnieje 326daneDostawcyForm 262DBeginnotEdit 263Delete 270DeleteObject 357DeleteRole 159DeleteUser 153DeszyfrujPlikKonfiguracyjny 191DodajDostawce 255DodajElementDoListy 94 97 101DodajGrupe 223DodajKomentarz 185DodajPracownika 299 491DopiszDoPlikuLog 430Edit 356EdytujDaneDostawcy 261EdytujDanePracownika 493Eksportuj 418EmptyResult 26EndEdit 263EndForm 47ErrorCodeToString 201Fill 246FillByCityName 275FormatDateTime 390FormsAuthenticationSetCookie 199GenerujDane 468Get(int id) 478GetAllRoles 159GetAsync 486GetChildRecords 291GetSection 170GetSectionGroup 170GetUser 153GetUsersInRole 160globalna

aplikacji ASPNET 108Grupy 223HasVersion 263HtmlListBox 97HtmlRenderPartial 101HtmlValidationSummary 61HtmlHelperLabel 437ImiePierwszegoPracownika 246 247Include 475Index 47 79 97 101

kontrolera Mapa 34testowanie 28

IsAjaxRequest 101IsMatch 76IsNotNull 29IsUserInRole 159Label 35ListaDostawcow 252 255ListaPracownikow 248

hiper cze skojarzone 249LogOff 198LogOn 198Macierzowy 397mapowalna 26MetodaAsynchronicznaWatki 472ModelStateAddModelError 199MvcApplicationRegisterRoutes 430obs uga zapyta POST 431odczyt aktualnych bilansoacutew kont 323OdczytajStanyKont 326OnActionExecuted 143OnActionExecuting 127 143onColumnChanged 269OnResultExecuted 144OnResultExecuting 144onRowChanged 266onRowChanging 268OpenConfiguration 170otwarcie po czenia z baz danych 341OtworzPlikDanych 107Page_Load 399PartialViewResult 26PobierzDane 394

modyfikacja 401PobierzPlikLogu 141 143PobierzZdjecie 278PokazTrasy 51PokazWyniki 107pomocnicza 25 455

HtmlEncode 51wykorzystanie 456

PostAsJsonAsync 486PostAsXmlAsync 486PostAsync 486PostResolveRequestCache 121PracownicyWedlugMiast

przechowywanie warto ci filtru 285PutAsJsonAsync 493PutAsXmlAsync 493PutAsync 493ReadAsAsync 486ReadXml 107ReadXmlSchema 107RedirectFromLoginPage 152

Kup książkę Poleć książkę

534 ASPNET MVC

metodaRedirectResult 26RedirectToAction 26RedirectToLoginPage 152RedirectToRoute 26RedirectToRouteResult 26RefreshReport 384Register 199 478RegisterAuth 461 462RegisterBundles 475RegisterGlobalFilters 171RegisterRoutes 94 123RejectChanges 256 263rejestrowanie zdarze aplikacji 430RemoveUserFromRole 160Render 384 413 418RenderPartial 99ResponseWrite 223ResultExecuteResult 143RoleExists 159RolesIsUserInRole 216RolesRemoveUsersFromRole 223route 35RowsAdd 255RozpocznijEdycje 269

hiper cze uruchamiaj ce 267SaveChanges 354ScaffoldingMasterDetail 317Session_End 108Session_Start 108SetAuthCookie 152SetParameters 401 405SignOut 152SprawdzDopasowania 79SprawdzPoprawnoscDatyZatrudnienia 67SqlPermissionAdd 343SqlTransactionCommit 326SqlTransactionRollback 326StronaNieIstnieje 175submit 115SzyfrowaniePlikuKonfiguracyjnego 190szyfruj ca i deszyfruj ca 189SzyfrujPlikKonfiguracyjny 191TextBox 35ThreadSleep 469 472TransactionScopeComplete 329Transfer 36UpdateUser 153UstawParametryRaportu 399UsunGrupe 223UsunTrase 50 51UtworzPracownika 64Uzytkownicy 216ValidateUser 152 153

ValidationMessage 437ValidationMessageFor 61ValidationSummary 437ViewResult 26WebApiConfigRegister 478WersjonowanieDataRow 265

sparametryzowanie 266WpisyZapiszDoPlikuXml 430wykonywanie przelewoacutew 323WyswietlLog 141 142 143wyswietlMape 34 35WyswietlTrase 50

modyfikacja 135 166wyznaczTrase 35ZaktualizujWyniki 107Zapami tajNazw U ytkownika 432ZmienStanKont 328

Microsoft SQL Server 319sposoby uwierzytelnienia 344

MIME type 390minification 476minimalizacja 476model 16 39

APM 464ChangePasswordModel 196EAP 465integracja z elementami aplikacji 39LogOnModel 196obs uga plikoacutew XML 427przesy anie z kontrolera do widoku 432 435RegisterModel 196TAP 465

model binding 48model danych encji 348

dodawanie encji 353edycja encji 355kreator 348 349

czenie encji 359metody akcji 354opcje 361projektowanie relacji 43tworzenie 349

schematu bazy danych 357usuwanie encji 357wyboacuter tabel 350

model first 52model zwi zkoacutew encji 347models 16Model-View-Controller 15Model-View-ViewModel 227Model-Widok-Kontroler 15modu

UrlAuthorizationModule 157

Kup książkę Poleć książkę

Skorowidz 535

MVC 15a Web Forms 16 365 367 423

kod 442serwer internetowych us ug

informacyjnych 495wydajno 443wykorzystanie w projektach 444

ataki XSS 185autoryzacja 158 162bezpiecze stwo aplikacji 152buforowanie 134domy lne wzorce aplikacji 21kreator aplikacji 20mechanizm filtrowania 127Model Binder 355nazwa kontrolera 27obs uga interakcji klient-serwer 121parametry opcjonalne 27pobieranie parametru z adresu URL 26projektowanie aplikacji 18 52przetwarzanie dania aplikacji klienckiej 18sprawdzanie poprawno ci danych 68struktura modelu 39techniki walidacji danych 53utworzenie widoku 30uzupe nianie o komponenty graficzne 367walidacja 438wersja 4 449wyboacuter mechanizmu przetwarzaj cego widoki 21wzorce URL 122zbioacuter modeli szablonu aplikacji 196roacuted o danych 40

MVC4 449grupowanie i optymalizacja skryptoacutew 475kaskadowe arkuszye stylu 475przetwarzanie asynchroniczne 464przystosowanie do urz dze mobillnych 457testowanie aplikacji 457uwierzytelnianie 460

integracja z portalem Facebook 462wsparcie dla urz dze mobilnych 450zdalna autoryzacja 461

MVVM 227

Nnarz dzie

aspnet_regiis 187przetwarzanie tekstu 73

Northwindinstalacja 240kwerenda wybieraj ca 240pobieranie informacji o dostawcach 251

NuGET 483nullable-types 27

OOAuth 461obiekt

AppDomain 339 341Chart 406Command 239Connection 239 241

w a ciwo i 243ConnectionString 343

sposoby uwierzytelniania 344szyfrowanie informacji 335

DataAdapter 239DataGridView 491DataReader 239 273DataRow 255

kontrola wprowadzonych danych 263usuwanie rekordoacutew 270wersje 263wersja proponowana 265wersjonowanie 263w a ciwo ci 255

DataSet 239 244 345edycja rekordoacutew 257kreator konfiguracji TableAdapter 274modyfikacja danych 249tworzenie nowych rekordoacutew 250usuwanie rekordoacutew 271wstawianie rekordoacutew 251wymuszenie wi zoacutew integralno ci 292

DataTable 107DirectionsService 35dostawca 153FormCollection 47jqXHR 218List 389logiki biznesowej 348materializacja 348Matrix 390Membership 152MvcRouteHandler 121 122o okre lonym typie danych 244o silnej typizacji 244o s abej typizacji 247ObjectStateManager 348PartialView 98ReportViewer 368ReportViewerLocalReport 418Request 26 101 432Response 26Route 122ShippersRow 255SqlConnCAS 341SqlConnection 326

Kup książkę Poleć książkę

536 ASPNET MVC

obiektTableAdapter 239 244 273 274 345

edycja danych 279 286wstawianie danych 294

TransactionScope 329parametryzacja 331

typuadres 118AppDomain 466ConcurrentDictionary 479NorthwindDataSet 247ObjectSetltTgt 348Route 121Thread 466

UrlRoutingModule 121ViewBag 36

przekazywanie danych do widoku WebForms 376

ViewData 36 79 432Object Relational Mapping 347Object Services 348obs uga b doacutew

konfiguracja 132w czenie 129

odrzucenie informacji o transakcji 148od wie anie witryny

a fragment widoku 97aktualizacja zawarto ci 113cz ciowe 96

OnSuccess 96operator

await 474konkatenacji 382Top 411Top N 411

ORM 347

Pparametr

CountryName 401data 115filtr 117mapDivId 35maxIloscRekordow 117Order 137raportu 395scopeTimeOut 330

warto ci 330TransactionScopeOption

warto ci 329type 115

parametryzacja kwerend 274partial view 30

piaskownica 341Plain Old CLR Object 360platforma NET

us ugi uwierzytelniania 153plik

ascx 22aspx 22bmp 390cookie 151cookies 154 155cshtml 22 434css 475edmx 360jpg 390js 475konfiguracyjny

zabezpieczenie 187master 22png 390rdl 368rdlc 368tekstowy

wy wietlenie w przegl darce 143vbhtml 22

POCO 360pola klucza 237polecenie

HtmlEncode 187ScriptsRender 476StylesRender 476GET 18POST 18

po czenieze roacuted em danych 241

pomocnik HTML 455Portable Document Format 413po rednik 341poziom izolacji 332

Chaos 333konfiguracja 332ReadCommitted 333ReadUncommitted 333Serializable 333Snapshot 333Unspecified 333

poziom zaufania 339ograniczenie 340

proceduraajax 115AjaxBeginForm 96niemapowalna 26PartialView 26serialize 115

Kup książkę Poleć książkę

Skorowidz 537

proces 465programowanie

oparte na zdarzeniach 17zdarzeniowe 17

projekt aplikacji MVCankieta 102asynchroniczne przetwarzanie da HTTP 92Bezpiecze stwo 181 336

nawi zanie komunikacji ze roacuted emdanych 342

szyfrowanie pliku konfiguracyjnego 191dodawanie i wy wietlanie komentarzy 183domy lny 20EksportDanych 413Filtry 131formularz oceny 107Kadry

walidacja adresu e-mail 84Kardy 55KsiegaGosci_MVC3 424lista prezentuj ca dodawane elementy 97MojaNawigacja 18

blokowanie samodzielnego tworzeniakont 224

buforowanie danych 135implementacja warstwy dost pu 42instalacja na serwerze IIS 500komunikat powitalny 168komunikaty 110komunikaty o b dach 173mechanizm podpowiedzi 115model weryfikuj cy po wiadczenia

u ytkownikoacutew 196modele kontrolera uwierzytelnienia 196od wie enie widoku mapy 109struktura 21szablon 19szablon witryny 225trasowanie da HTTP 123uzupe nienie o baz danych 40uzupe nienie o walidacj danych 69widok b du 175zablokowanie nieautoryzowanego

dost pu 128zarz dzanie u ytkownikami 163zarz dzanie grupami u ytkownikoacutew 212zarz dzanie procesem logowania 198

MsAjax 92NorthwindMVC 241

lista rekordoacutew 301szablon witryny 250

POCO 361priorytety regu filtrowania 137

Raport 368szablon

mechanizmy uwierzytelnienia 156zarz dzanie grupami u ytkownikoacutew 159

Transakcje 319aktualizacja danych 328formularz aktualizacji 328szablon stron 320

uzupe nianie widokiem GridView 49WyrazeniaRegularne 76Zapytania_EF 349

projekt aplikacji MVC4AsynchronicznyKontroler 466

prezentacja danych 468AutoryzacjaOAuth 461implementacja serwisu sieciowego 479konfiguracja grupowania 475MobileMvc 450

testowanie 457pobranie zdj cia 452przygotowanie listy pracownikoacutew 452SerwisSieciowy 477

projekt aplikacji Windows Formsedycja danych 487KlientWebAPI 483tworzenie nowych pracownikoacutew 486

dania typuDELETE 493POST 486PUT 491

projektowaniekontrolera 27widoku 31

protokoacuteFTP 495Kerberos 150NTLM 150SMTP 495SSL 337

proxy 341przechowywanie

informacji o trasach 44wynikoacutew g osowania 107

przeci enie aplikacji 147przekazywanie

danych 44mi dzy widokiem a kontrolerem 36

parametroacutew do metod akcji kontrolera 26przestrze nazw

SystemThreading 465przyjazne linki 122publikowanie aplikacji 495 500

na serwerze IIS 497

Kup książkę Poleć książkę

538 ASPNET MVC

pule aplikacji 465 497konfiguracja 498Windows 7 499Windows 8 500

Rraporty

dane w postaci macierzowej 390data 386definicja

dynamiczna 418filtrowanie danych 394

na poziomie roacuted a 401 418filtry 395formaty prezentacji danych 379grupowanie danych 381hiper cza 387

nawigacyjne 376kolumny obliczeniowe 378konfiguracja

filtrowania dynamicznego 396typu 392roacuted a danych 368

kreator formu 382macierzowe 391numery stron 386obrazy 390parametry 383 394

konfiguracja 399paski narz dziowe 379pola

bazy danych 386formularza 398raportu 390

po czenie z aplikacj 368prezentowanie uk adu graficznego 383projektowanie 371

i prezentowanie 368przystosowanie strony do obs ugi raportoacutew

387renderowanie 368tryby definicji 368tworzenie

definicji lokalnej 368formu 378przy u yciu kreatora 372

uk ad 383wstawianie nag oacutewka i stopki 385wykresy 406wy wietlenie 375

Razor 21 30przetwarzanie definicji widoku 208

RDL 418rekordy

edycja 307lista 301tworzenie 311usuwanie 305

Relationship 347Report Definition Language 418Report Wizard 371repudiation 148request 442response 442responsywno 464rollback transaction 319routing 22 430routowanie 121

SSandBox 341scaffolding 301Secure Socket Layer 337sekcja

membership 178roleManager 179set 441

serwerSMTP

konfiguracja 171us ug informacyjnych 149

weryfikacja to samo ci u ytkownika 149Simple Mail Transfer Protocol 495s owo kluczowe

helper 455await 474using 47 329

spaghetti code 18spoofing 147SQL Server Reporting Services 367SSRS 367stan pola

typu CheckBox 269pobieranie 264

STRIDE 148strona startowa

MojaNawigacja 226strona wzorcowa 30

aplikacji Kadry 55referencja do bibliotek skryptoacutew 70

systemowy serwer us ug informacyjnych 121szyfrowanie po czenia 335

ze roacuted em danych 336

Kup książkę Poleć książkę

Skorowidz 539

Ttabela danych

Categories 418Customers 305deklaracje kaskadowych arkuszy stylu 275edycja

danych 279danych w wierszu 257rekordoacutew 307 310

Employees 240 288filtrowanie listy 275integralno danych 288Konta 321 326kwerenda wybieraj ca 240Orders 291 315OrdersDetails 307pobieranie fotografii 276pobranie danych z wykorzystaniem JScript 280prezentacja

danych 277 325informacji 252listy danych 248pierwszego rekordu 246rekordoacutew 317

przekazanie do widoku 248Shippers 251tworzenie rekordoacutew 311umieszczenie w bazie danych 321uruchomienie edycji danych 258usuwanie

danych 288rekordoacutew 271 305 306

widok b du 268wstawianie

danych 294rekordoacutew 251

wy wietlenie listykonfiguracja hiper cza 315

zako czenie edycji rekordu 267tablica asocjacyjna 479tablica bajtoacutew

konwersja do bitmapy 277tampering 147task pane 371Task-based Asynchronous Pattern 465TDD 15

test jednostkowy funkcjonalno ci kontrolera28

Test-Driven Development 15testowanie

aplikacji 29wzorcoacutew wyra e regularnych 76 78

Toolbox 274

transakcje 319automatyczne zarz dzanie 327otaczaj ce 329poziom izolacji 332tworzenie i r czna kontrola 319

trasowanie 121aplikacja 430blokowanie dost pu 124domy lne regu y 123Ksi gaGosci_MVC3 430w asne regu y 124

trasowanie adresoacutew URL 121T-SQL 319

czynno ci bazodanowe 345tworzenie

bazy danych 40interfejsu u ytkownika

jQM 459szablony 231wzorzec MVVM 227

u ytkownika 200kody b doacutew 201

widoku Index 231wzorcoacutew wyra e regularnych 76

typed DataSet 244typizacja

silna 46s aba 46

typy puste 27

Uujawnienie krytycznych informacji 147ukryte pola 441Uniform Resource Locator 18URL 18uruchomienie aplikacji 503us uga

AspNetSqlProvider 178ustawienia aplikacji 167

odczytanie z pliku konfiguracyjnego 169UTC 155uwierzytelnienie 149

centralny serwis 151certyfikaty 150formularze logowania 151

atrybuty elementu forms 154konfiguracja 153mechanizmy zintegrowane z ASPNET 149na bazie protoko u NTLM 150przekazywanie informacji 151proste 150skroacutecone 150us ugi systemu Windows 150

Kup książkę Poleć książkę

540 ASPNET MVC

Vvariable placeholders 122view engine 21views 16viewstate 442Visual Studio

kreator projektu 19Visual Studio Development Server 496VS 2012

instalacja 240kreator Add New Item 242

VSDS 496

Wwalidacja

adresue-mail 83URL 83WWW 84

danych 53a technologia Entity Framework 68konfiguracja 66modelu Pracownik 66odwo anenie do jQuery 61po stronie klienta 67wyra enia regularne 73

skrypty i style walidatoroacutew 438w asno ci klasy encji 435

w tek 465Web API 477

edycja danych 491klient 483konfiguracja interfejsu 478obs uga da typu POST 486pobranie danych z serwera 485serwis sieciowy 479usuwanie danych 493

web serwer 495Web Site Administration Tool 161

konfigurowanie uprawnie 165zarz dzanie

dostawcami us ug 178u ytkownikami 163

WebForms 17bezpiecze stwo aplikacji 152integracja komponentoacutew z MVC 367kontrolka Repeater 434obs uga wyj tkoacutew 172przetwarzanie dania aplikacji klienckiej 18separacja modelu 427weryfikacja poprawno ci projektu 434

weryfikacjakodu pocztowego 81to samo ci 151

widok 16 25 30aplikacji

MVC4 453przystosowanie do urz dze mobilnych

459Transakcje 326

cz ciowy 30dodawanie 31edycji klienta 307elementy 31formularz

dodawania wpisu 425logowania 203

kontroleraaplikacja Kadry 58panelu administracyjnego 222

kontrolera AdminController 213kontrolera Dopasowania 77kontrolera ErrorControler 174kontrolera Glosowania 103kontrolera Home 131 169 182 307

metodaWyswietlLog 142Raport 375Transakcje 320

kontrolera HomeController 246AsynchronicznyKontroler 468EksportDanych 417

kontrolera Lista 93kontrolera Mapa 33 34

formularz 70Trasa 50

kreatorakonta u ytkownika 205zmiany has a 206

listyklientoacutew 302pracownikoacutew 61wyznaczonych tras 48zamoacutewie 316

mapyod wie enie 108parametryzacja 34

mechanizm przetwarzania 30modyfikowanie formularza 437obs uga wyj tkoacutew 130Pracownicycshtml 453projektowanie 31transfer danych do kontrolera 36typu CRUD 52

Kup książkę Poleć książkę

Skorowidz 541

typu GridViewimplementacja 48

typy plikoacutew 30utworzenie 30uzupe nianie tre ci 33walidacja 435wi zanie z modelem 437wstawianie rekordoacutew 312wynikoacutew ankiety 105wy wietlanie wpisoacutew 432

wielodziedziczenie 360Windows Authentication Provider 149Windows Data Protection API 187Windows Forms

implementacja klienta 483Windows Live ID 149w a ciwo

ConnectionString 243IsMobileDevice 460ModelStateIsValid 47

wstawianie rekordoacutew 299wstrzykni cie kodu 181 185wykresy 406

konfiguracjaserii danych 407typu 407

pobranie danych roacuted owych 408wy czenie aplikacji 171wyra enia lambda 46wyra enia regularne 73

atrybuty modelu 84liczba wyst pie sk adnikoacutew 76wzorzec

adres URL 83imi e skie 81kod pocztowy 80tworzenie 76

znaki i cyfry 74znaki specjalne 74znaki w wyznaczonych miejscach a cucha 75

wzorzecodnajdywanie

znakoacutew i cyfr 74znakoacutew specjalnych 74znakoacutew w wyznaczonych miejscach

a cucha 75okre lanie

liczby wyst pie znakoacutew 76

XXSS 181

Zzabezpieczenia

aplikacji bazodanowych 335ataki XSS 187informacje o b dach 171kodu po redniego 338konfiguracja 161konfiguracja aplikacji

kreatory 162obs uga wyj tkoacutew 171pliku konfiguracyjnego 167 187przed atakami 148ustawienia aplikacji 167witryny 181zarz dzanie dostawcami us ug 178z o liwy kod 181

zarz dzanieu ytkownikami i grupami 211

dost p do panelu administracyjnego 216lista grup 221podzia na grupy 220pobieranie listy 213tworzenie nowej grupy 222zmiana przynale no ci do grupy 215

z o ono ci aplikacji 16zdarzenie

DataGridViewCellDoubleClick 491rejestrowanie 430

z o liwy koddzia anie 181

znacznikinput 288

znaki specjalneodnajdywanie 74

zwi zanie z modelem 48zwi zek 347

danie 25asynchroniczna obs uga 92 466 470

skrypty 318zadania 473

GET 64POST 64przetwarzanie 127zablokowanie obs ugi 124

Kup książkę Poleć książkę

Notatki

Kup książkę Poleć książkę

Skorowidz 533

ChangePassword 200hiper cze 208widok 206

ChangePasswordSuccesswidok 206

CreateNazwaEncji 354CreateRole 159CreateUser 153czyBazaDanychIstnieje 326daneDostawcyForm 262DBeginnotEdit 263Delete 270DeleteObject 357DeleteRole 159DeleteUser 153DeszyfrujPlikKonfiguracyjny 191DodajDostawce 255DodajElementDoListy 94 97 101DodajGrupe 223DodajKomentarz 185DodajPracownika 299 491DopiszDoPlikuLog 430Edit 356EdytujDaneDostawcy 261EdytujDanePracownika 493Eksportuj 418EmptyResult 26EndEdit 263EndForm 47ErrorCodeToString 201Fill 246FillByCityName 275FormatDateTime 390FormsAuthenticationSetCookie 199GenerujDane 468Get(int id) 478GetAllRoles 159GetAsync 486GetChildRecords 291GetSection 170GetSectionGroup 170GetUser 153GetUsersInRole 160globalna

aplikacji ASPNET 108Grupy 223HasVersion 263HtmlListBox 97HtmlRenderPartial 101HtmlValidationSummary 61HtmlHelperLabel 437ImiePierwszegoPracownika 246 247Include 475Index 47 79 97 101

kontrolera Mapa 34testowanie 28

IsAjaxRequest 101IsMatch 76IsNotNull 29IsUserInRole 159Label 35ListaDostawcow 252 255ListaPracownikow 248

hiper cze skojarzone 249LogOff 198LogOn 198Macierzowy 397mapowalna 26MetodaAsynchronicznaWatki 472ModelStateAddModelError 199MvcApplicationRegisterRoutes 430obs uga zapyta POST 431odczyt aktualnych bilansoacutew kont 323OdczytajStanyKont 326OnActionExecuted 143OnActionExecuting 127 143onColumnChanged 269OnResultExecuted 144OnResultExecuting 144onRowChanged 266onRowChanging 268OpenConfiguration 170otwarcie po czenia z baz danych 341OtworzPlikDanych 107Page_Load 399PartialViewResult 26PobierzDane 394

modyfikacja 401PobierzPlikLogu 141 143PobierzZdjecie 278PokazTrasy 51PokazWyniki 107pomocnicza 25 455

HtmlEncode 51wykorzystanie 456

PostAsJsonAsync 486PostAsXmlAsync 486PostAsync 486PostResolveRequestCache 121PracownicyWedlugMiast

przechowywanie warto ci filtru 285PutAsJsonAsync 493PutAsXmlAsync 493PutAsync 493ReadAsAsync 486ReadXml 107ReadXmlSchema 107RedirectFromLoginPage 152

Kup książkę Poleć książkę

534 ASPNET MVC

metodaRedirectResult 26RedirectToAction 26RedirectToLoginPage 152RedirectToRoute 26RedirectToRouteResult 26RefreshReport 384Register 199 478RegisterAuth 461 462RegisterBundles 475RegisterGlobalFilters 171RegisterRoutes 94 123RejectChanges 256 263rejestrowanie zdarze aplikacji 430RemoveUserFromRole 160Render 384 413 418RenderPartial 99ResponseWrite 223ResultExecuteResult 143RoleExists 159RolesIsUserInRole 216RolesRemoveUsersFromRole 223route 35RowsAdd 255RozpocznijEdycje 269

hiper cze uruchamiaj ce 267SaveChanges 354ScaffoldingMasterDetail 317Session_End 108Session_Start 108SetAuthCookie 152SetParameters 401 405SignOut 152SprawdzDopasowania 79SprawdzPoprawnoscDatyZatrudnienia 67SqlPermissionAdd 343SqlTransactionCommit 326SqlTransactionRollback 326StronaNieIstnieje 175submit 115SzyfrowaniePlikuKonfiguracyjnego 190szyfruj ca i deszyfruj ca 189SzyfrujPlikKonfiguracyjny 191TextBox 35ThreadSleep 469 472TransactionScopeComplete 329Transfer 36UpdateUser 153UstawParametryRaportu 399UsunGrupe 223UsunTrase 50 51UtworzPracownika 64Uzytkownicy 216ValidateUser 152 153

ValidationMessage 437ValidationMessageFor 61ValidationSummary 437ViewResult 26WebApiConfigRegister 478WersjonowanieDataRow 265

sparametryzowanie 266WpisyZapiszDoPlikuXml 430wykonywanie przelewoacutew 323WyswietlLog 141 142 143wyswietlMape 34 35WyswietlTrase 50

modyfikacja 135 166wyznaczTrase 35ZaktualizujWyniki 107Zapami tajNazw U ytkownika 432ZmienStanKont 328

Microsoft SQL Server 319sposoby uwierzytelnienia 344

MIME type 390minification 476minimalizacja 476model 16 39

APM 464ChangePasswordModel 196EAP 465integracja z elementami aplikacji 39LogOnModel 196obs uga plikoacutew XML 427przesy anie z kontrolera do widoku 432 435RegisterModel 196TAP 465

model binding 48model danych encji 348

dodawanie encji 353edycja encji 355kreator 348 349

czenie encji 359metody akcji 354opcje 361projektowanie relacji 43tworzenie 349

schematu bazy danych 357usuwanie encji 357wyboacuter tabel 350

model first 52model zwi zkoacutew encji 347models 16Model-View-Controller 15Model-View-ViewModel 227Model-Widok-Kontroler 15modu

UrlAuthorizationModule 157

Kup książkę Poleć książkę

Skorowidz 535

MVC 15a Web Forms 16 365 367 423

kod 442serwer internetowych us ug

informacyjnych 495wydajno 443wykorzystanie w projektach 444

ataki XSS 185autoryzacja 158 162bezpiecze stwo aplikacji 152buforowanie 134domy lne wzorce aplikacji 21kreator aplikacji 20mechanizm filtrowania 127Model Binder 355nazwa kontrolera 27obs uga interakcji klient-serwer 121parametry opcjonalne 27pobieranie parametru z adresu URL 26projektowanie aplikacji 18 52przetwarzanie dania aplikacji klienckiej 18sprawdzanie poprawno ci danych 68struktura modelu 39techniki walidacji danych 53utworzenie widoku 30uzupe nianie o komponenty graficzne 367walidacja 438wersja 4 449wyboacuter mechanizmu przetwarzaj cego widoki 21wzorce URL 122zbioacuter modeli szablonu aplikacji 196roacuted o danych 40

MVC4 449grupowanie i optymalizacja skryptoacutew 475kaskadowe arkuszye stylu 475przetwarzanie asynchroniczne 464przystosowanie do urz dze mobillnych 457testowanie aplikacji 457uwierzytelnianie 460

integracja z portalem Facebook 462wsparcie dla urz dze mobilnych 450zdalna autoryzacja 461

MVVM 227

Nnarz dzie

aspnet_regiis 187przetwarzanie tekstu 73

Northwindinstalacja 240kwerenda wybieraj ca 240pobieranie informacji o dostawcach 251

NuGET 483nullable-types 27

OOAuth 461obiekt

AppDomain 339 341Chart 406Command 239Connection 239 241

w a ciwo i 243ConnectionString 343

sposoby uwierzytelniania 344szyfrowanie informacji 335

DataAdapter 239DataGridView 491DataReader 239 273DataRow 255

kontrola wprowadzonych danych 263usuwanie rekordoacutew 270wersje 263wersja proponowana 265wersjonowanie 263w a ciwo ci 255

DataSet 239 244 345edycja rekordoacutew 257kreator konfiguracji TableAdapter 274modyfikacja danych 249tworzenie nowych rekordoacutew 250usuwanie rekordoacutew 271wstawianie rekordoacutew 251wymuszenie wi zoacutew integralno ci 292

DataTable 107DirectionsService 35dostawca 153FormCollection 47jqXHR 218List 389logiki biznesowej 348materializacja 348Matrix 390Membership 152MvcRouteHandler 121 122o okre lonym typie danych 244o silnej typizacji 244o s abej typizacji 247ObjectStateManager 348PartialView 98ReportViewer 368ReportViewerLocalReport 418Request 26 101 432Response 26Route 122ShippersRow 255SqlConnCAS 341SqlConnection 326

Kup książkę Poleć książkę

536 ASPNET MVC

obiektTableAdapter 239 244 273 274 345

edycja danych 279 286wstawianie danych 294

TransactionScope 329parametryzacja 331

typuadres 118AppDomain 466ConcurrentDictionary 479NorthwindDataSet 247ObjectSetltTgt 348Route 121Thread 466

UrlRoutingModule 121ViewBag 36

przekazywanie danych do widoku WebForms 376

ViewData 36 79 432Object Relational Mapping 347Object Services 348obs uga b doacutew

konfiguracja 132w czenie 129

odrzucenie informacji o transakcji 148od wie anie witryny

a fragment widoku 97aktualizacja zawarto ci 113cz ciowe 96

OnSuccess 96operator

await 474konkatenacji 382Top 411Top N 411

ORM 347

Pparametr

CountryName 401data 115filtr 117mapDivId 35maxIloscRekordow 117Order 137raportu 395scopeTimeOut 330

warto ci 330TransactionScopeOption

warto ci 329type 115

parametryzacja kwerend 274partial view 30

piaskownica 341Plain Old CLR Object 360platforma NET

us ugi uwierzytelniania 153plik

ascx 22aspx 22bmp 390cookie 151cookies 154 155cshtml 22 434css 475edmx 360jpg 390js 475konfiguracyjny

zabezpieczenie 187master 22png 390rdl 368rdlc 368tekstowy

wy wietlenie w przegl darce 143vbhtml 22

POCO 360pola klucza 237polecenie

HtmlEncode 187ScriptsRender 476StylesRender 476GET 18POST 18

po czenieze roacuted em danych 241

pomocnik HTML 455Portable Document Format 413po rednik 341poziom izolacji 332

Chaos 333konfiguracja 332ReadCommitted 333ReadUncommitted 333Serializable 333Snapshot 333Unspecified 333

poziom zaufania 339ograniczenie 340

proceduraajax 115AjaxBeginForm 96niemapowalna 26PartialView 26serialize 115

Kup książkę Poleć książkę

Skorowidz 537

proces 465programowanie

oparte na zdarzeniach 17zdarzeniowe 17

projekt aplikacji MVCankieta 102asynchroniczne przetwarzanie da HTTP 92Bezpiecze stwo 181 336

nawi zanie komunikacji ze roacuted emdanych 342

szyfrowanie pliku konfiguracyjnego 191dodawanie i wy wietlanie komentarzy 183domy lny 20EksportDanych 413Filtry 131formularz oceny 107Kadry

walidacja adresu e-mail 84Kardy 55KsiegaGosci_MVC3 424lista prezentuj ca dodawane elementy 97MojaNawigacja 18

blokowanie samodzielnego tworzeniakont 224

buforowanie danych 135implementacja warstwy dost pu 42instalacja na serwerze IIS 500komunikat powitalny 168komunikaty 110komunikaty o b dach 173mechanizm podpowiedzi 115model weryfikuj cy po wiadczenia

u ytkownikoacutew 196modele kontrolera uwierzytelnienia 196od wie enie widoku mapy 109struktura 21szablon 19szablon witryny 225trasowanie da HTTP 123uzupe nienie o baz danych 40uzupe nienie o walidacj danych 69widok b du 175zablokowanie nieautoryzowanego

dost pu 128zarz dzanie u ytkownikami 163zarz dzanie grupami u ytkownikoacutew 212zarz dzanie procesem logowania 198

MsAjax 92NorthwindMVC 241

lista rekordoacutew 301szablon witryny 250

POCO 361priorytety regu filtrowania 137

Raport 368szablon

mechanizmy uwierzytelnienia 156zarz dzanie grupami u ytkownikoacutew 159

Transakcje 319aktualizacja danych 328formularz aktualizacji 328szablon stron 320

uzupe nianie widokiem GridView 49WyrazeniaRegularne 76Zapytania_EF 349

projekt aplikacji MVC4AsynchronicznyKontroler 466

prezentacja danych 468AutoryzacjaOAuth 461implementacja serwisu sieciowego 479konfiguracja grupowania 475MobileMvc 450

testowanie 457pobranie zdj cia 452przygotowanie listy pracownikoacutew 452SerwisSieciowy 477

projekt aplikacji Windows Formsedycja danych 487KlientWebAPI 483tworzenie nowych pracownikoacutew 486

dania typuDELETE 493POST 486PUT 491

projektowaniekontrolera 27widoku 31

protokoacuteFTP 495Kerberos 150NTLM 150SMTP 495SSL 337

proxy 341przechowywanie

informacji o trasach 44wynikoacutew g osowania 107

przeci enie aplikacji 147przekazywanie

danych 44mi dzy widokiem a kontrolerem 36

parametroacutew do metod akcji kontrolera 26przestrze nazw

SystemThreading 465przyjazne linki 122publikowanie aplikacji 495 500

na serwerze IIS 497

Kup książkę Poleć książkę

538 ASPNET MVC

pule aplikacji 465 497konfiguracja 498Windows 7 499Windows 8 500

Rraporty

dane w postaci macierzowej 390data 386definicja

dynamiczna 418filtrowanie danych 394

na poziomie roacuted a 401 418filtry 395formaty prezentacji danych 379grupowanie danych 381hiper cza 387

nawigacyjne 376kolumny obliczeniowe 378konfiguracja

filtrowania dynamicznego 396typu 392roacuted a danych 368

kreator formu 382macierzowe 391numery stron 386obrazy 390parametry 383 394

konfiguracja 399paski narz dziowe 379pola

bazy danych 386formularza 398raportu 390

po czenie z aplikacj 368prezentowanie uk adu graficznego 383projektowanie 371

i prezentowanie 368przystosowanie strony do obs ugi raportoacutew

387renderowanie 368tryby definicji 368tworzenie

definicji lokalnej 368formu 378przy u yciu kreatora 372

uk ad 383wstawianie nag oacutewka i stopki 385wykresy 406wy wietlenie 375

Razor 21 30przetwarzanie definicji widoku 208

RDL 418rekordy

edycja 307lista 301tworzenie 311usuwanie 305

Relationship 347Report Definition Language 418Report Wizard 371repudiation 148request 442response 442responsywno 464rollback transaction 319routing 22 430routowanie 121

SSandBox 341scaffolding 301Secure Socket Layer 337sekcja

membership 178roleManager 179set 441

serwerSMTP

konfiguracja 171us ug informacyjnych 149

weryfikacja to samo ci u ytkownika 149Simple Mail Transfer Protocol 495s owo kluczowe

helper 455await 474using 47 329

spaghetti code 18spoofing 147SQL Server Reporting Services 367SSRS 367stan pola

typu CheckBox 269pobieranie 264

STRIDE 148strona startowa

MojaNawigacja 226strona wzorcowa 30

aplikacji Kadry 55referencja do bibliotek skryptoacutew 70

systemowy serwer us ug informacyjnych 121szyfrowanie po czenia 335

ze roacuted em danych 336

Kup książkę Poleć książkę

Skorowidz 539

Ttabela danych

Categories 418Customers 305deklaracje kaskadowych arkuszy stylu 275edycja

danych 279danych w wierszu 257rekordoacutew 307 310

Employees 240 288filtrowanie listy 275integralno danych 288Konta 321 326kwerenda wybieraj ca 240Orders 291 315OrdersDetails 307pobieranie fotografii 276pobranie danych z wykorzystaniem JScript 280prezentacja

danych 277 325informacji 252listy danych 248pierwszego rekordu 246rekordoacutew 317

przekazanie do widoku 248Shippers 251tworzenie rekordoacutew 311umieszczenie w bazie danych 321uruchomienie edycji danych 258usuwanie

danych 288rekordoacutew 271 305 306

widok b du 268wstawianie

danych 294rekordoacutew 251

wy wietlenie listykonfiguracja hiper cza 315

zako czenie edycji rekordu 267tablica asocjacyjna 479tablica bajtoacutew

konwersja do bitmapy 277tampering 147task pane 371Task-based Asynchronous Pattern 465TDD 15

test jednostkowy funkcjonalno ci kontrolera28

Test-Driven Development 15testowanie

aplikacji 29wzorcoacutew wyra e regularnych 76 78

Toolbox 274

transakcje 319automatyczne zarz dzanie 327otaczaj ce 329poziom izolacji 332tworzenie i r czna kontrola 319

trasowanie 121aplikacja 430blokowanie dost pu 124domy lne regu y 123Ksi gaGosci_MVC3 430w asne regu y 124

trasowanie adresoacutew URL 121T-SQL 319

czynno ci bazodanowe 345tworzenie

bazy danych 40interfejsu u ytkownika

jQM 459szablony 231wzorzec MVVM 227

u ytkownika 200kody b doacutew 201

widoku Index 231wzorcoacutew wyra e regularnych 76

typed DataSet 244typizacja

silna 46s aba 46

typy puste 27

Uujawnienie krytycznych informacji 147ukryte pola 441Uniform Resource Locator 18URL 18uruchomienie aplikacji 503us uga

AspNetSqlProvider 178ustawienia aplikacji 167

odczytanie z pliku konfiguracyjnego 169UTC 155uwierzytelnienie 149

centralny serwis 151certyfikaty 150formularze logowania 151

atrybuty elementu forms 154konfiguracja 153mechanizmy zintegrowane z ASPNET 149na bazie protoko u NTLM 150przekazywanie informacji 151proste 150skroacutecone 150us ugi systemu Windows 150

Kup książkę Poleć książkę

540 ASPNET MVC

Vvariable placeholders 122view engine 21views 16viewstate 442Visual Studio

kreator projektu 19Visual Studio Development Server 496VS 2012

instalacja 240kreator Add New Item 242

VSDS 496

Wwalidacja

adresue-mail 83URL 83WWW 84

danych 53a technologia Entity Framework 68konfiguracja 66modelu Pracownik 66odwo anenie do jQuery 61po stronie klienta 67wyra enia regularne 73

skrypty i style walidatoroacutew 438w asno ci klasy encji 435

w tek 465Web API 477

edycja danych 491klient 483konfiguracja interfejsu 478obs uga da typu POST 486pobranie danych z serwera 485serwis sieciowy 479usuwanie danych 493

web serwer 495Web Site Administration Tool 161

konfigurowanie uprawnie 165zarz dzanie

dostawcami us ug 178u ytkownikami 163

WebForms 17bezpiecze stwo aplikacji 152integracja komponentoacutew z MVC 367kontrolka Repeater 434obs uga wyj tkoacutew 172przetwarzanie dania aplikacji klienckiej 18separacja modelu 427weryfikacja poprawno ci projektu 434

weryfikacjakodu pocztowego 81to samo ci 151

widok 16 25 30aplikacji

MVC4 453przystosowanie do urz dze mobilnych

459Transakcje 326

cz ciowy 30dodawanie 31edycji klienta 307elementy 31formularz

dodawania wpisu 425logowania 203

kontroleraaplikacja Kadry 58panelu administracyjnego 222

kontrolera AdminController 213kontrolera Dopasowania 77kontrolera ErrorControler 174kontrolera Glosowania 103kontrolera Home 131 169 182 307

metodaWyswietlLog 142Raport 375Transakcje 320

kontrolera HomeController 246AsynchronicznyKontroler 468EksportDanych 417

kontrolera Lista 93kontrolera Mapa 33 34

formularz 70Trasa 50

kreatorakonta u ytkownika 205zmiany has a 206

listyklientoacutew 302pracownikoacutew 61wyznaczonych tras 48zamoacutewie 316

mapyod wie enie 108parametryzacja 34

mechanizm przetwarzania 30modyfikowanie formularza 437obs uga wyj tkoacutew 130Pracownicycshtml 453projektowanie 31transfer danych do kontrolera 36typu CRUD 52

Kup książkę Poleć książkę

Skorowidz 541

typu GridViewimplementacja 48

typy plikoacutew 30utworzenie 30uzupe nianie tre ci 33walidacja 435wi zanie z modelem 437wstawianie rekordoacutew 312wynikoacutew ankiety 105wy wietlanie wpisoacutew 432

wielodziedziczenie 360Windows Authentication Provider 149Windows Data Protection API 187Windows Forms

implementacja klienta 483Windows Live ID 149w a ciwo

ConnectionString 243IsMobileDevice 460ModelStateIsValid 47

wstawianie rekordoacutew 299wstrzykni cie kodu 181 185wykresy 406

konfiguracjaserii danych 407typu 407

pobranie danych roacuted owych 408wy czenie aplikacji 171wyra enia lambda 46wyra enia regularne 73

atrybuty modelu 84liczba wyst pie sk adnikoacutew 76wzorzec

adres URL 83imi e skie 81kod pocztowy 80tworzenie 76

znaki i cyfry 74znaki specjalne 74znaki w wyznaczonych miejscach a cucha 75

wzorzecodnajdywanie

znakoacutew i cyfr 74znakoacutew specjalnych 74znakoacutew w wyznaczonych miejscach

a cucha 75okre lanie

liczby wyst pie znakoacutew 76

XXSS 181

Zzabezpieczenia

aplikacji bazodanowych 335ataki XSS 187informacje o b dach 171kodu po redniego 338konfiguracja 161konfiguracja aplikacji

kreatory 162obs uga wyj tkoacutew 171pliku konfiguracyjnego 167 187przed atakami 148ustawienia aplikacji 167witryny 181zarz dzanie dostawcami us ug 178z o liwy kod 181

zarz dzanieu ytkownikami i grupami 211

dost p do panelu administracyjnego 216lista grup 221podzia na grupy 220pobieranie listy 213tworzenie nowej grupy 222zmiana przynale no ci do grupy 215

z o ono ci aplikacji 16zdarzenie

DataGridViewCellDoubleClick 491rejestrowanie 430

z o liwy koddzia anie 181

znacznikinput 288

znaki specjalneodnajdywanie 74

zwi zanie z modelem 48zwi zek 347

danie 25asynchroniczna obs uga 92 466 470

skrypty 318zadania 473

GET 64POST 64przetwarzanie 127zablokowanie obs ugi 124

Kup książkę Poleć książkę

Notatki

Kup książkę Poleć książkę

534 ASPNET MVC

metodaRedirectResult 26RedirectToAction 26RedirectToLoginPage 152RedirectToRoute 26RedirectToRouteResult 26RefreshReport 384Register 199 478RegisterAuth 461 462RegisterBundles 475RegisterGlobalFilters 171RegisterRoutes 94 123RejectChanges 256 263rejestrowanie zdarze aplikacji 430RemoveUserFromRole 160Render 384 413 418RenderPartial 99ResponseWrite 223ResultExecuteResult 143RoleExists 159RolesIsUserInRole 216RolesRemoveUsersFromRole 223route 35RowsAdd 255RozpocznijEdycje 269

hiper cze uruchamiaj ce 267SaveChanges 354ScaffoldingMasterDetail 317Session_End 108Session_Start 108SetAuthCookie 152SetParameters 401 405SignOut 152SprawdzDopasowania 79SprawdzPoprawnoscDatyZatrudnienia 67SqlPermissionAdd 343SqlTransactionCommit 326SqlTransactionRollback 326StronaNieIstnieje 175submit 115SzyfrowaniePlikuKonfiguracyjnego 190szyfruj ca i deszyfruj ca 189SzyfrujPlikKonfiguracyjny 191TextBox 35ThreadSleep 469 472TransactionScopeComplete 329Transfer 36UpdateUser 153UstawParametryRaportu 399UsunGrupe 223UsunTrase 50 51UtworzPracownika 64Uzytkownicy 216ValidateUser 152 153

ValidationMessage 437ValidationMessageFor 61ValidationSummary 437ViewResult 26WebApiConfigRegister 478WersjonowanieDataRow 265

sparametryzowanie 266WpisyZapiszDoPlikuXml 430wykonywanie przelewoacutew 323WyswietlLog 141 142 143wyswietlMape 34 35WyswietlTrase 50

modyfikacja 135 166wyznaczTrase 35ZaktualizujWyniki 107Zapami tajNazw U ytkownika 432ZmienStanKont 328

Microsoft SQL Server 319sposoby uwierzytelnienia 344

MIME type 390minification 476minimalizacja 476model 16 39

APM 464ChangePasswordModel 196EAP 465integracja z elementami aplikacji 39LogOnModel 196obs uga plikoacutew XML 427przesy anie z kontrolera do widoku 432 435RegisterModel 196TAP 465

model binding 48model danych encji 348

dodawanie encji 353edycja encji 355kreator 348 349

czenie encji 359metody akcji 354opcje 361projektowanie relacji 43tworzenie 349

schematu bazy danych 357usuwanie encji 357wyboacuter tabel 350

model first 52model zwi zkoacutew encji 347models 16Model-View-Controller 15Model-View-ViewModel 227Model-Widok-Kontroler 15modu

UrlAuthorizationModule 157

Kup książkę Poleć książkę

Skorowidz 535

MVC 15a Web Forms 16 365 367 423

kod 442serwer internetowych us ug

informacyjnych 495wydajno 443wykorzystanie w projektach 444

ataki XSS 185autoryzacja 158 162bezpiecze stwo aplikacji 152buforowanie 134domy lne wzorce aplikacji 21kreator aplikacji 20mechanizm filtrowania 127Model Binder 355nazwa kontrolera 27obs uga interakcji klient-serwer 121parametry opcjonalne 27pobieranie parametru z adresu URL 26projektowanie aplikacji 18 52przetwarzanie dania aplikacji klienckiej 18sprawdzanie poprawno ci danych 68struktura modelu 39techniki walidacji danych 53utworzenie widoku 30uzupe nianie o komponenty graficzne 367walidacja 438wersja 4 449wyboacuter mechanizmu przetwarzaj cego widoki 21wzorce URL 122zbioacuter modeli szablonu aplikacji 196roacuted o danych 40

MVC4 449grupowanie i optymalizacja skryptoacutew 475kaskadowe arkuszye stylu 475przetwarzanie asynchroniczne 464przystosowanie do urz dze mobillnych 457testowanie aplikacji 457uwierzytelnianie 460

integracja z portalem Facebook 462wsparcie dla urz dze mobilnych 450zdalna autoryzacja 461

MVVM 227

Nnarz dzie

aspnet_regiis 187przetwarzanie tekstu 73

Northwindinstalacja 240kwerenda wybieraj ca 240pobieranie informacji o dostawcach 251

NuGET 483nullable-types 27

OOAuth 461obiekt

AppDomain 339 341Chart 406Command 239Connection 239 241

w a ciwo i 243ConnectionString 343

sposoby uwierzytelniania 344szyfrowanie informacji 335

DataAdapter 239DataGridView 491DataReader 239 273DataRow 255

kontrola wprowadzonych danych 263usuwanie rekordoacutew 270wersje 263wersja proponowana 265wersjonowanie 263w a ciwo ci 255

DataSet 239 244 345edycja rekordoacutew 257kreator konfiguracji TableAdapter 274modyfikacja danych 249tworzenie nowych rekordoacutew 250usuwanie rekordoacutew 271wstawianie rekordoacutew 251wymuszenie wi zoacutew integralno ci 292

DataTable 107DirectionsService 35dostawca 153FormCollection 47jqXHR 218List 389logiki biznesowej 348materializacja 348Matrix 390Membership 152MvcRouteHandler 121 122o okre lonym typie danych 244o silnej typizacji 244o s abej typizacji 247ObjectStateManager 348PartialView 98ReportViewer 368ReportViewerLocalReport 418Request 26 101 432Response 26Route 122ShippersRow 255SqlConnCAS 341SqlConnection 326

Kup książkę Poleć książkę

536 ASPNET MVC

obiektTableAdapter 239 244 273 274 345

edycja danych 279 286wstawianie danych 294

TransactionScope 329parametryzacja 331

typuadres 118AppDomain 466ConcurrentDictionary 479NorthwindDataSet 247ObjectSetltTgt 348Route 121Thread 466

UrlRoutingModule 121ViewBag 36

przekazywanie danych do widoku WebForms 376

ViewData 36 79 432Object Relational Mapping 347Object Services 348obs uga b doacutew

konfiguracja 132w czenie 129

odrzucenie informacji o transakcji 148od wie anie witryny

a fragment widoku 97aktualizacja zawarto ci 113cz ciowe 96

OnSuccess 96operator

await 474konkatenacji 382Top 411Top N 411

ORM 347

Pparametr

CountryName 401data 115filtr 117mapDivId 35maxIloscRekordow 117Order 137raportu 395scopeTimeOut 330

warto ci 330TransactionScopeOption

warto ci 329type 115

parametryzacja kwerend 274partial view 30

piaskownica 341Plain Old CLR Object 360platforma NET

us ugi uwierzytelniania 153plik

ascx 22aspx 22bmp 390cookie 151cookies 154 155cshtml 22 434css 475edmx 360jpg 390js 475konfiguracyjny

zabezpieczenie 187master 22png 390rdl 368rdlc 368tekstowy

wy wietlenie w przegl darce 143vbhtml 22

POCO 360pola klucza 237polecenie

HtmlEncode 187ScriptsRender 476StylesRender 476GET 18POST 18

po czenieze roacuted em danych 241

pomocnik HTML 455Portable Document Format 413po rednik 341poziom izolacji 332

Chaos 333konfiguracja 332ReadCommitted 333ReadUncommitted 333Serializable 333Snapshot 333Unspecified 333

poziom zaufania 339ograniczenie 340

proceduraajax 115AjaxBeginForm 96niemapowalna 26PartialView 26serialize 115

Kup książkę Poleć książkę

Skorowidz 537

proces 465programowanie

oparte na zdarzeniach 17zdarzeniowe 17

projekt aplikacji MVCankieta 102asynchroniczne przetwarzanie da HTTP 92Bezpiecze stwo 181 336

nawi zanie komunikacji ze roacuted emdanych 342

szyfrowanie pliku konfiguracyjnego 191dodawanie i wy wietlanie komentarzy 183domy lny 20EksportDanych 413Filtry 131formularz oceny 107Kadry

walidacja adresu e-mail 84Kardy 55KsiegaGosci_MVC3 424lista prezentuj ca dodawane elementy 97MojaNawigacja 18

blokowanie samodzielnego tworzeniakont 224

buforowanie danych 135implementacja warstwy dost pu 42instalacja na serwerze IIS 500komunikat powitalny 168komunikaty 110komunikaty o b dach 173mechanizm podpowiedzi 115model weryfikuj cy po wiadczenia

u ytkownikoacutew 196modele kontrolera uwierzytelnienia 196od wie enie widoku mapy 109struktura 21szablon 19szablon witryny 225trasowanie da HTTP 123uzupe nienie o baz danych 40uzupe nienie o walidacj danych 69widok b du 175zablokowanie nieautoryzowanego

dost pu 128zarz dzanie u ytkownikami 163zarz dzanie grupami u ytkownikoacutew 212zarz dzanie procesem logowania 198

MsAjax 92NorthwindMVC 241

lista rekordoacutew 301szablon witryny 250

POCO 361priorytety regu filtrowania 137

Raport 368szablon

mechanizmy uwierzytelnienia 156zarz dzanie grupami u ytkownikoacutew 159

Transakcje 319aktualizacja danych 328formularz aktualizacji 328szablon stron 320

uzupe nianie widokiem GridView 49WyrazeniaRegularne 76Zapytania_EF 349

projekt aplikacji MVC4AsynchronicznyKontroler 466

prezentacja danych 468AutoryzacjaOAuth 461implementacja serwisu sieciowego 479konfiguracja grupowania 475MobileMvc 450

testowanie 457pobranie zdj cia 452przygotowanie listy pracownikoacutew 452SerwisSieciowy 477

projekt aplikacji Windows Formsedycja danych 487KlientWebAPI 483tworzenie nowych pracownikoacutew 486

dania typuDELETE 493POST 486PUT 491

projektowaniekontrolera 27widoku 31

protokoacuteFTP 495Kerberos 150NTLM 150SMTP 495SSL 337

proxy 341przechowywanie

informacji o trasach 44wynikoacutew g osowania 107

przeci enie aplikacji 147przekazywanie

danych 44mi dzy widokiem a kontrolerem 36

parametroacutew do metod akcji kontrolera 26przestrze nazw

SystemThreading 465przyjazne linki 122publikowanie aplikacji 495 500

na serwerze IIS 497

Kup książkę Poleć książkę

538 ASPNET MVC

pule aplikacji 465 497konfiguracja 498Windows 7 499Windows 8 500

Rraporty

dane w postaci macierzowej 390data 386definicja

dynamiczna 418filtrowanie danych 394

na poziomie roacuted a 401 418filtry 395formaty prezentacji danych 379grupowanie danych 381hiper cza 387

nawigacyjne 376kolumny obliczeniowe 378konfiguracja

filtrowania dynamicznego 396typu 392roacuted a danych 368

kreator formu 382macierzowe 391numery stron 386obrazy 390parametry 383 394

konfiguracja 399paski narz dziowe 379pola

bazy danych 386formularza 398raportu 390

po czenie z aplikacj 368prezentowanie uk adu graficznego 383projektowanie 371

i prezentowanie 368przystosowanie strony do obs ugi raportoacutew

387renderowanie 368tryby definicji 368tworzenie

definicji lokalnej 368formu 378przy u yciu kreatora 372

uk ad 383wstawianie nag oacutewka i stopki 385wykresy 406wy wietlenie 375

Razor 21 30przetwarzanie definicji widoku 208

RDL 418rekordy

edycja 307lista 301tworzenie 311usuwanie 305

Relationship 347Report Definition Language 418Report Wizard 371repudiation 148request 442response 442responsywno 464rollback transaction 319routing 22 430routowanie 121

SSandBox 341scaffolding 301Secure Socket Layer 337sekcja

membership 178roleManager 179set 441

serwerSMTP

konfiguracja 171us ug informacyjnych 149

weryfikacja to samo ci u ytkownika 149Simple Mail Transfer Protocol 495s owo kluczowe

helper 455await 474using 47 329

spaghetti code 18spoofing 147SQL Server Reporting Services 367SSRS 367stan pola

typu CheckBox 269pobieranie 264

STRIDE 148strona startowa

MojaNawigacja 226strona wzorcowa 30

aplikacji Kadry 55referencja do bibliotek skryptoacutew 70

systemowy serwer us ug informacyjnych 121szyfrowanie po czenia 335

ze roacuted em danych 336

Kup książkę Poleć książkę

Skorowidz 539

Ttabela danych

Categories 418Customers 305deklaracje kaskadowych arkuszy stylu 275edycja

danych 279danych w wierszu 257rekordoacutew 307 310

Employees 240 288filtrowanie listy 275integralno danych 288Konta 321 326kwerenda wybieraj ca 240Orders 291 315OrdersDetails 307pobieranie fotografii 276pobranie danych z wykorzystaniem JScript 280prezentacja

danych 277 325informacji 252listy danych 248pierwszego rekordu 246rekordoacutew 317

przekazanie do widoku 248Shippers 251tworzenie rekordoacutew 311umieszczenie w bazie danych 321uruchomienie edycji danych 258usuwanie

danych 288rekordoacutew 271 305 306

widok b du 268wstawianie

danych 294rekordoacutew 251

wy wietlenie listykonfiguracja hiper cza 315

zako czenie edycji rekordu 267tablica asocjacyjna 479tablica bajtoacutew

konwersja do bitmapy 277tampering 147task pane 371Task-based Asynchronous Pattern 465TDD 15

test jednostkowy funkcjonalno ci kontrolera28

Test-Driven Development 15testowanie

aplikacji 29wzorcoacutew wyra e regularnych 76 78

Toolbox 274

transakcje 319automatyczne zarz dzanie 327otaczaj ce 329poziom izolacji 332tworzenie i r czna kontrola 319

trasowanie 121aplikacja 430blokowanie dost pu 124domy lne regu y 123Ksi gaGosci_MVC3 430w asne regu y 124

trasowanie adresoacutew URL 121T-SQL 319

czynno ci bazodanowe 345tworzenie

bazy danych 40interfejsu u ytkownika

jQM 459szablony 231wzorzec MVVM 227

u ytkownika 200kody b doacutew 201

widoku Index 231wzorcoacutew wyra e regularnych 76

typed DataSet 244typizacja

silna 46s aba 46

typy puste 27

Uujawnienie krytycznych informacji 147ukryte pola 441Uniform Resource Locator 18URL 18uruchomienie aplikacji 503us uga

AspNetSqlProvider 178ustawienia aplikacji 167

odczytanie z pliku konfiguracyjnego 169UTC 155uwierzytelnienie 149

centralny serwis 151certyfikaty 150formularze logowania 151

atrybuty elementu forms 154konfiguracja 153mechanizmy zintegrowane z ASPNET 149na bazie protoko u NTLM 150przekazywanie informacji 151proste 150skroacutecone 150us ugi systemu Windows 150

Kup książkę Poleć książkę

540 ASPNET MVC

Vvariable placeholders 122view engine 21views 16viewstate 442Visual Studio

kreator projektu 19Visual Studio Development Server 496VS 2012

instalacja 240kreator Add New Item 242

VSDS 496

Wwalidacja

adresue-mail 83URL 83WWW 84

danych 53a technologia Entity Framework 68konfiguracja 66modelu Pracownik 66odwo anenie do jQuery 61po stronie klienta 67wyra enia regularne 73

skrypty i style walidatoroacutew 438w asno ci klasy encji 435

w tek 465Web API 477

edycja danych 491klient 483konfiguracja interfejsu 478obs uga da typu POST 486pobranie danych z serwera 485serwis sieciowy 479usuwanie danych 493

web serwer 495Web Site Administration Tool 161

konfigurowanie uprawnie 165zarz dzanie

dostawcami us ug 178u ytkownikami 163

WebForms 17bezpiecze stwo aplikacji 152integracja komponentoacutew z MVC 367kontrolka Repeater 434obs uga wyj tkoacutew 172przetwarzanie dania aplikacji klienckiej 18separacja modelu 427weryfikacja poprawno ci projektu 434

weryfikacjakodu pocztowego 81to samo ci 151

widok 16 25 30aplikacji

MVC4 453przystosowanie do urz dze mobilnych

459Transakcje 326

cz ciowy 30dodawanie 31edycji klienta 307elementy 31formularz

dodawania wpisu 425logowania 203

kontroleraaplikacja Kadry 58panelu administracyjnego 222

kontrolera AdminController 213kontrolera Dopasowania 77kontrolera ErrorControler 174kontrolera Glosowania 103kontrolera Home 131 169 182 307

metodaWyswietlLog 142Raport 375Transakcje 320

kontrolera HomeController 246AsynchronicznyKontroler 468EksportDanych 417

kontrolera Lista 93kontrolera Mapa 33 34

formularz 70Trasa 50

kreatorakonta u ytkownika 205zmiany has a 206

listyklientoacutew 302pracownikoacutew 61wyznaczonych tras 48zamoacutewie 316

mapyod wie enie 108parametryzacja 34

mechanizm przetwarzania 30modyfikowanie formularza 437obs uga wyj tkoacutew 130Pracownicycshtml 453projektowanie 31transfer danych do kontrolera 36typu CRUD 52

Kup książkę Poleć książkę

Skorowidz 541

typu GridViewimplementacja 48

typy plikoacutew 30utworzenie 30uzupe nianie tre ci 33walidacja 435wi zanie z modelem 437wstawianie rekordoacutew 312wynikoacutew ankiety 105wy wietlanie wpisoacutew 432

wielodziedziczenie 360Windows Authentication Provider 149Windows Data Protection API 187Windows Forms

implementacja klienta 483Windows Live ID 149w a ciwo

ConnectionString 243IsMobileDevice 460ModelStateIsValid 47

wstawianie rekordoacutew 299wstrzykni cie kodu 181 185wykresy 406

konfiguracjaserii danych 407typu 407

pobranie danych roacuted owych 408wy czenie aplikacji 171wyra enia lambda 46wyra enia regularne 73

atrybuty modelu 84liczba wyst pie sk adnikoacutew 76wzorzec

adres URL 83imi e skie 81kod pocztowy 80tworzenie 76

znaki i cyfry 74znaki specjalne 74znaki w wyznaczonych miejscach a cucha 75

wzorzecodnajdywanie

znakoacutew i cyfr 74znakoacutew specjalnych 74znakoacutew w wyznaczonych miejscach

a cucha 75okre lanie

liczby wyst pie znakoacutew 76

XXSS 181

Zzabezpieczenia

aplikacji bazodanowych 335ataki XSS 187informacje o b dach 171kodu po redniego 338konfiguracja 161konfiguracja aplikacji

kreatory 162obs uga wyj tkoacutew 171pliku konfiguracyjnego 167 187przed atakami 148ustawienia aplikacji 167witryny 181zarz dzanie dostawcami us ug 178z o liwy kod 181

zarz dzanieu ytkownikami i grupami 211

dost p do panelu administracyjnego 216lista grup 221podzia na grupy 220pobieranie listy 213tworzenie nowej grupy 222zmiana przynale no ci do grupy 215

z o ono ci aplikacji 16zdarzenie

DataGridViewCellDoubleClick 491rejestrowanie 430

z o liwy koddzia anie 181

znacznikinput 288

znaki specjalneodnajdywanie 74

zwi zanie z modelem 48zwi zek 347

danie 25asynchroniczna obs uga 92 466 470

skrypty 318zadania 473

GET 64POST 64przetwarzanie 127zablokowanie obs ugi 124

Kup książkę Poleć książkę

Notatki

Kup książkę Poleć książkę

Skorowidz 535

MVC 15a Web Forms 16 365 367 423

kod 442serwer internetowych us ug

informacyjnych 495wydajno 443wykorzystanie w projektach 444

ataki XSS 185autoryzacja 158 162bezpiecze stwo aplikacji 152buforowanie 134domy lne wzorce aplikacji 21kreator aplikacji 20mechanizm filtrowania 127Model Binder 355nazwa kontrolera 27obs uga interakcji klient-serwer 121parametry opcjonalne 27pobieranie parametru z adresu URL 26projektowanie aplikacji 18 52przetwarzanie dania aplikacji klienckiej 18sprawdzanie poprawno ci danych 68struktura modelu 39techniki walidacji danych 53utworzenie widoku 30uzupe nianie o komponenty graficzne 367walidacja 438wersja 4 449wyboacuter mechanizmu przetwarzaj cego widoki 21wzorce URL 122zbioacuter modeli szablonu aplikacji 196roacuted o danych 40

MVC4 449grupowanie i optymalizacja skryptoacutew 475kaskadowe arkuszye stylu 475przetwarzanie asynchroniczne 464przystosowanie do urz dze mobillnych 457testowanie aplikacji 457uwierzytelnianie 460

integracja z portalem Facebook 462wsparcie dla urz dze mobilnych 450zdalna autoryzacja 461

MVVM 227

Nnarz dzie

aspnet_regiis 187przetwarzanie tekstu 73

Northwindinstalacja 240kwerenda wybieraj ca 240pobieranie informacji o dostawcach 251

NuGET 483nullable-types 27

OOAuth 461obiekt

AppDomain 339 341Chart 406Command 239Connection 239 241

w a ciwo i 243ConnectionString 343

sposoby uwierzytelniania 344szyfrowanie informacji 335

DataAdapter 239DataGridView 491DataReader 239 273DataRow 255

kontrola wprowadzonych danych 263usuwanie rekordoacutew 270wersje 263wersja proponowana 265wersjonowanie 263w a ciwo ci 255

DataSet 239 244 345edycja rekordoacutew 257kreator konfiguracji TableAdapter 274modyfikacja danych 249tworzenie nowych rekordoacutew 250usuwanie rekordoacutew 271wstawianie rekordoacutew 251wymuszenie wi zoacutew integralno ci 292

DataTable 107DirectionsService 35dostawca 153FormCollection 47jqXHR 218List 389logiki biznesowej 348materializacja 348Matrix 390Membership 152MvcRouteHandler 121 122o okre lonym typie danych 244o silnej typizacji 244o s abej typizacji 247ObjectStateManager 348PartialView 98ReportViewer 368ReportViewerLocalReport 418Request 26 101 432Response 26Route 122ShippersRow 255SqlConnCAS 341SqlConnection 326

Kup książkę Poleć książkę

536 ASPNET MVC

obiektTableAdapter 239 244 273 274 345

edycja danych 279 286wstawianie danych 294

TransactionScope 329parametryzacja 331

typuadres 118AppDomain 466ConcurrentDictionary 479NorthwindDataSet 247ObjectSetltTgt 348Route 121Thread 466

UrlRoutingModule 121ViewBag 36

przekazywanie danych do widoku WebForms 376

ViewData 36 79 432Object Relational Mapping 347Object Services 348obs uga b doacutew

konfiguracja 132w czenie 129

odrzucenie informacji o transakcji 148od wie anie witryny

a fragment widoku 97aktualizacja zawarto ci 113cz ciowe 96

OnSuccess 96operator

await 474konkatenacji 382Top 411Top N 411

ORM 347

Pparametr

CountryName 401data 115filtr 117mapDivId 35maxIloscRekordow 117Order 137raportu 395scopeTimeOut 330

warto ci 330TransactionScopeOption

warto ci 329type 115

parametryzacja kwerend 274partial view 30

piaskownica 341Plain Old CLR Object 360platforma NET

us ugi uwierzytelniania 153plik

ascx 22aspx 22bmp 390cookie 151cookies 154 155cshtml 22 434css 475edmx 360jpg 390js 475konfiguracyjny

zabezpieczenie 187master 22png 390rdl 368rdlc 368tekstowy

wy wietlenie w przegl darce 143vbhtml 22

POCO 360pola klucza 237polecenie

HtmlEncode 187ScriptsRender 476StylesRender 476GET 18POST 18

po czenieze roacuted em danych 241

pomocnik HTML 455Portable Document Format 413po rednik 341poziom izolacji 332

Chaos 333konfiguracja 332ReadCommitted 333ReadUncommitted 333Serializable 333Snapshot 333Unspecified 333

poziom zaufania 339ograniczenie 340

proceduraajax 115AjaxBeginForm 96niemapowalna 26PartialView 26serialize 115

Kup książkę Poleć książkę

Skorowidz 537

proces 465programowanie

oparte na zdarzeniach 17zdarzeniowe 17

projekt aplikacji MVCankieta 102asynchroniczne przetwarzanie da HTTP 92Bezpiecze stwo 181 336

nawi zanie komunikacji ze roacuted emdanych 342

szyfrowanie pliku konfiguracyjnego 191dodawanie i wy wietlanie komentarzy 183domy lny 20EksportDanych 413Filtry 131formularz oceny 107Kadry

walidacja adresu e-mail 84Kardy 55KsiegaGosci_MVC3 424lista prezentuj ca dodawane elementy 97MojaNawigacja 18

blokowanie samodzielnego tworzeniakont 224

buforowanie danych 135implementacja warstwy dost pu 42instalacja na serwerze IIS 500komunikat powitalny 168komunikaty 110komunikaty o b dach 173mechanizm podpowiedzi 115model weryfikuj cy po wiadczenia

u ytkownikoacutew 196modele kontrolera uwierzytelnienia 196od wie enie widoku mapy 109struktura 21szablon 19szablon witryny 225trasowanie da HTTP 123uzupe nienie o baz danych 40uzupe nienie o walidacj danych 69widok b du 175zablokowanie nieautoryzowanego

dost pu 128zarz dzanie u ytkownikami 163zarz dzanie grupami u ytkownikoacutew 212zarz dzanie procesem logowania 198

MsAjax 92NorthwindMVC 241

lista rekordoacutew 301szablon witryny 250

POCO 361priorytety regu filtrowania 137

Raport 368szablon

mechanizmy uwierzytelnienia 156zarz dzanie grupami u ytkownikoacutew 159

Transakcje 319aktualizacja danych 328formularz aktualizacji 328szablon stron 320

uzupe nianie widokiem GridView 49WyrazeniaRegularne 76Zapytania_EF 349

projekt aplikacji MVC4AsynchronicznyKontroler 466

prezentacja danych 468AutoryzacjaOAuth 461implementacja serwisu sieciowego 479konfiguracja grupowania 475MobileMvc 450

testowanie 457pobranie zdj cia 452przygotowanie listy pracownikoacutew 452SerwisSieciowy 477

projekt aplikacji Windows Formsedycja danych 487KlientWebAPI 483tworzenie nowych pracownikoacutew 486

dania typuDELETE 493POST 486PUT 491

projektowaniekontrolera 27widoku 31

protokoacuteFTP 495Kerberos 150NTLM 150SMTP 495SSL 337

proxy 341przechowywanie

informacji o trasach 44wynikoacutew g osowania 107

przeci enie aplikacji 147przekazywanie

danych 44mi dzy widokiem a kontrolerem 36

parametroacutew do metod akcji kontrolera 26przestrze nazw

SystemThreading 465przyjazne linki 122publikowanie aplikacji 495 500

na serwerze IIS 497

Kup książkę Poleć książkę

538 ASPNET MVC

pule aplikacji 465 497konfiguracja 498Windows 7 499Windows 8 500

Rraporty

dane w postaci macierzowej 390data 386definicja

dynamiczna 418filtrowanie danych 394

na poziomie roacuted a 401 418filtry 395formaty prezentacji danych 379grupowanie danych 381hiper cza 387

nawigacyjne 376kolumny obliczeniowe 378konfiguracja

filtrowania dynamicznego 396typu 392roacuted a danych 368

kreator formu 382macierzowe 391numery stron 386obrazy 390parametry 383 394

konfiguracja 399paski narz dziowe 379pola

bazy danych 386formularza 398raportu 390

po czenie z aplikacj 368prezentowanie uk adu graficznego 383projektowanie 371

i prezentowanie 368przystosowanie strony do obs ugi raportoacutew

387renderowanie 368tryby definicji 368tworzenie

definicji lokalnej 368formu 378przy u yciu kreatora 372

uk ad 383wstawianie nag oacutewka i stopki 385wykresy 406wy wietlenie 375

Razor 21 30przetwarzanie definicji widoku 208

RDL 418rekordy

edycja 307lista 301tworzenie 311usuwanie 305

Relationship 347Report Definition Language 418Report Wizard 371repudiation 148request 442response 442responsywno 464rollback transaction 319routing 22 430routowanie 121

SSandBox 341scaffolding 301Secure Socket Layer 337sekcja

membership 178roleManager 179set 441

serwerSMTP

konfiguracja 171us ug informacyjnych 149

weryfikacja to samo ci u ytkownika 149Simple Mail Transfer Protocol 495s owo kluczowe

helper 455await 474using 47 329

spaghetti code 18spoofing 147SQL Server Reporting Services 367SSRS 367stan pola

typu CheckBox 269pobieranie 264

STRIDE 148strona startowa

MojaNawigacja 226strona wzorcowa 30

aplikacji Kadry 55referencja do bibliotek skryptoacutew 70

systemowy serwer us ug informacyjnych 121szyfrowanie po czenia 335

ze roacuted em danych 336

Kup książkę Poleć książkę

Skorowidz 539

Ttabela danych

Categories 418Customers 305deklaracje kaskadowych arkuszy stylu 275edycja

danych 279danych w wierszu 257rekordoacutew 307 310

Employees 240 288filtrowanie listy 275integralno danych 288Konta 321 326kwerenda wybieraj ca 240Orders 291 315OrdersDetails 307pobieranie fotografii 276pobranie danych z wykorzystaniem JScript 280prezentacja

danych 277 325informacji 252listy danych 248pierwszego rekordu 246rekordoacutew 317

przekazanie do widoku 248Shippers 251tworzenie rekordoacutew 311umieszczenie w bazie danych 321uruchomienie edycji danych 258usuwanie

danych 288rekordoacutew 271 305 306

widok b du 268wstawianie

danych 294rekordoacutew 251

wy wietlenie listykonfiguracja hiper cza 315

zako czenie edycji rekordu 267tablica asocjacyjna 479tablica bajtoacutew

konwersja do bitmapy 277tampering 147task pane 371Task-based Asynchronous Pattern 465TDD 15

test jednostkowy funkcjonalno ci kontrolera28

Test-Driven Development 15testowanie

aplikacji 29wzorcoacutew wyra e regularnych 76 78

Toolbox 274

transakcje 319automatyczne zarz dzanie 327otaczaj ce 329poziom izolacji 332tworzenie i r czna kontrola 319

trasowanie 121aplikacja 430blokowanie dost pu 124domy lne regu y 123Ksi gaGosci_MVC3 430w asne regu y 124

trasowanie adresoacutew URL 121T-SQL 319

czynno ci bazodanowe 345tworzenie

bazy danych 40interfejsu u ytkownika

jQM 459szablony 231wzorzec MVVM 227

u ytkownika 200kody b doacutew 201

widoku Index 231wzorcoacutew wyra e regularnych 76

typed DataSet 244typizacja

silna 46s aba 46

typy puste 27

Uujawnienie krytycznych informacji 147ukryte pola 441Uniform Resource Locator 18URL 18uruchomienie aplikacji 503us uga

AspNetSqlProvider 178ustawienia aplikacji 167

odczytanie z pliku konfiguracyjnego 169UTC 155uwierzytelnienie 149

centralny serwis 151certyfikaty 150formularze logowania 151

atrybuty elementu forms 154konfiguracja 153mechanizmy zintegrowane z ASPNET 149na bazie protoko u NTLM 150przekazywanie informacji 151proste 150skroacutecone 150us ugi systemu Windows 150

Kup książkę Poleć książkę

540 ASPNET MVC

Vvariable placeholders 122view engine 21views 16viewstate 442Visual Studio

kreator projektu 19Visual Studio Development Server 496VS 2012

instalacja 240kreator Add New Item 242

VSDS 496

Wwalidacja

adresue-mail 83URL 83WWW 84

danych 53a technologia Entity Framework 68konfiguracja 66modelu Pracownik 66odwo anenie do jQuery 61po stronie klienta 67wyra enia regularne 73

skrypty i style walidatoroacutew 438w asno ci klasy encji 435

w tek 465Web API 477

edycja danych 491klient 483konfiguracja interfejsu 478obs uga da typu POST 486pobranie danych z serwera 485serwis sieciowy 479usuwanie danych 493

web serwer 495Web Site Administration Tool 161

konfigurowanie uprawnie 165zarz dzanie

dostawcami us ug 178u ytkownikami 163

WebForms 17bezpiecze stwo aplikacji 152integracja komponentoacutew z MVC 367kontrolka Repeater 434obs uga wyj tkoacutew 172przetwarzanie dania aplikacji klienckiej 18separacja modelu 427weryfikacja poprawno ci projektu 434

weryfikacjakodu pocztowego 81to samo ci 151

widok 16 25 30aplikacji

MVC4 453przystosowanie do urz dze mobilnych

459Transakcje 326

cz ciowy 30dodawanie 31edycji klienta 307elementy 31formularz

dodawania wpisu 425logowania 203

kontroleraaplikacja Kadry 58panelu administracyjnego 222

kontrolera AdminController 213kontrolera Dopasowania 77kontrolera ErrorControler 174kontrolera Glosowania 103kontrolera Home 131 169 182 307

metodaWyswietlLog 142Raport 375Transakcje 320

kontrolera HomeController 246AsynchronicznyKontroler 468EksportDanych 417

kontrolera Lista 93kontrolera Mapa 33 34

formularz 70Trasa 50

kreatorakonta u ytkownika 205zmiany has a 206

listyklientoacutew 302pracownikoacutew 61wyznaczonych tras 48zamoacutewie 316

mapyod wie enie 108parametryzacja 34

mechanizm przetwarzania 30modyfikowanie formularza 437obs uga wyj tkoacutew 130Pracownicycshtml 453projektowanie 31transfer danych do kontrolera 36typu CRUD 52

Kup książkę Poleć książkę

Skorowidz 541

typu GridViewimplementacja 48

typy plikoacutew 30utworzenie 30uzupe nianie tre ci 33walidacja 435wi zanie z modelem 437wstawianie rekordoacutew 312wynikoacutew ankiety 105wy wietlanie wpisoacutew 432

wielodziedziczenie 360Windows Authentication Provider 149Windows Data Protection API 187Windows Forms

implementacja klienta 483Windows Live ID 149w a ciwo

ConnectionString 243IsMobileDevice 460ModelStateIsValid 47

wstawianie rekordoacutew 299wstrzykni cie kodu 181 185wykresy 406

konfiguracjaserii danych 407typu 407

pobranie danych roacuted owych 408wy czenie aplikacji 171wyra enia lambda 46wyra enia regularne 73

atrybuty modelu 84liczba wyst pie sk adnikoacutew 76wzorzec

adres URL 83imi e skie 81kod pocztowy 80tworzenie 76

znaki i cyfry 74znaki specjalne 74znaki w wyznaczonych miejscach a cucha 75

wzorzecodnajdywanie

znakoacutew i cyfr 74znakoacutew specjalnych 74znakoacutew w wyznaczonych miejscach

a cucha 75okre lanie

liczby wyst pie znakoacutew 76

XXSS 181

Zzabezpieczenia

aplikacji bazodanowych 335ataki XSS 187informacje o b dach 171kodu po redniego 338konfiguracja 161konfiguracja aplikacji

kreatory 162obs uga wyj tkoacutew 171pliku konfiguracyjnego 167 187przed atakami 148ustawienia aplikacji 167witryny 181zarz dzanie dostawcami us ug 178z o liwy kod 181

zarz dzanieu ytkownikami i grupami 211

dost p do panelu administracyjnego 216lista grup 221podzia na grupy 220pobieranie listy 213tworzenie nowej grupy 222zmiana przynale no ci do grupy 215

z o ono ci aplikacji 16zdarzenie

DataGridViewCellDoubleClick 491rejestrowanie 430

z o liwy koddzia anie 181

znacznikinput 288

znaki specjalneodnajdywanie 74

zwi zanie z modelem 48zwi zek 347

danie 25asynchroniczna obs uga 92 466 470

skrypty 318zadania 473

GET 64POST 64przetwarzanie 127zablokowanie obs ugi 124

Kup książkę Poleć książkę

Notatki

Kup książkę Poleć książkę

536 ASPNET MVC

obiektTableAdapter 239 244 273 274 345

edycja danych 279 286wstawianie danych 294

TransactionScope 329parametryzacja 331

typuadres 118AppDomain 466ConcurrentDictionary 479NorthwindDataSet 247ObjectSetltTgt 348Route 121Thread 466

UrlRoutingModule 121ViewBag 36

przekazywanie danych do widoku WebForms 376

ViewData 36 79 432Object Relational Mapping 347Object Services 348obs uga b doacutew

konfiguracja 132w czenie 129

odrzucenie informacji o transakcji 148od wie anie witryny

a fragment widoku 97aktualizacja zawarto ci 113cz ciowe 96

OnSuccess 96operator

await 474konkatenacji 382Top 411Top N 411

ORM 347

Pparametr

CountryName 401data 115filtr 117mapDivId 35maxIloscRekordow 117Order 137raportu 395scopeTimeOut 330

warto ci 330TransactionScopeOption

warto ci 329type 115

parametryzacja kwerend 274partial view 30

piaskownica 341Plain Old CLR Object 360platforma NET

us ugi uwierzytelniania 153plik

ascx 22aspx 22bmp 390cookie 151cookies 154 155cshtml 22 434css 475edmx 360jpg 390js 475konfiguracyjny

zabezpieczenie 187master 22png 390rdl 368rdlc 368tekstowy

wy wietlenie w przegl darce 143vbhtml 22

POCO 360pola klucza 237polecenie

HtmlEncode 187ScriptsRender 476StylesRender 476GET 18POST 18

po czenieze roacuted em danych 241

pomocnik HTML 455Portable Document Format 413po rednik 341poziom izolacji 332

Chaos 333konfiguracja 332ReadCommitted 333ReadUncommitted 333Serializable 333Snapshot 333Unspecified 333

poziom zaufania 339ograniczenie 340

proceduraajax 115AjaxBeginForm 96niemapowalna 26PartialView 26serialize 115

Kup książkę Poleć książkę

Skorowidz 537

proces 465programowanie

oparte na zdarzeniach 17zdarzeniowe 17

projekt aplikacji MVCankieta 102asynchroniczne przetwarzanie da HTTP 92Bezpiecze stwo 181 336

nawi zanie komunikacji ze roacuted emdanych 342

szyfrowanie pliku konfiguracyjnego 191dodawanie i wy wietlanie komentarzy 183domy lny 20EksportDanych 413Filtry 131formularz oceny 107Kadry

walidacja adresu e-mail 84Kardy 55KsiegaGosci_MVC3 424lista prezentuj ca dodawane elementy 97MojaNawigacja 18

blokowanie samodzielnego tworzeniakont 224

buforowanie danych 135implementacja warstwy dost pu 42instalacja na serwerze IIS 500komunikat powitalny 168komunikaty 110komunikaty o b dach 173mechanizm podpowiedzi 115model weryfikuj cy po wiadczenia

u ytkownikoacutew 196modele kontrolera uwierzytelnienia 196od wie enie widoku mapy 109struktura 21szablon 19szablon witryny 225trasowanie da HTTP 123uzupe nienie o baz danych 40uzupe nienie o walidacj danych 69widok b du 175zablokowanie nieautoryzowanego

dost pu 128zarz dzanie u ytkownikami 163zarz dzanie grupami u ytkownikoacutew 212zarz dzanie procesem logowania 198

MsAjax 92NorthwindMVC 241

lista rekordoacutew 301szablon witryny 250

POCO 361priorytety regu filtrowania 137

Raport 368szablon

mechanizmy uwierzytelnienia 156zarz dzanie grupami u ytkownikoacutew 159

Transakcje 319aktualizacja danych 328formularz aktualizacji 328szablon stron 320

uzupe nianie widokiem GridView 49WyrazeniaRegularne 76Zapytania_EF 349

projekt aplikacji MVC4AsynchronicznyKontroler 466

prezentacja danych 468AutoryzacjaOAuth 461implementacja serwisu sieciowego 479konfiguracja grupowania 475MobileMvc 450

testowanie 457pobranie zdj cia 452przygotowanie listy pracownikoacutew 452SerwisSieciowy 477

projekt aplikacji Windows Formsedycja danych 487KlientWebAPI 483tworzenie nowych pracownikoacutew 486

dania typuDELETE 493POST 486PUT 491

projektowaniekontrolera 27widoku 31

protokoacuteFTP 495Kerberos 150NTLM 150SMTP 495SSL 337

proxy 341przechowywanie

informacji o trasach 44wynikoacutew g osowania 107

przeci enie aplikacji 147przekazywanie

danych 44mi dzy widokiem a kontrolerem 36

parametroacutew do metod akcji kontrolera 26przestrze nazw

SystemThreading 465przyjazne linki 122publikowanie aplikacji 495 500

na serwerze IIS 497

Kup książkę Poleć książkę

538 ASPNET MVC

pule aplikacji 465 497konfiguracja 498Windows 7 499Windows 8 500

Rraporty

dane w postaci macierzowej 390data 386definicja

dynamiczna 418filtrowanie danych 394

na poziomie roacuted a 401 418filtry 395formaty prezentacji danych 379grupowanie danych 381hiper cza 387

nawigacyjne 376kolumny obliczeniowe 378konfiguracja

filtrowania dynamicznego 396typu 392roacuted a danych 368

kreator formu 382macierzowe 391numery stron 386obrazy 390parametry 383 394

konfiguracja 399paski narz dziowe 379pola

bazy danych 386formularza 398raportu 390

po czenie z aplikacj 368prezentowanie uk adu graficznego 383projektowanie 371

i prezentowanie 368przystosowanie strony do obs ugi raportoacutew

387renderowanie 368tryby definicji 368tworzenie

definicji lokalnej 368formu 378przy u yciu kreatora 372

uk ad 383wstawianie nag oacutewka i stopki 385wykresy 406wy wietlenie 375

Razor 21 30przetwarzanie definicji widoku 208

RDL 418rekordy

edycja 307lista 301tworzenie 311usuwanie 305

Relationship 347Report Definition Language 418Report Wizard 371repudiation 148request 442response 442responsywno 464rollback transaction 319routing 22 430routowanie 121

SSandBox 341scaffolding 301Secure Socket Layer 337sekcja

membership 178roleManager 179set 441

serwerSMTP

konfiguracja 171us ug informacyjnych 149

weryfikacja to samo ci u ytkownika 149Simple Mail Transfer Protocol 495s owo kluczowe

helper 455await 474using 47 329

spaghetti code 18spoofing 147SQL Server Reporting Services 367SSRS 367stan pola

typu CheckBox 269pobieranie 264

STRIDE 148strona startowa

MojaNawigacja 226strona wzorcowa 30

aplikacji Kadry 55referencja do bibliotek skryptoacutew 70

systemowy serwer us ug informacyjnych 121szyfrowanie po czenia 335

ze roacuted em danych 336

Kup książkę Poleć książkę

Skorowidz 539

Ttabela danych

Categories 418Customers 305deklaracje kaskadowych arkuszy stylu 275edycja

danych 279danych w wierszu 257rekordoacutew 307 310

Employees 240 288filtrowanie listy 275integralno danych 288Konta 321 326kwerenda wybieraj ca 240Orders 291 315OrdersDetails 307pobieranie fotografii 276pobranie danych z wykorzystaniem JScript 280prezentacja

danych 277 325informacji 252listy danych 248pierwszego rekordu 246rekordoacutew 317

przekazanie do widoku 248Shippers 251tworzenie rekordoacutew 311umieszczenie w bazie danych 321uruchomienie edycji danych 258usuwanie

danych 288rekordoacutew 271 305 306

widok b du 268wstawianie

danych 294rekordoacutew 251

wy wietlenie listykonfiguracja hiper cza 315

zako czenie edycji rekordu 267tablica asocjacyjna 479tablica bajtoacutew

konwersja do bitmapy 277tampering 147task pane 371Task-based Asynchronous Pattern 465TDD 15

test jednostkowy funkcjonalno ci kontrolera28

Test-Driven Development 15testowanie

aplikacji 29wzorcoacutew wyra e regularnych 76 78

Toolbox 274

transakcje 319automatyczne zarz dzanie 327otaczaj ce 329poziom izolacji 332tworzenie i r czna kontrola 319

trasowanie 121aplikacja 430blokowanie dost pu 124domy lne regu y 123Ksi gaGosci_MVC3 430w asne regu y 124

trasowanie adresoacutew URL 121T-SQL 319

czynno ci bazodanowe 345tworzenie

bazy danych 40interfejsu u ytkownika

jQM 459szablony 231wzorzec MVVM 227

u ytkownika 200kody b doacutew 201

widoku Index 231wzorcoacutew wyra e regularnych 76

typed DataSet 244typizacja

silna 46s aba 46

typy puste 27

Uujawnienie krytycznych informacji 147ukryte pola 441Uniform Resource Locator 18URL 18uruchomienie aplikacji 503us uga

AspNetSqlProvider 178ustawienia aplikacji 167

odczytanie z pliku konfiguracyjnego 169UTC 155uwierzytelnienie 149

centralny serwis 151certyfikaty 150formularze logowania 151

atrybuty elementu forms 154konfiguracja 153mechanizmy zintegrowane z ASPNET 149na bazie protoko u NTLM 150przekazywanie informacji 151proste 150skroacutecone 150us ugi systemu Windows 150

Kup książkę Poleć książkę

540 ASPNET MVC

Vvariable placeholders 122view engine 21views 16viewstate 442Visual Studio

kreator projektu 19Visual Studio Development Server 496VS 2012

instalacja 240kreator Add New Item 242

VSDS 496

Wwalidacja

adresue-mail 83URL 83WWW 84

danych 53a technologia Entity Framework 68konfiguracja 66modelu Pracownik 66odwo anenie do jQuery 61po stronie klienta 67wyra enia regularne 73

skrypty i style walidatoroacutew 438w asno ci klasy encji 435

w tek 465Web API 477

edycja danych 491klient 483konfiguracja interfejsu 478obs uga da typu POST 486pobranie danych z serwera 485serwis sieciowy 479usuwanie danych 493

web serwer 495Web Site Administration Tool 161

konfigurowanie uprawnie 165zarz dzanie

dostawcami us ug 178u ytkownikami 163

WebForms 17bezpiecze stwo aplikacji 152integracja komponentoacutew z MVC 367kontrolka Repeater 434obs uga wyj tkoacutew 172przetwarzanie dania aplikacji klienckiej 18separacja modelu 427weryfikacja poprawno ci projektu 434

weryfikacjakodu pocztowego 81to samo ci 151

widok 16 25 30aplikacji

MVC4 453przystosowanie do urz dze mobilnych

459Transakcje 326

cz ciowy 30dodawanie 31edycji klienta 307elementy 31formularz

dodawania wpisu 425logowania 203

kontroleraaplikacja Kadry 58panelu administracyjnego 222

kontrolera AdminController 213kontrolera Dopasowania 77kontrolera ErrorControler 174kontrolera Glosowania 103kontrolera Home 131 169 182 307

metodaWyswietlLog 142Raport 375Transakcje 320

kontrolera HomeController 246AsynchronicznyKontroler 468EksportDanych 417

kontrolera Lista 93kontrolera Mapa 33 34

formularz 70Trasa 50

kreatorakonta u ytkownika 205zmiany has a 206

listyklientoacutew 302pracownikoacutew 61wyznaczonych tras 48zamoacutewie 316

mapyod wie enie 108parametryzacja 34

mechanizm przetwarzania 30modyfikowanie formularza 437obs uga wyj tkoacutew 130Pracownicycshtml 453projektowanie 31transfer danych do kontrolera 36typu CRUD 52

Kup książkę Poleć książkę

Skorowidz 541

typu GridViewimplementacja 48

typy plikoacutew 30utworzenie 30uzupe nianie tre ci 33walidacja 435wi zanie z modelem 437wstawianie rekordoacutew 312wynikoacutew ankiety 105wy wietlanie wpisoacutew 432

wielodziedziczenie 360Windows Authentication Provider 149Windows Data Protection API 187Windows Forms

implementacja klienta 483Windows Live ID 149w a ciwo

ConnectionString 243IsMobileDevice 460ModelStateIsValid 47

wstawianie rekordoacutew 299wstrzykni cie kodu 181 185wykresy 406

konfiguracjaserii danych 407typu 407

pobranie danych roacuted owych 408wy czenie aplikacji 171wyra enia lambda 46wyra enia regularne 73

atrybuty modelu 84liczba wyst pie sk adnikoacutew 76wzorzec

adres URL 83imi e skie 81kod pocztowy 80tworzenie 76

znaki i cyfry 74znaki specjalne 74znaki w wyznaczonych miejscach a cucha 75

wzorzecodnajdywanie

znakoacutew i cyfr 74znakoacutew specjalnych 74znakoacutew w wyznaczonych miejscach

a cucha 75okre lanie

liczby wyst pie znakoacutew 76

XXSS 181

Zzabezpieczenia

aplikacji bazodanowych 335ataki XSS 187informacje o b dach 171kodu po redniego 338konfiguracja 161konfiguracja aplikacji

kreatory 162obs uga wyj tkoacutew 171pliku konfiguracyjnego 167 187przed atakami 148ustawienia aplikacji 167witryny 181zarz dzanie dostawcami us ug 178z o liwy kod 181

zarz dzanieu ytkownikami i grupami 211

dost p do panelu administracyjnego 216lista grup 221podzia na grupy 220pobieranie listy 213tworzenie nowej grupy 222zmiana przynale no ci do grupy 215

z o ono ci aplikacji 16zdarzenie

DataGridViewCellDoubleClick 491rejestrowanie 430

z o liwy koddzia anie 181

znacznikinput 288

znaki specjalneodnajdywanie 74

zwi zanie z modelem 48zwi zek 347

danie 25asynchroniczna obs uga 92 466 470

skrypty 318zadania 473

GET 64POST 64przetwarzanie 127zablokowanie obs ugi 124

Kup książkę Poleć książkę

Notatki

Kup książkę Poleć książkę

Skorowidz 537

proces 465programowanie

oparte na zdarzeniach 17zdarzeniowe 17

projekt aplikacji MVCankieta 102asynchroniczne przetwarzanie da HTTP 92Bezpiecze stwo 181 336

nawi zanie komunikacji ze roacuted emdanych 342

szyfrowanie pliku konfiguracyjnego 191dodawanie i wy wietlanie komentarzy 183domy lny 20EksportDanych 413Filtry 131formularz oceny 107Kadry

walidacja adresu e-mail 84Kardy 55KsiegaGosci_MVC3 424lista prezentuj ca dodawane elementy 97MojaNawigacja 18

blokowanie samodzielnego tworzeniakont 224

buforowanie danych 135implementacja warstwy dost pu 42instalacja na serwerze IIS 500komunikat powitalny 168komunikaty 110komunikaty o b dach 173mechanizm podpowiedzi 115model weryfikuj cy po wiadczenia

u ytkownikoacutew 196modele kontrolera uwierzytelnienia 196od wie enie widoku mapy 109struktura 21szablon 19szablon witryny 225trasowanie da HTTP 123uzupe nienie o baz danych 40uzupe nienie o walidacj danych 69widok b du 175zablokowanie nieautoryzowanego

dost pu 128zarz dzanie u ytkownikami 163zarz dzanie grupami u ytkownikoacutew 212zarz dzanie procesem logowania 198

MsAjax 92NorthwindMVC 241

lista rekordoacutew 301szablon witryny 250

POCO 361priorytety regu filtrowania 137

Raport 368szablon

mechanizmy uwierzytelnienia 156zarz dzanie grupami u ytkownikoacutew 159

Transakcje 319aktualizacja danych 328formularz aktualizacji 328szablon stron 320

uzupe nianie widokiem GridView 49WyrazeniaRegularne 76Zapytania_EF 349

projekt aplikacji MVC4AsynchronicznyKontroler 466

prezentacja danych 468AutoryzacjaOAuth 461implementacja serwisu sieciowego 479konfiguracja grupowania 475MobileMvc 450

testowanie 457pobranie zdj cia 452przygotowanie listy pracownikoacutew 452SerwisSieciowy 477

projekt aplikacji Windows Formsedycja danych 487KlientWebAPI 483tworzenie nowych pracownikoacutew 486

dania typuDELETE 493POST 486PUT 491

projektowaniekontrolera 27widoku 31

protokoacuteFTP 495Kerberos 150NTLM 150SMTP 495SSL 337

proxy 341przechowywanie

informacji o trasach 44wynikoacutew g osowania 107

przeci enie aplikacji 147przekazywanie

danych 44mi dzy widokiem a kontrolerem 36

parametroacutew do metod akcji kontrolera 26przestrze nazw

SystemThreading 465przyjazne linki 122publikowanie aplikacji 495 500

na serwerze IIS 497

Kup książkę Poleć książkę

538 ASPNET MVC

pule aplikacji 465 497konfiguracja 498Windows 7 499Windows 8 500

Rraporty

dane w postaci macierzowej 390data 386definicja

dynamiczna 418filtrowanie danych 394

na poziomie roacuted a 401 418filtry 395formaty prezentacji danych 379grupowanie danych 381hiper cza 387

nawigacyjne 376kolumny obliczeniowe 378konfiguracja

filtrowania dynamicznego 396typu 392roacuted a danych 368

kreator formu 382macierzowe 391numery stron 386obrazy 390parametry 383 394

konfiguracja 399paski narz dziowe 379pola

bazy danych 386formularza 398raportu 390

po czenie z aplikacj 368prezentowanie uk adu graficznego 383projektowanie 371

i prezentowanie 368przystosowanie strony do obs ugi raportoacutew

387renderowanie 368tryby definicji 368tworzenie

definicji lokalnej 368formu 378przy u yciu kreatora 372

uk ad 383wstawianie nag oacutewka i stopki 385wykresy 406wy wietlenie 375

Razor 21 30przetwarzanie definicji widoku 208

RDL 418rekordy

edycja 307lista 301tworzenie 311usuwanie 305

Relationship 347Report Definition Language 418Report Wizard 371repudiation 148request 442response 442responsywno 464rollback transaction 319routing 22 430routowanie 121

SSandBox 341scaffolding 301Secure Socket Layer 337sekcja

membership 178roleManager 179set 441

serwerSMTP

konfiguracja 171us ug informacyjnych 149

weryfikacja to samo ci u ytkownika 149Simple Mail Transfer Protocol 495s owo kluczowe

helper 455await 474using 47 329

spaghetti code 18spoofing 147SQL Server Reporting Services 367SSRS 367stan pola

typu CheckBox 269pobieranie 264

STRIDE 148strona startowa

MojaNawigacja 226strona wzorcowa 30

aplikacji Kadry 55referencja do bibliotek skryptoacutew 70

systemowy serwer us ug informacyjnych 121szyfrowanie po czenia 335

ze roacuted em danych 336

Kup książkę Poleć książkę

Skorowidz 539

Ttabela danych

Categories 418Customers 305deklaracje kaskadowych arkuszy stylu 275edycja

danych 279danych w wierszu 257rekordoacutew 307 310

Employees 240 288filtrowanie listy 275integralno danych 288Konta 321 326kwerenda wybieraj ca 240Orders 291 315OrdersDetails 307pobieranie fotografii 276pobranie danych z wykorzystaniem JScript 280prezentacja

danych 277 325informacji 252listy danych 248pierwszego rekordu 246rekordoacutew 317

przekazanie do widoku 248Shippers 251tworzenie rekordoacutew 311umieszczenie w bazie danych 321uruchomienie edycji danych 258usuwanie

danych 288rekordoacutew 271 305 306

widok b du 268wstawianie

danych 294rekordoacutew 251

wy wietlenie listykonfiguracja hiper cza 315

zako czenie edycji rekordu 267tablica asocjacyjna 479tablica bajtoacutew

konwersja do bitmapy 277tampering 147task pane 371Task-based Asynchronous Pattern 465TDD 15

test jednostkowy funkcjonalno ci kontrolera28

Test-Driven Development 15testowanie

aplikacji 29wzorcoacutew wyra e regularnych 76 78

Toolbox 274

transakcje 319automatyczne zarz dzanie 327otaczaj ce 329poziom izolacji 332tworzenie i r czna kontrola 319

trasowanie 121aplikacja 430blokowanie dost pu 124domy lne regu y 123Ksi gaGosci_MVC3 430w asne regu y 124

trasowanie adresoacutew URL 121T-SQL 319

czynno ci bazodanowe 345tworzenie

bazy danych 40interfejsu u ytkownika

jQM 459szablony 231wzorzec MVVM 227

u ytkownika 200kody b doacutew 201

widoku Index 231wzorcoacutew wyra e regularnych 76

typed DataSet 244typizacja

silna 46s aba 46

typy puste 27

Uujawnienie krytycznych informacji 147ukryte pola 441Uniform Resource Locator 18URL 18uruchomienie aplikacji 503us uga

AspNetSqlProvider 178ustawienia aplikacji 167

odczytanie z pliku konfiguracyjnego 169UTC 155uwierzytelnienie 149

centralny serwis 151certyfikaty 150formularze logowania 151

atrybuty elementu forms 154konfiguracja 153mechanizmy zintegrowane z ASPNET 149na bazie protoko u NTLM 150przekazywanie informacji 151proste 150skroacutecone 150us ugi systemu Windows 150

Kup książkę Poleć książkę

540 ASPNET MVC

Vvariable placeholders 122view engine 21views 16viewstate 442Visual Studio

kreator projektu 19Visual Studio Development Server 496VS 2012

instalacja 240kreator Add New Item 242

VSDS 496

Wwalidacja

adresue-mail 83URL 83WWW 84

danych 53a technologia Entity Framework 68konfiguracja 66modelu Pracownik 66odwo anenie do jQuery 61po stronie klienta 67wyra enia regularne 73

skrypty i style walidatoroacutew 438w asno ci klasy encji 435

w tek 465Web API 477

edycja danych 491klient 483konfiguracja interfejsu 478obs uga da typu POST 486pobranie danych z serwera 485serwis sieciowy 479usuwanie danych 493

web serwer 495Web Site Administration Tool 161

konfigurowanie uprawnie 165zarz dzanie

dostawcami us ug 178u ytkownikami 163

WebForms 17bezpiecze stwo aplikacji 152integracja komponentoacutew z MVC 367kontrolka Repeater 434obs uga wyj tkoacutew 172przetwarzanie dania aplikacji klienckiej 18separacja modelu 427weryfikacja poprawno ci projektu 434

weryfikacjakodu pocztowego 81to samo ci 151

widok 16 25 30aplikacji

MVC4 453przystosowanie do urz dze mobilnych

459Transakcje 326

cz ciowy 30dodawanie 31edycji klienta 307elementy 31formularz

dodawania wpisu 425logowania 203

kontroleraaplikacja Kadry 58panelu administracyjnego 222

kontrolera AdminController 213kontrolera Dopasowania 77kontrolera ErrorControler 174kontrolera Glosowania 103kontrolera Home 131 169 182 307

metodaWyswietlLog 142Raport 375Transakcje 320

kontrolera HomeController 246AsynchronicznyKontroler 468EksportDanych 417

kontrolera Lista 93kontrolera Mapa 33 34

formularz 70Trasa 50

kreatorakonta u ytkownika 205zmiany has a 206

listyklientoacutew 302pracownikoacutew 61wyznaczonych tras 48zamoacutewie 316

mapyod wie enie 108parametryzacja 34

mechanizm przetwarzania 30modyfikowanie formularza 437obs uga wyj tkoacutew 130Pracownicycshtml 453projektowanie 31transfer danych do kontrolera 36typu CRUD 52

Kup książkę Poleć książkę

Skorowidz 541

typu GridViewimplementacja 48

typy plikoacutew 30utworzenie 30uzupe nianie tre ci 33walidacja 435wi zanie z modelem 437wstawianie rekordoacutew 312wynikoacutew ankiety 105wy wietlanie wpisoacutew 432

wielodziedziczenie 360Windows Authentication Provider 149Windows Data Protection API 187Windows Forms

implementacja klienta 483Windows Live ID 149w a ciwo

ConnectionString 243IsMobileDevice 460ModelStateIsValid 47

wstawianie rekordoacutew 299wstrzykni cie kodu 181 185wykresy 406

konfiguracjaserii danych 407typu 407

pobranie danych roacuted owych 408wy czenie aplikacji 171wyra enia lambda 46wyra enia regularne 73

atrybuty modelu 84liczba wyst pie sk adnikoacutew 76wzorzec

adres URL 83imi e skie 81kod pocztowy 80tworzenie 76

znaki i cyfry 74znaki specjalne 74znaki w wyznaczonych miejscach a cucha 75

wzorzecodnajdywanie

znakoacutew i cyfr 74znakoacutew specjalnych 74znakoacutew w wyznaczonych miejscach

a cucha 75okre lanie

liczby wyst pie znakoacutew 76

XXSS 181

Zzabezpieczenia

aplikacji bazodanowych 335ataki XSS 187informacje o b dach 171kodu po redniego 338konfiguracja 161konfiguracja aplikacji

kreatory 162obs uga wyj tkoacutew 171pliku konfiguracyjnego 167 187przed atakami 148ustawienia aplikacji 167witryny 181zarz dzanie dostawcami us ug 178z o liwy kod 181

zarz dzanieu ytkownikami i grupami 211

dost p do panelu administracyjnego 216lista grup 221podzia na grupy 220pobieranie listy 213tworzenie nowej grupy 222zmiana przynale no ci do grupy 215

z o ono ci aplikacji 16zdarzenie

DataGridViewCellDoubleClick 491rejestrowanie 430

z o liwy koddzia anie 181

znacznikinput 288

znaki specjalneodnajdywanie 74

zwi zanie z modelem 48zwi zek 347

danie 25asynchroniczna obs uga 92 466 470

skrypty 318zadania 473

GET 64POST 64przetwarzanie 127zablokowanie obs ugi 124

Kup książkę Poleć książkę

Notatki

Kup książkę Poleć książkę

538 ASPNET MVC

pule aplikacji 465 497konfiguracja 498Windows 7 499Windows 8 500

Rraporty

dane w postaci macierzowej 390data 386definicja

dynamiczna 418filtrowanie danych 394

na poziomie roacuted a 401 418filtry 395formaty prezentacji danych 379grupowanie danych 381hiper cza 387

nawigacyjne 376kolumny obliczeniowe 378konfiguracja

filtrowania dynamicznego 396typu 392roacuted a danych 368

kreator formu 382macierzowe 391numery stron 386obrazy 390parametry 383 394

konfiguracja 399paski narz dziowe 379pola

bazy danych 386formularza 398raportu 390

po czenie z aplikacj 368prezentowanie uk adu graficznego 383projektowanie 371

i prezentowanie 368przystosowanie strony do obs ugi raportoacutew

387renderowanie 368tryby definicji 368tworzenie

definicji lokalnej 368formu 378przy u yciu kreatora 372

uk ad 383wstawianie nag oacutewka i stopki 385wykresy 406wy wietlenie 375

Razor 21 30przetwarzanie definicji widoku 208

RDL 418rekordy

edycja 307lista 301tworzenie 311usuwanie 305

Relationship 347Report Definition Language 418Report Wizard 371repudiation 148request 442response 442responsywno 464rollback transaction 319routing 22 430routowanie 121

SSandBox 341scaffolding 301Secure Socket Layer 337sekcja

membership 178roleManager 179set 441

serwerSMTP

konfiguracja 171us ug informacyjnych 149

weryfikacja to samo ci u ytkownika 149Simple Mail Transfer Protocol 495s owo kluczowe

helper 455await 474using 47 329

spaghetti code 18spoofing 147SQL Server Reporting Services 367SSRS 367stan pola

typu CheckBox 269pobieranie 264

STRIDE 148strona startowa

MojaNawigacja 226strona wzorcowa 30

aplikacji Kadry 55referencja do bibliotek skryptoacutew 70

systemowy serwer us ug informacyjnych 121szyfrowanie po czenia 335

ze roacuted em danych 336

Kup książkę Poleć książkę

Skorowidz 539

Ttabela danych

Categories 418Customers 305deklaracje kaskadowych arkuszy stylu 275edycja

danych 279danych w wierszu 257rekordoacutew 307 310

Employees 240 288filtrowanie listy 275integralno danych 288Konta 321 326kwerenda wybieraj ca 240Orders 291 315OrdersDetails 307pobieranie fotografii 276pobranie danych z wykorzystaniem JScript 280prezentacja

danych 277 325informacji 252listy danych 248pierwszego rekordu 246rekordoacutew 317

przekazanie do widoku 248Shippers 251tworzenie rekordoacutew 311umieszczenie w bazie danych 321uruchomienie edycji danych 258usuwanie

danych 288rekordoacutew 271 305 306

widok b du 268wstawianie

danych 294rekordoacutew 251

wy wietlenie listykonfiguracja hiper cza 315

zako czenie edycji rekordu 267tablica asocjacyjna 479tablica bajtoacutew

konwersja do bitmapy 277tampering 147task pane 371Task-based Asynchronous Pattern 465TDD 15

test jednostkowy funkcjonalno ci kontrolera28

Test-Driven Development 15testowanie

aplikacji 29wzorcoacutew wyra e regularnych 76 78

Toolbox 274

transakcje 319automatyczne zarz dzanie 327otaczaj ce 329poziom izolacji 332tworzenie i r czna kontrola 319

trasowanie 121aplikacja 430blokowanie dost pu 124domy lne regu y 123Ksi gaGosci_MVC3 430w asne regu y 124

trasowanie adresoacutew URL 121T-SQL 319

czynno ci bazodanowe 345tworzenie

bazy danych 40interfejsu u ytkownika

jQM 459szablony 231wzorzec MVVM 227

u ytkownika 200kody b doacutew 201

widoku Index 231wzorcoacutew wyra e regularnych 76

typed DataSet 244typizacja

silna 46s aba 46

typy puste 27

Uujawnienie krytycznych informacji 147ukryte pola 441Uniform Resource Locator 18URL 18uruchomienie aplikacji 503us uga

AspNetSqlProvider 178ustawienia aplikacji 167

odczytanie z pliku konfiguracyjnego 169UTC 155uwierzytelnienie 149

centralny serwis 151certyfikaty 150formularze logowania 151

atrybuty elementu forms 154konfiguracja 153mechanizmy zintegrowane z ASPNET 149na bazie protoko u NTLM 150przekazywanie informacji 151proste 150skroacutecone 150us ugi systemu Windows 150

Kup książkę Poleć książkę

540 ASPNET MVC

Vvariable placeholders 122view engine 21views 16viewstate 442Visual Studio

kreator projektu 19Visual Studio Development Server 496VS 2012

instalacja 240kreator Add New Item 242

VSDS 496

Wwalidacja

adresue-mail 83URL 83WWW 84

danych 53a technologia Entity Framework 68konfiguracja 66modelu Pracownik 66odwo anenie do jQuery 61po stronie klienta 67wyra enia regularne 73

skrypty i style walidatoroacutew 438w asno ci klasy encji 435

w tek 465Web API 477

edycja danych 491klient 483konfiguracja interfejsu 478obs uga da typu POST 486pobranie danych z serwera 485serwis sieciowy 479usuwanie danych 493

web serwer 495Web Site Administration Tool 161

konfigurowanie uprawnie 165zarz dzanie

dostawcami us ug 178u ytkownikami 163

WebForms 17bezpiecze stwo aplikacji 152integracja komponentoacutew z MVC 367kontrolka Repeater 434obs uga wyj tkoacutew 172przetwarzanie dania aplikacji klienckiej 18separacja modelu 427weryfikacja poprawno ci projektu 434

weryfikacjakodu pocztowego 81to samo ci 151

widok 16 25 30aplikacji

MVC4 453przystosowanie do urz dze mobilnych

459Transakcje 326

cz ciowy 30dodawanie 31edycji klienta 307elementy 31formularz

dodawania wpisu 425logowania 203

kontroleraaplikacja Kadry 58panelu administracyjnego 222

kontrolera AdminController 213kontrolera Dopasowania 77kontrolera ErrorControler 174kontrolera Glosowania 103kontrolera Home 131 169 182 307

metodaWyswietlLog 142Raport 375Transakcje 320

kontrolera HomeController 246AsynchronicznyKontroler 468EksportDanych 417

kontrolera Lista 93kontrolera Mapa 33 34

formularz 70Trasa 50

kreatorakonta u ytkownika 205zmiany has a 206

listyklientoacutew 302pracownikoacutew 61wyznaczonych tras 48zamoacutewie 316

mapyod wie enie 108parametryzacja 34

mechanizm przetwarzania 30modyfikowanie formularza 437obs uga wyj tkoacutew 130Pracownicycshtml 453projektowanie 31transfer danych do kontrolera 36typu CRUD 52

Kup książkę Poleć książkę

Skorowidz 541

typu GridViewimplementacja 48

typy plikoacutew 30utworzenie 30uzupe nianie tre ci 33walidacja 435wi zanie z modelem 437wstawianie rekordoacutew 312wynikoacutew ankiety 105wy wietlanie wpisoacutew 432

wielodziedziczenie 360Windows Authentication Provider 149Windows Data Protection API 187Windows Forms

implementacja klienta 483Windows Live ID 149w a ciwo

ConnectionString 243IsMobileDevice 460ModelStateIsValid 47

wstawianie rekordoacutew 299wstrzykni cie kodu 181 185wykresy 406

konfiguracjaserii danych 407typu 407

pobranie danych roacuted owych 408wy czenie aplikacji 171wyra enia lambda 46wyra enia regularne 73

atrybuty modelu 84liczba wyst pie sk adnikoacutew 76wzorzec

adres URL 83imi e skie 81kod pocztowy 80tworzenie 76

znaki i cyfry 74znaki specjalne 74znaki w wyznaczonych miejscach a cucha 75

wzorzecodnajdywanie

znakoacutew i cyfr 74znakoacutew specjalnych 74znakoacutew w wyznaczonych miejscach

a cucha 75okre lanie

liczby wyst pie znakoacutew 76

XXSS 181

Zzabezpieczenia

aplikacji bazodanowych 335ataki XSS 187informacje o b dach 171kodu po redniego 338konfiguracja 161konfiguracja aplikacji

kreatory 162obs uga wyj tkoacutew 171pliku konfiguracyjnego 167 187przed atakami 148ustawienia aplikacji 167witryny 181zarz dzanie dostawcami us ug 178z o liwy kod 181

zarz dzanieu ytkownikami i grupami 211

dost p do panelu administracyjnego 216lista grup 221podzia na grupy 220pobieranie listy 213tworzenie nowej grupy 222zmiana przynale no ci do grupy 215

z o ono ci aplikacji 16zdarzenie

DataGridViewCellDoubleClick 491rejestrowanie 430

z o liwy koddzia anie 181

znacznikinput 288

znaki specjalneodnajdywanie 74

zwi zanie z modelem 48zwi zek 347

danie 25asynchroniczna obs uga 92 466 470

skrypty 318zadania 473

GET 64POST 64przetwarzanie 127zablokowanie obs ugi 124

Kup książkę Poleć książkę

Notatki

Kup książkę Poleć książkę

Skorowidz 539

Ttabela danych

Categories 418Customers 305deklaracje kaskadowych arkuszy stylu 275edycja

danych 279danych w wierszu 257rekordoacutew 307 310

Employees 240 288filtrowanie listy 275integralno danych 288Konta 321 326kwerenda wybieraj ca 240Orders 291 315OrdersDetails 307pobieranie fotografii 276pobranie danych z wykorzystaniem JScript 280prezentacja

danych 277 325informacji 252listy danych 248pierwszego rekordu 246rekordoacutew 317

przekazanie do widoku 248Shippers 251tworzenie rekordoacutew 311umieszczenie w bazie danych 321uruchomienie edycji danych 258usuwanie

danych 288rekordoacutew 271 305 306

widok b du 268wstawianie

danych 294rekordoacutew 251

wy wietlenie listykonfiguracja hiper cza 315

zako czenie edycji rekordu 267tablica asocjacyjna 479tablica bajtoacutew

konwersja do bitmapy 277tampering 147task pane 371Task-based Asynchronous Pattern 465TDD 15

test jednostkowy funkcjonalno ci kontrolera28

Test-Driven Development 15testowanie

aplikacji 29wzorcoacutew wyra e regularnych 76 78

Toolbox 274

transakcje 319automatyczne zarz dzanie 327otaczaj ce 329poziom izolacji 332tworzenie i r czna kontrola 319

trasowanie 121aplikacja 430blokowanie dost pu 124domy lne regu y 123Ksi gaGosci_MVC3 430w asne regu y 124

trasowanie adresoacutew URL 121T-SQL 319

czynno ci bazodanowe 345tworzenie

bazy danych 40interfejsu u ytkownika

jQM 459szablony 231wzorzec MVVM 227

u ytkownika 200kody b doacutew 201

widoku Index 231wzorcoacutew wyra e regularnych 76

typed DataSet 244typizacja

silna 46s aba 46

typy puste 27

Uujawnienie krytycznych informacji 147ukryte pola 441Uniform Resource Locator 18URL 18uruchomienie aplikacji 503us uga

AspNetSqlProvider 178ustawienia aplikacji 167

odczytanie z pliku konfiguracyjnego 169UTC 155uwierzytelnienie 149

centralny serwis 151certyfikaty 150formularze logowania 151

atrybuty elementu forms 154konfiguracja 153mechanizmy zintegrowane z ASPNET 149na bazie protoko u NTLM 150przekazywanie informacji 151proste 150skroacutecone 150us ugi systemu Windows 150

Kup książkę Poleć książkę

540 ASPNET MVC

Vvariable placeholders 122view engine 21views 16viewstate 442Visual Studio

kreator projektu 19Visual Studio Development Server 496VS 2012

instalacja 240kreator Add New Item 242

VSDS 496

Wwalidacja

adresue-mail 83URL 83WWW 84

danych 53a technologia Entity Framework 68konfiguracja 66modelu Pracownik 66odwo anenie do jQuery 61po stronie klienta 67wyra enia regularne 73

skrypty i style walidatoroacutew 438w asno ci klasy encji 435

w tek 465Web API 477

edycja danych 491klient 483konfiguracja interfejsu 478obs uga da typu POST 486pobranie danych z serwera 485serwis sieciowy 479usuwanie danych 493

web serwer 495Web Site Administration Tool 161

konfigurowanie uprawnie 165zarz dzanie

dostawcami us ug 178u ytkownikami 163

WebForms 17bezpiecze stwo aplikacji 152integracja komponentoacutew z MVC 367kontrolka Repeater 434obs uga wyj tkoacutew 172przetwarzanie dania aplikacji klienckiej 18separacja modelu 427weryfikacja poprawno ci projektu 434

weryfikacjakodu pocztowego 81to samo ci 151

widok 16 25 30aplikacji

MVC4 453przystosowanie do urz dze mobilnych

459Transakcje 326

cz ciowy 30dodawanie 31edycji klienta 307elementy 31formularz

dodawania wpisu 425logowania 203

kontroleraaplikacja Kadry 58panelu administracyjnego 222

kontrolera AdminController 213kontrolera Dopasowania 77kontrolera ErrorControler 174kontrolera Glosowania 103kontrolera Home 131 169 182 307

metodaWyswietlLog 142Raport 375Transakcje 320

kontrolera HomeController 246AsynchronicznyKontroler 468EksportDanych 417

kontrolera Lista 93kontrolera Mapa 33 34

formularz 70Trasa 50

kreatorakonta u ytkownika 205zmiany has a 206

listyklientoacutew 302pracownikoacutew 61wyznaczonych tras 48zamoacutewie 316

mapyod wie enie 108parametryzacja 34

mechanizm przetwarzania 30modyfikowanie formularza 437obs uga wyj tkoacutew 130Pracownicycshtml 453projektowanie 31transfer danych do kontrolera 36typu CRUD 52

Kup książkę Poleć książkę

Skorowidz 541

typu GridViewimplementacja 48

typy plikoacutew 30utworzenie 30uzupe nianie tre ci 33walidacja 435wi zanie z modelem 437wstawianie rekordoacutew 312wynikoacutew ankiety 105wy wietlanie wpisoacutew 432

wielodziedziczenie 360Windows Authentication Provider 149Windows Data Protection API 187Windows Forms

implementacja klienta 483Windows Live ID 149w a ciwo

ConnectionString 243IsMobileDevice 460ModelStateIsValid 47

wstawianie rekordoacutew 299wstrzykni cie kodu 181 185wykresy 406

konfiguracjaserii danych 407typu 407

pobranie danych roacuted owych 408wy czenie aplikacji 171wyra enia lambda 46wyra enia regularne 73

atrybuty modelu 84liczba wyst pie sk adnikoacutew 76wzorzec

adres URL 83imi e skie 81kod pocztowy 80tworzenie 76

znaki i cyfry 74znaki specjalne 74znaki w wyznaczonych miejscach a cucha 75

wzorzecodnajdywanie

znakoacutew i cyfr 74znakoacutew specjalnych 74znakoacutew w wyznaczonych miejscach

a cucha 75okre lanie

liczby wyst pie znakoacutew 76

XXSS 181

Zzabezpieczenia

aplikacji bazodanowych 335ataki XSS 187informacje o b dach 171kodu po redniego 338konfiguracja 161konfiguracja aplikacji

kreatory 162obs uga wyj tkoacutew 171pliku konfiguracyjnego 167 187przed atakami 148ustawienia aplikacji 167witryny 181zarz dzanie dostawcami us ug 178z o liwy kod 181

zarz dzanieu ytkownikami i grupami 211

dost p do panelu administracyjnego 216lista grup 221podzia na grupy 220pobieranie listy 213tworzenie nowej grupy 222zmiana przynale no ci do grupy 215

z o ono ci aplikacji 16zdarzenie

DataGridViewCellDoubleClick 491rejestrowanie 430

z o liwy koddzia anie 181

znacznikinput 288

znaki specjalneodnajdywanie 74

zwi zanie z modelem 48zwi zek 347

danie 25asynchroniczna obs uga 92 466 470

skrypty 318zadania 473

GET 64POST 64przetwarzanie 127zablokowanie obs ugi 124

Kup książkę Poleć książkę

Notatki

Kup książkę Poleć książkę

540 ASPNET MVC

Vvariable placeholders 122view engine 21views 16viewstate 442Visual Studio

kreator projektu 19Visual Studio Development Server 496VS 2012

instalacja 240kreator Add New Item 242

VSDS 496

Wwalidacja

adresue-mail 83URL 83WWW 84

danych 53a technologia Entity Framework 68konfiguracja 66modelu Pracownik 66odwo anenie do jQuery 61po stronie klienta 67wyra enia regularne 73

skrypty i style walidatoroacutew 438w asno ci klasy encji 435

w tek 465Web API 477

edycja danych 491klient 483konfiguracja interfejsu 478obs uga da typu POST 486pobranie danych z serwera 485serwis sieciowy 479usuwanie danych 493

web serwer 495Web Site Administration Tool 161

konfigurowanie uprawnie 165zarz dzanie

dostawcami us ug 178u ytkownikami 163

WebForms 17bezpiecze stwo aplikacji 152integracja komponentoacutew z MVC 367kontrolka Repeater 434obs uga wyj tkoacutew 172przetwarzanie dania aplikacji klienckiej 18separacja modelu 427weryfikacja poprawno ci projektu 434

weryfikacjakodu pocztowego 81to samo ci 151

widok 16 25 30aplikacji

MVC4 453przystosowanie do urz dze mobilnych

459Transakcje 326

cz ciowy 30dodawanie 31edycji klienta 307elementy 31formularz

dodawania wpisu 425logowania 203

kontroleraaplikacja Kadry 58panelu administracyjnego 222

kontrolera AdminController 213kontrolera Dopasowania 77kontrolera ErrorControler 174kontrolera Glosowania 103kontrolera Home 131 169 182 307

metodaWyswietlLog 142Raport 375Transakcje 320

kontrolera HomeController 246AsynchronicznyKontroler 468EksportDanych 417

kontrolera Lista 93kontrolera Mapa 33 34

formularz 70Trasa 50

kreatorakonta u ytkownika 205zmiany has a 206

listyklientoacutew 302pracownikoacutew 61wyznaczonych tras 48zamoacutewie 316

mapyod wie enie 108parametryzacja 34

mechanizm przetwarzania 30modyfikowanie formularza 437obs uga wyj tkoacutew 130Pracownicycshtml 453projektowanie 31transfer danych do kontrolera 36typu CRUD 52

Kup książkę Poleć książkę

Skorowidz 541

typu GridViewimplementacja 48

typy plikoacutew 30utworzenie 30uzupe nianie tre ci 33walidacja 435wi zanie z modelem 437wstawianie rekordoacutew 312wynikoacutew ankiety 105wy wietlanie wpisoacutew 432

wielodziedziczenie 360Windows Authentication Provider 149Windows Data Protection API 187Windows Forms

implementacja klienta 483Windows Live ID 149w a ciwo

ConnectionString 243IsMobileDevice 460ModelStateIsValid 47

wstawianie rekordoacutew 299wstrzykni cie kodu 181 185wykresy 406

konfiguracjaserii danych 407typu 407

pobranie danych roacuted owych 408wy czenie aplikacji 171wyra enia lambda 46wyra enia regularne 73

atrybuty modelu 84liczba wyst pie sk adnikoacutew 76wzorzec

adres URL 83imi e skie 81kod pocztowy 80tworzenie 76

znaki i cyfry 74znaki specjalne 74znaki w wyznaczonych miejscach a cucha 75

wzorzecodnajdywanie

znakoacutew i cyfr 74znakoacutew specjalnych 74znakoacutew w wyznaczonych miejscach

a cucha 75okre lanie

liczby wyst pie znakoacutew 76

XXSS 181

Zzabezpieczenia

aplikacji bazodanowych 335ataki XSS 187informacje o b dach 171kodu po redniego 338konfiguracja 161konfiguracja aplikacji

kreatory 162obs uga wyj tkoacutew 171pliku konfiguracyjnego 167 187przed atakami 148ustawienia aplikacji 167witryny 181zarz dzanie dostawcami us ug 178z o liwy kod 181

zarz dzanieu ytkownikami i grupami 211

dost p do panelu administracyjnego 216lista grup 221podzia na grupy 220pobieranie listy 213tworzenie nowej grupy 222zmiana przynale no ci do grupy 215

z o ono ci aplikacji 16zdarzenie

DataGridViewCellDoubleClick 491rejestrowanie 430

z o liwy koddzia anie 181

znacznikinput 288

znaki specjalneodnajdywanie 74

zwi zanie z modelem 48zwi zek 347

danie 25asynchroniczna obs uga 92 466 470

skrypty 318zadania 473

GET 64POST 64przetwarzanie 127zablokowanie obs ugi 124

Kup książkę Poleć książkę

Notatki

Kup książkę Poleć książkę

Skorowidz 541

typu GridViewimplementacja 48

typy plikoacutew 30utworzenie 30uzupe nianie tre ci 33walidacja 435wi zanie z modelem 437wstawianie rekordoacutew 312wynikoacutew ankiety 105wy wietlanie wpisoacutew 432

wielodziedziczenie 360Windows Authentication Provider 149Windows Data Protection API 187Windows Forms

implementacja klienta 483Windows Live ID 149w a ciwo

ConnectionString 243IsMobileDevice 460ModelStateIsValid 47

wstawianie rekordoacutew 299wstrzykni cie kodu 181 185wykresy 406

konfiguracjaserii danych 407typu 407

pobranie danych roacuted owych 408wy czenie aplikacji 171wyra enia lambda 46wyra enia regularne 73

atrybuty modelu 84liczba wyst pie sk adnikoacutew 76wzorzec

adres URL 83imi e skie 81kod pocztowy 80tworzenie 76

znaki i cyfry 74znaki specjalne 74znaki w wyznaczonych miejscach a cucha 75

wzorzecodnajdywanie

znakoacutew i cyfr 74znakoacutew specjalnych 74znakoacutew w wyznaczonych miejscach

a cucha 75okre lanie

liczby wyst pie znakoacutew 76

XXSS 181

Zzabezpieczenia

aplikacji bazodanowych 335ataki XSS 187informacje o b dach 171kodu po redniego 338konfiguracja 161konfiguracja aplikacji

kreatory 162obs uga wyj tkoacutew 171pliku konfiguracyjnego 167 187przed atakami 148ustawienia aplikacji 167witryny 181zarz dzanie dostawcami us ug 178z o liwy kod 181

zarz dzanieu ytkownikami i grupami 211

dost p do panelu administracyjnego 216lista grup 221podzia na grupy 220pobieranie listy 213tworzenie nowej grupy 222zmiana przynale no ci do grupy 215

z o ono ci aplikacji 16zdarzenie

DataGridViewCellDoubleClick 491rejestrowanie 430

z o liwy koddzia anie 181

znacznikinput 288

znaki specjalneodnajdywanie 74

zwi zanie z modelem 48zwi zek 347

danie 25asynchroniczna obs uga 92 466 470

skrypty 318zadania 473

GET 64POST 64przetwarzanie 127zablokowanie obs ugi 124

Kup książkę Poleć książkę

Notatki

Kup książkę Poleć książkę

Notatki

Kup książkę Poleć książkę