IDZ DO KATALOG KSI EK TWÓJ KOSZYK CENNIK I INFORMACJE CZYTELNIA PRZYK ADOWY ROZDZIA SPIS TRE CI KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG



Podobne dokumenty
Smarty PHP. Leksykon kieszonkowy

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

4 Web Forms i ASP.NET Web Forms Programowanie Web Forms Możliwości Web Forms Przetwarzanie Web Forms...152

IDZ DO KATALOG KSI EK TWÓJ KOSZYK CENNIK I INFORMACJE CZYTELNIA PRZYK ADOWY ROZDZIA SPIS TRE CI KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG

Wybrane działy Informatyki Stosowanej

Ćwiczenie: JavaScript Cookies (3x45 minut)

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Dokonaj instalacji IIS opublikuj stronę internetową z pierwszych zajęć. Ukaże się kreator konfigurowania serwera i klikamy przycisk Dalej-->.

ActiveXperts SMS Messaging Server

Instalacja i konfiguracja IIS-a na potrzeby dostępu WEB do aplikacji Wonderware InTouch Machine Edition

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

Tomasz Greszata - Koszalin

Instrukcja konfiguracji funkcji skanowania

Korzystanie z edytora zasad grupy do zarządzania zasadami komputera lokalnego w systemie Windows XP

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.

11. Autoryzacja użytkowników

Sesje i logowanie. 1. Wprowadzenie

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

Kancelaria Prawna.WEB - POMOC

Bazy danych i strony WWW

Ustalanie dostępu do plików - Windows XP Home/Professional

2014 Electronics For Imaging. Informacje zawarte w niniejszej publikacji podlegają postanowieniom opisanym w dokumencie Uwagi prawne dotyczącym tego

Laboratorium 7 Blog: dodawanie i edycja wpisów

Dokumentacja SMS przez FTP

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Zaawansowane aplikacje internetowe - laboratorium

1 Podstawy c++ w pigułce.

1 Powłoka programu Windows PowerShell Skrypty programu Windows PowerShell Zarządzanie dziennikami... 65

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

4. Podstawowa konfiguracja

Baza danych sql. 1. Wprowadzenie

C++. Æwiczenia zaawansowane

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład VII

Sesje, ciasteczka, wyjątki. Ciasteczka w PHP. Zastosowanie cookies. Sprawdzanie obecności ciasteczka

IBM SPSS Statistics Wersja 22. Linux - Instrukcja instalacji (licencja autoryzowanego użytkownika)

Część I Rozpoczęcie pracy z usługami Reporting Services

INSTRUKCJA UŻYTKOWNIKA Podpis cyfrowy ISO 9001:2008 Dokument: Wydanie: Podpis cyfrowy. Spis treści... 1

Języki programowania wysokiego poziomu. PHP cz.3. Formularze

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Pomoc dla systemu WordPress

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

Plan. Raport. Tworzenie raportu z kreatora (1/3)

Instrukcja instalacji

16) Wprowadzenie do raportowania Rave

Zanim zaczniesz. Warto ustawić kartę sieciową naszego serwera.

REFERAT O PRACY DYPLOMOWEJ

Praca w programie dodawanie pisma.

I. Informacje ogólne. Jednym z takich systemów jest Mambo.

TRX API opis funkcji interfejsu

Zacznij Tu! Poznaj Microsoft Visual Basic. Michael Halvorson. Przekład: Joanna Zatorska

MySQL. Æwiczenia praktyczne

World Wide Web? rkijanka

Fiery Remote Scan. Uruchamianie programu Fiery Remote Scan. Skrzynki pocztowe

Instrukcja obsługi aplikacji MobileRaks 1.0

Zakres treści Czas. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

Konfiguracja parametrów pozycjonowania GPS /5

Wykład 8: klasy cz. 4

Konta uŝytkowników. Konta uŝytkowników dzielą się na trzy grupy: lokalne konta uŝytkowników, domenowe konta uŝytkowników, konta wbudowane

Budowa architektury podstawowych funkcji usług IIS Działanie witryny sieci Web Korzystanie z aplikacji sieci Web i katalogów

Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w

Kurier DPD dla Subiekt GT

Instrukcja obsługi Multiconverter 2.0

NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI

ArtPlayer oprogramowanie do odtwarzania plików video sterowane Artnet/DMX V1.0.1

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja

Zmienne i stałe w PHP

Spis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7

1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.

asix4 Podręcznik użytkownika Drajwer OPC Podręcznik użytkownika

INSTRUKCJA obsługi certyfikatów

Pracownia internetowa w każdej szkole (edycja jesień 2005)

Portal SRG BFG. Instrukcja korzystania z Portalu SRG BFG

Instrukcja obsługi DHL KONWERTER 1.6

MasterEdytor. Podprogram pomocniczy do programu mpfotoalbum 1.2 INSTRUKCJA

WPROWADZENIE. Użycie PHP

Włączanie/wyłączanie paska menu

Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa

Użycie Visual Basic for Applications ("VBA")

Opcje Fiery1.3 pomoc (klient)

Wymagane jest podłączenie serwera do Internetu (konieczne do zdalnego dostępu).

MONITOROWANIE WINDOWS Z NETCRUNCHEM 7 P A G E 1

EXSO-CORE - specyfikacja

76.Struktura oprogramowania rozproszonego.

Podręcznik użytkownika

CMS - INFORMACJE. *** Mirosław Kuduk E mail: tel. kom DODATKOWE FUNKCJE - PANEL ADMINISTRATORA

Backend Administratora

Projekt: Mikro zaprogramowane na sukces!

Aplikacja Novell Filr 2.0 Web Szybki start

SERWER AKTUALIZACJI UpServ

Instalacja i konfiguracja IIS-a na potrzeby dostępu WEBowego/Secure

KONFIGURACJA PRZEGLĄDAREK. Poniższa konfiguracja dedykowana jest dla Bankowości Internetowej SGB

Dokumentacja systemu NTP rekrut. Autor: Sławomir Miller

Obiekt klasy jest definiowany poprzez jej składniki. Składnikami są różne zmienne oraz funkcje. Składniki opisują rzeczywisty stan obiektu.

NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI. asix. Aktualizacja pakietu asix 4 do wersji 5 lub 6. Pomoc techniczna

IBM SPSS Statistics Wersja 22. Linux - Instrukcja instalacji (licencja wielokrotna)

Jak używać funkcji prostego udostępniania plików do udostępniania plików w systemie Windows XP

Komunikacja i wymiana danych

Transkrypt:

PRZYK ADOWY ROZDZIA Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl IDZ DO KATALOG KSI EK ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK CENNIK I INFORMACJE ZAMÓW INFORMACJE O NOWO CIACH ZAMÓW CENNIK CZYTELNIA SPIS TRE CI KATALOG ONLINE DODAJ DO KOSZYKA FRAGMENTY KSI EK ONLINE ASP.NET. Vademecum profesjonalisty Autor: Scott Worley T³umaczenie: Pawe³ Janociñski ISBN: 83-7197-691-7 Tytu³ orygina³u: Inside ASP.NET Format: B5, stron: 482 Przyk³ady na ftp: 385 kb ASP.NET to najnowsza technologia Microsoftu, bêd¹ca ³¹cz¹ca Active Server Pages (ASP) z platform¹.net. Umo liwia ona pisanie wydajnych aplikacji WWW, korzystaj¹cych z zawansowanych mo liwo ci rodowiska.net. Je li specjalizujesz siê w tworzeniu takich aplikacji i chcesz nad¹ aæ za nowymi trendami w tej dziedzinie, ASP.NET Vademecum profesjonalisty jest ksi¹ k¹ dla Ciebie. Znajdziesz tu w zwiêz³ej i przystêpnej formie kompletny opis ASP.NET, a tak e innych powi¹zanych z ni¹ technologii. Ksi¹ ka opisuje miêdzy innymi: Klasy bazowe i podstawowe obiekty ASP.NET Szczegó³owe wskazówki dotycz¹ce projektowania i konfigurowania aplikacji ASP.NET Now¹ technologiê tworzenia interfejsu u ytkownika: WebForms i zaawansowane aspekty jej u ycia Dostêp do danych za pomoc¹ ADO.NET U ycie jêzyka XML w po³¹czeniu z ASP.NET Tworzenie us³ug sieciowych (web services), u ycie protoko³ów SOAP i UDDI Model bezpieczeñstwa aplikacji ASP.NET Obs³ugiwanie wiadomo ci U ycie us³ug katalogowych Active Directory Programowanie urz¹dzeñ przeno nych w ASP.NET Ksi¹ kê uzupe³niaj¹ dodatki omawiaj¹ce architekturê platformy.net, najczê ciej u ywane obiekty ASP.NET i ADO kontrolki serwera i Microsoft Mobile Internet Toolkit. Zawarta jest w niej tak e przyk³adowa kompletna aplikacja, w praktyczny sposób ilustruj¹ca dzia³anie ASP.NET. Je li programowa³e wcze niej w ASP, ASP.NET. Vademecum profesjonalisty to jedyna ksi¹ ka, która jest Ci potrzebna, by w pe³ni wykorzystaæ mo liwo ci tej technologii. To ksi¹ ka napisana przez profesjonalistów dla profesjonalistów. To ksi¹ ka dla Ciebie.

ASP.NET...B...B...17 Biblioteki klas bazowych.net...b...19 Konfiguracja aplikacji sieciowych ASP.NET...B...22 Zarządzanie sesjami i stanem...b...22 Zarządzanie buforowaniem...b...22 Warstwy aplikacji WWW w ASP.NET...B...23 Web Forms...B...B......24 Usługi sieciowe XML...B...B... 25 Współpraca z COM/COM+ i usługi składników...b...26 ADO.NET...B...B......26 Przejście z klasycznego ASP do ASP.NET...B...26 Globalizacja i lokalizacja...b.....27 Poprawione bezpieczeństwo...b...28 Pliki ustawień aplikacji...b...b....29 Składnia strony...b...b...32 Najczęściej stosowane obiekty i klasy ASP.NET...B...44 Śledzenie aplikacji ASP.NET...B...48 Przechodzenie do ASP.NET...B...54 Położenie pliku konfiguracyjnego web.config...b...59 Stosowanie sekcji konfiguracyjnej <appsettings>...b...62 Analiza sekcji konfiguracyjnych system.web...b...63 Wprowadzenie do Web Forms...B...77 Architektura Web Forms...B...B.82 Oddzielanie kodu od interfejsu użytkownika...b...86 Kontrolki serwera...b...b......87 Kontrolki sprawdzania poprawności...b...125 Czym jest zarządzanie stanem?...b...135 Stosowanie zarządzania stanem aplikacji w ASP.NET...B...138

Dostęp do danych z perspektywy strony internetowej...b...151 ADO i ADO.NET...B...B...15 3 Praca z podstawowymi obiektami ADO.NET...B...160 Tworzenie Web Forms orientowanych na dane...b...179 Aplikacje ASP.NET z obsługą transakcji...b...191 Struktura dokumentu XML...B...196 Stosowanie języka XML w ASP.NET...B...199 Inne technologie oparte na XML...B...201 Stosowanie języka XML w aplikacjach...b...206 Przykłady z życia wzięte...b...b2 07 Wprowadzenie do usług sieciowych XML...B...229 Stosowanie SOAP Toolkit w usługach sieciowych XML...B242 XML Web Service Discovery reklamowanie serwisu...b.252 Stosowanie usług sieciowych XML na stronach ASP.NET...255 Przegląd funkcji bezpieczeństwa ASP.NET...B...259 Stosowanie zabezpieczeń w aplikacjach ASP.NET...B...265 Wewnątrz zabezpieczeń ASP.NET...B...282 Inne aspekty bezpieczeństwa...b...287 Czym są usługi składników?...b...289 Stosowanie usług składników w aplikacjach ASP.NET...B...291 Obiekt roboczy...b...b......296 Stosowanie obiektu roboczego...b...300 Komponenty usługowe...b...b..306 Wprowadzenie do systemów obsługi wiadomości...b...311 Zarządzanie kolejkami wiadomości MSMQ w Windows 2000...314 Architektura usług obsługi wiadomości w.net...b...315 Wykonywanie zadań za pomocą MSMQ...B...318 Wprowadzenie do usług katalogowych...b...325 Jak działa Active Directory?...B...327 Korzyści ze stosowania Active Directory...B...328 Podsumowanie technologii Active Directory...B...330 Czym jest lokalizacja?...b...b... 337 Lokalizowanie aplikacji ASP.NET...B...340

Zarządzanie buforowaniem w ASP.NET...B...359 Buforowanie stron wychodzących...b...360 Buforowanie fragmentów (częściowe buforowanie strony)...366 Buforowanie żądań...b...b... 369 Kontrolki użytkownika...b...b..37 5 Wprowadzenie do kontrolek dostosowanych...b...391 WAP (Wireless Application Protocol)...B...414 WML (Wireless Markup Language)...B...415 Wprowadzenie ASP.NET...B...416 Czym jest ProjectPal?...B...B... 437 Instalacja aplikacji ProjectPal...B...439 Krótki przegląd aplikacji...b...45 Architektura aplikacji...b...b....447 Warstwy usług w ProjectPal...B...450 Interfejsy użytkownika ProjectPal...B...451 Baza danych ProjectPal...B...B.45 1 Komponenty ProjectPal...B...B.454 Wewnątrz kodu ProjectPal...B...456 Programowanie wielu platform...b...489 Wiele języków programowania...b...489 Biblioteki klas bazowych.net...b...490 Wspólne środowisko uruchomieniowe...b...494 Wspólny system typów...b...b..495 Produkty dla serwerów.net...b...495 Obiekt HttpContext (statyczna kontrolka Context)...B...497 Klasa HttpApplication...B...B...4 98 Klasa HttpApplicationState (statyczny obiekt Application)...499 Klasa HttpSessionState (statyczny obiekt Session)...B...500 Klasa HttpRequest (statyczny obiekt Request)...B...501 Klasa HttpResponse (statyczny obiekt Response)...B...502 Klasa Server (HttpServerUtility)...B...504 SMTPMail API...B...B....504 Obiekt DataSet...B...B......507 Obiekt DataTable...B...B.....508

Obiekt DataColumn...B...B...5 10 Klasa DataRow...B...B.....511 Obiekt DataRelation...B...B... 512 Obiekt DataView...B...B....512 Klasa DataRowView...B...B...51 3 Obiekty OLEDB...B...B... 514 Obiekty SQLData......B...B... 517 Obiekt HtmlForm element <form>...b...523 Obiekt HtmlInputText element <input>...b...525 Obiekt HtmlInputHidden element <input type="hidden">...526 Obiekt HtmlInputCheckbox element <input type="checkbox">...526 Obiekt HtmlInputRadioButton element <input type="radiobutton">...527 Obiekt HtmlInputFile element <input type="file">...b...528 Obiekt HtmlTextArea element <textarea>...b...529 Obiekt HtmlButton element <button>...b...531 Obiekt HtmlInputButton element <input type="button">...532 Obiekt HtmlAnchor element <a>...b...532 Obiekt HtmlImage element <img>...b...533 Obiekt HtmlInputImage element <input type="image">...534 Obiekt HtmlSelect elementy <select> i <option>...b...535 Obiekt HtmlTable element <table>...b...537 Obiekt HtmlTableRow element <tr>...b...538 Obiekt HtmlTableCell element <td>...b...539 Najczęściej stosowane właściwości klasy Webcontrol...B...542 Kontrolka Label...B...B......544 Kontrolka Image...B...B.....544 Kontrolka TextBox...B...B... 544 Kontrolka DropDownList...B...545 Kontrolka ListBox...B...B....545 Kontrolka CheckBox...B...B...54 6 Kontrolka CheckBoxList...B...546 Kontrolka RadioButton...B...B..54 7 Kontrolka RadioButtonList...B...548 Kontrolka Button...B...B.....548 Kontrolka LinkButton...B...B...5 49 Kontrolka ImageButton...B...B.549 Kontrolka HyperLink...B...B...5 50 Kontrolka Table...B...B......550 Kontrolka TableCell...B...B... 551 Kontrolka TableRow...B...B...5 51 Kontrolka Panel...B...B......551 Kontrolka Repeater...B...B....552 Kontrolka DataList...B...B....552 Kontrolka DataGrid...B...B... 554 Kontrolka AdRotator...B...B...5 56 Kontrolka Calendar...B...B....557 Grupy kontrolek...b...b......559 Kontrolki formularza i układu strony...b...560 Kontrolki prezentacyjne...b...b.5 64

Kontrolki nawigacyjne...b...b...5 65 Kontrolki wprowadzania danych...b...567 Kontrolki sprawdzania poprawności...b...570 Witryny działające na bazie ASP.NET...B...579 Witryny dotyczące ASP.NET...B...579 Witryny dotyczące C#...B...B...58 0 Witryny dotyczące Visual Basic.NET...B...580 Witryny dotyczące.net...b...580 Usługi sieciowe XML...B...B...58 1 Witryny firmy Microsoft dotyczące.net...b...581 Grupy dyskusyjne dotyczące.net...b...581 Listy wysyłkowe dotyczące.net...b...582 Magazyny...B...B......582

Ten rozdział wprowadza kilka tematów związanych z tworzeniem aplikacji ASP.NET. Są to: Pliki ustawień aplikacji Składnia stron WWW Najczęściej stosowane obiekty i klasy w ASP.NET Funkcje śledzenia Sprawy dotyczące migracji do ASP.NET Aplikacje ASP.NET mogą być konfigurowane za pomocą dwóach mechanizmów, opartych na plikach: global.asax plik globalnych ustawień aplikacji. web.config plik w formacie XML zawierający konfigurację aplikacjai. Plik global.asax służy dwóm głównym celom: Umożliwia definiowanie zmiennych, obiektów i danych o azasięgu aplikacji i sesji. Umożliwia definiowanie procedur obsługi zdarzeń, które maają miejsce w zakresie aplikacji, na poziomie sesji i aplikacji. Plik global.asax może zawierać następujące elementy:

dyrektywę stosowana do rejestrowania skompilowanych zbiorów zawierających aplikacje WWW; innym sposobem rejestrowaniaa zbiorów jest użycie pliku web.config, który jest omówiony później w podrozdziale Plik konafiguracyjny web.config dyrektywę importuje jawnie do aplikacji przestrzeń nazw. Wszyastkie klasy i interfejsy zdefiniowane w tej przestrzeni stająa się dostępne dla aplikacji dyrektywę definiuje specyficzną dla aplikacji informację używaną przez aplikację ASP.NET; jedyną funkcją tej dyrektywya jest dziedziczenie właściwości innego obiektu. Ma dwa atrybuty pierwszy toa, gdzie podaje się nazwę klasy, którą rozszerzamy, zaś drugi, zawiera tekstowy opis aplikacji (opis ten jest ignorowany zarówano przez parser, jak i kompilator, programista może go jednak użyć do własnycah celów). Zmienne o zakresie aplikacji mogą być tworzone za pomocą obiektów, zaś te o zakresie sesji za pomocą obiektu. Dokładniejszy opis tych obiektów i ich pozostałych zastosowań znajduje się w dalszej części tego arozdziału. Aby zadeklarować zmienną: Aby pobrać wartość zmiennej: Obiekty statyczne i komponenty COM/COM+ mogą być deklarowane w pliku global. asax za pomocą znacznika. Takie obiekty i komponenty mogą mieć zakres sesji lub aplikacji. Zakres określa, że obiekt lub komponent należą do bieżącej instancji i nie są współdzielone. W pliku global.asax można zdefiniować obsługę następujących zdarzeń sesji: zdarzenie generowane, gdy klient rozpoczyna sesję, zdarzenie generowane, gdy klient zamyka sesję.

W pliku global.asax można używać także bloków skryptu. Generalnie jednak bloki skryptu w global.asax służą do deklarowania zmiennych aplikacji i sesji oraz do obsługi zdarzeń dla platformy.net. Przeanalizujcie przykład pliku global.asax umieszczony na wydruku 2.1. Wprowadzanie zmian do pliku global.asax Gdy zmienia się aktywny plik global.asax, ASP.NET wykrywa zmianę pliku, kończy obsługę wszystkich bieżących żądań, generuje zdarzenie do wszystkich odbiorców i restartuje aplikację. W efekcie następuje zresetowanie aplikacji WWW lub witryny, zamknięcie wszystkich sesji i wyczyszczenie wszystkich informacji o stanie. Gdy nadchodzi nowe żądanie, ASP.NET kompiluje ponownie plik global.asax i generuje zdarzenie. Z oczywistych powodów zmian w pliku global.asax należy dokonywać, gdy aplikacja WWW jest w okresie braku lub niewielkiego poziomu ruchu. Poniżej, na wydruku 2.1 przedstawiono przykład pliku global.asax. Przykładowy plik global.asax Wprowadzanie zmian w pliku global.asax Zmiany w plikach konfiguracyjnych ASP.NET są automatycznie wykrywane przez system i natychmiast stosowane.

Kluczowe informacje o pliku global.asax Plik global.asax musi znajdować się w katalogu bazowym witryny lub apalikacji WWW. Aplikacja WWW czy witryna mogą mieć tylko jeden plik global.asax. Plik global.asax jest kompilowany przez ASP.NET do klasy (dziedziczącej po ) w momencie pierwszej aktywacji zasobów czy żądania URL naależącego do aplikacji. Plik global.asax jest skonfigurowany tak, że bezpośrednie żądanie URL dotyczące tego pliku jest automatycznie odrzucane; blokuje to nieautoryzowany adostęp do pliku global.asax. Informacje konfiguracyjne ASP.NET są przechowywane w pliku konfiguracyjnym w formacie XML. Oznacza to, że użytkownik może go przeglądać i edytować. Dzięki temu administratorzy i programiści mogą w łatwy sposób zmieniać ustawienia konfiguracji aplikacji WWW czy witryny. Programiści nie muszą czekać, aż administrator zmieni ustawienia IIS (Internet Information Server) i uruchomi ponownie serwer WWW, aby zmiany odniosły skutek. Jest więc oczywiste, że zwiększa to wydajność pracya programisty. System konfiguracji jest w pełni rozszerzalny, ponieważ daje możliwość umieszczania własnych danych konfiguracyjnych dla własnych aplikacji WWW i witryn w zaprojektowanym dla nich pliku web.config. Hierarchiczna infrastruktura konfiguracji pozwala na definiowanie i używanie w ASP.NET dodatkowych danych konfiguracyjnych. ASP.NET zawiera również bogaty zestaw wstępnych ustawień konfiguraacyjnych. Szczegółowy opis pliku web.config znajduje się w rozdziale 3., Konfigurowanie aplikacji ASP.NET. Przy programowaniu form WWW ważna jest znajomość składni strony w pliku ASP.NET. W ASP.NET istnieje dziesięć różnych elementów składni. Zostały one omówione poniżej. Dyrektywy strony pozwalają na podanie opcjonalnych ustawień używanych przez kompilator stron podczas przetwarzania plików ASP.NET. Mogą one być umieszczone w dowolnym miejscu pliku.aspx. Każda dyrektywa może zawierać jeden lub więcej atrybutów lub par wartości specyficznych dla tej dyrektywy. Ogólna składnia dyrektywy strony ma postać: Formy WWW obsługują następujące dyrektywy:

Dyrektywa definiuje atrybuty strony stosowane przez parser i kompilator stron ASP.NET. Ma ona następującą składnię: W pliku.aspx może znajdować się tylko jedna dyrektywa. Aby zdefiniować wiele atrybutów, należy wymienić je, oddzielając spacjami, bez spacji przy znaku równości, jak w. Dyrektywa ma następujące atrybuty: określa, czy strona jest kompatybilna wstecz z ASP. Jeaśli nie jest ustawiony na, biblioteki DLL ActiveX napisane dla ASP nie będą działać.a Atrybut ten należy ustawić na, jeśli strona musi być wykonywana w wątku STA lub wywołuje komponent COM+ 1.0 wymagający dostępu do wbudoawanych cech ASP przez kontekst obiektu lub przez. Wartością domyślną jest. definiuje semantykę buforowania odpowiedzi HTTP. Jeślia buforowanie ma być dostępne, ma wartość, w przeciwnym wypadku. Wartością domyślną jest. określa wartość strony kodowej dla strony ASP.NET. Obasługuje wszystkie prawidłowe wartości strony kodowej. definiuje typ zawartości HTTP w odpowiedzi, zgodny za typami MIME (Multipurpose Internet Mail Extension). Obsługuje wszystkie wartości definiujące prawidłowe typy zawartości HTTP. wskazuje ustawienia kulturowe dla strony. Obsługuje wsazystkie wartości definiujące prawidłowe ustawienia kulturowe.a dostarcza tekstowego opisu strony. Może zawierać dowolny tekst. wskazuje, czy informacja o właściwościach strony ma bayć przechowywana pomiędzy żądaniami strony. Jeśli ma wartaość informacja będzie przechowywana; jeśli nie będzie. Wartością domyślną jest. definiuje wymagania stanu sesji dla strony. Jeśli, stan sesji jest dostępny, określa, że stan sesji może być czytany, ale nie zmieniany, w innych przypadkach. Wartością domyślną jest. definiuje docelowy URL dla przekierowania, jeśli wystaąpi błąd braku strony. zewnętrzna klasa, po której strona dziedziczy. Może tao być dowolna klasa dziedzicząca po klasie.

język stosowany do kompilacji wszystkich bloków i wewnątrz strony. Może to być Visual Basic, C# lub JScript. definiuje identyfikator lokalizacji dla kodu stronay. kodowanie zawartości zwracanej strony. Obsługuje wartości z. zewnętrzna klasa do skompilowania (nazwa pliku źródłaowego). wskazuje, czy śledzenie jest włączone., jeśli śledzenie jest dostępne, w przeciwnym wypadku. Wartością domyślną jest. wskazuje, czy strona obsługuje transakcje. Możliwymi wartościami są,, i. definiuje poziom ostrzegawczy kompilatora, którego oasiągnięcie powoduje przerwanie kompilacji strony. Możliwe są wartaości od do. Jako dodatek do istniejących kontrolek HTML i serwera WWW, można zdefiniować kontrolki użytkownika (user controls). Tworzy się je przy użyciu tych samych technik, które służą do projektowania stron za pomocą form WWW. Kontrolki użytkownika oferują łatwy sposób na podzielenie i wielokrotne wykorzystywanie najpowszechniejszych funkcji interfejsu użytkownika w różnych aplikacjach ASP.NET. Podobnie jak w przypadku form WWW można je tworzyć za pomocą edytora tekstowego lub projektować z zastosowaniem gotowych klas. Analogicznie jak w przypadku form, kontrolki użytkownika są kompilowane w momencie wystąpienia pierwszego żądania, które ich dotyczy, i przechowywane w pamięci serwera, co pozwala skrócić czas reakcji przy następnych żądaniach. W przeciwieństwie do form WWW kontrolki użytkownika nie mogą być wywoływane samodzielnie; aby działać, muszą być umieszczone w stronie formy WWW. Szersze omówienie kontrolek użytkownika można znaleźć w rozdziale 15., Tworzenie kontrolek użytkownika i kontrolek dostosowanych dla AaSP.NET. Dyrektywa pozwala na zdefiniowanie atrybutów kontrolki stosowanych przez parser stron ASP.NET i kompilator. Dyrektywę tę można stosować tylko z kontrolkami użytkownika. Ma ona następującą składnię: Dyrektywa obsługuje te same atrybuty co, oprócz i. Aby umożliwić śledzenie, należy zdefiniować atrybut dla dyrektywy w pliku definiującym formę WWW zawierającą kontrolkę użytkownika. W jednym pliku.ascx może się znajdować tylko jedna dyrektywa. Dyrektywa ma następujące atrybuty: wskazuje, czy zdarzenia strony są powiązane z tą straoną. oznacza możliwość powiązania, przeciwny przypadek. Wartością domyślną jest.

pozwala na podanie nazwy klasy automatycznie kompailowanej dynamicznie podczas wystąpienia żądania strony. Wartoścaią może być dowolna prawidłowa nazwa klasy. łańcuch znaków zawierający opcje kompilacji dla starony. określa, czy strona ma być kompilowana z symbolami deabuggera. oznacza włączenie tych symboli, wyłączenie. dostarcza tekstowego opisu strony. Może zawierać dowolny tekst. definiuje dla strony wymagania dotyczące stanu sesji.a Wartość oznacza, że stan sesji jest dostępny, wartość że stan sesji może być odczytywany, ale nie modyfikowany, zaś waratość odpowiada pozostałym przypadkom. Wartością domyślną jest. określa, że strona powinna być kompilowana w trybie Viasual Basic Option Explicit. oznacza włączenie tej opcji, wyłączenie. Wartością domyślną jest. zewnętrzna klasa, po której strona dziedziczy. Może tao być dowolna klasa dziedzicząca po klasie. język stosowany do kompilacji wszystkich bloków i wewnątrz strony. Może to być Visual Basic, C# lub JScript.NETa. określa, że strona powinna być kompilowana w trybie Viasual Basic Option Strict. oznacza włączenie tej opcji, wyłączenie. Wartością domyślną jest. zewnętrzna klasa do skompilowania (nazwa pliku źródłaowego). definiuje poziom ostrzegawczy kompilatora, którego oasiągnięcie powoduje przerwanie kompilacji kontrolki użytkownikaa. Możliwe są wartości od do. Dyrektywa dołącza jawnie do strony przestrzeń nazw, co umożliwia elementom strony dostęp do wszystkich klas i interfejsów zdefiniowanych w tej przestrzeni. Importowana przestrzeń może być częścią biblioteki klas platformy.net lub przestrzenią zdefiniowaną przez użytkownika. Dyrektywa ma następującą składnię: Dyrektywa ma tylko jeden atrybut,, który zawiera nazwę przestrzeni nazw importowanej do strony. Zwróćcie uwagę na fakt, że dyrektywa ma tylko jeden atrybut. Aby zaimportować większą liczbę przestrzeni nazw, należy użyć awielu dyrektyw.

Poniższe przestrzenie nazw są automatycznie importowanae do wszystkich stron: Poniższy przykładowy kod przedstawia zaimportowanie przestrzeni nazw klas bazowych platformy.net, i zdefiniowanej przez użytkownika przestrzeni : Dyrektywa pozwala na określenie aliasów przestrzeni nazw i nazw klas dla skrócenia notacji składni własnych kontrolek serwera. adyrektywa ta ma następującą składnię: Dyrektywa ma następujące atrybuty: alias powiązany z przestrzenią nazw; alias powiązany z klasą; przestrzeń nazw powiązana z ; ścieżka (względna lub bezwzględna) kontrolki użytkownika apowiązanej z. Poniższy przykładowy fragment kodu ilustruje zastosowanie dyrektyw do zadeklarowania aliasów i dla kontrolek serwera i użytkownika. Pierwsza dyrektywa deklaruje alias jako prefiksu dla wszystkich kontrolek znajdujących się w przestrzeni nazw. Druga dyrektywa deklaruje

jako parę dla kontrolek użytkownika znajdujących się w pliku adrotator.ascx. Aliasy te są później użyte w składni kontrolek serwera wewnątrz formy do wstawiania instancji każdej z kontrolek serweara. Dyrektywa deklaruje stworzenie połączenia pomiędzy zbiorem a bieżącą stroną, co pozwala na wykorzystywanie na stronie klas i interfejsów zdefiniowanych w tym zbiorze. Dyrektywy tej można również użyć do rejestrowania zbiorów w pliku konfiguracyjnym, co umożliwi dostęp do nich w całej aplikacji. Dyrektywa ta ma następującą składnię: lub Dyrektywa ta ma atrybuty i. oznacza łańcuch określający nazwę zbioru łączonego ze stroną. zawiera ścieżkę dostępu do pliku źródłowego, który ma być dynamicznie skompilowany i dołączony. Zbiory znajdujące się w katalogu \bin aplikacji są automatycznie łączone ze stronami tej aplikacji. Takie zbiory nie wymagają dyrektywy. Automatyczne łączenie może zostać wyłączone przez usunięcie z sekcji pliku web.config następującego wiersza: Jako alternatywę użycia dyrektywy, zbiory można zarejestrować w pliku web.config, co spowoduje ich połączenie z całą aplikacją. Poniższy fragment kodu ilustruje użycie dyrektywy do stworzenia połączenia z MyAssembly.dll: Dyrektywa deklaruje sposób obsługi buforowania wyjścia dla strony. Składnia wygląda następująco:

Dyrektywa ta ma następujące atrybuty: czas buforowania strony lub kontrolki użytkownika w saekundach. Ustawienie tego atrybutu dla strony lub kontrolki użytkoawnika ustala ustawienia wygasania odpowiedzi HTTP generowanej przez obiekt i aautomatycznie buforuje wyjście strony lub kontrolki użytkownika. Atrybut ten jest wymagany. Jego brak spowoduje zgłoszeniea błędu parsera. jedna z listy wartości OutputCacheLocation. Wartością adomyślną jest. Uwaga: atrybut ten jest wymagany dla buforowania wyjściaa strony ASP.NET lub kontrolki użytkownika. Jego brak spowoduje zgłoszeniea błędu parsera. dowolny tekst reprezentujący własne wymagania dotycazące buforowania wyjścia. Jeśli atrybut ma wartość, buforowanie jest uzależnione od informacji o nazwie i wersji przeglądarki. Jeśli poadano własny łańcuch, w pliku global.asax aplikacji należy nadpisać metodę. lista oddzielonych przecinkami nagłówków HTTP stosowaanych dla zróżnicowania buforowania wyjścia. Jeśli w tym atryabucie podano kilka nagłówków, bufor wyjścia zawiera różne wersje żądanego doakumentu dla każdego z podanych nagłówków. Warto zauważyć, że ustawienie atrybutu umożliwia buforowanie we wszystkich buforach HTTP/1.1 a nie tylko w buforach ASPa.NET. Atrybut ten nie jest obsługiwany przez dyrektywy w kontrolkach użytkownika. lista oddzielonych przecinkami łańcuchów różnicującaych buforowanie wyjścia. Domyślnie łańcuchy te odpowiadają awartościom zapytania przesłanego przez atrybuty metody lub parametrom wysłanym przez metodę. Jeśli atrybut ten zawiera wiele parametrów, bufor wyjścia zawiera różne wersje żądanego dokumentu dla każdego podanego parametru. Możliawymi wartościami są, oraz wszystkie poprawne zapytania i nazwy parametrua. Uwaga: atrybut ten jest konieczny do buforowania wyjściaa stron ASP.NET i kontrolek użytkownika. Jego brak spowoduje zgłoszenie abłędu parsera. Jeśli nie chcecie podać parametrów różnicujących buforowaną zawaartość, należy ustawić wartość na. Jeśli buforowanie wyjścia ma być uzależnione od wszystkiach wartości parametrów, wartość należy ustawić na. lista oddzielonych przecinkami łańcuchów różnicującaych buforowanie wyjścia. Łańcuchy te reprezentują pełne ściasłe nazwy właściwości kontrolek użytkownika. Jeśli atrybut ten zostanie zastoasowany do kontrolki użytkownika, jej wyjście jest buforowane w zależności oda wartości podanych właściwości.

Fragmentem składni strony stosowanym niemal zawsze jest blok deklaracji. Blok deklaracji definiuje wewnętrzne zmienne i metody które są kompilowane podczas tworzenia dynamicznej klasy reprezentującej stronę ASP.NET. Blok deklaracji ma następujące atrybuty: podaje język używany w tym bloku deklaracji. Wartość amoże reprezentować dowolny kompatybilny z.net język prograamowania, taki jak Visual Basic, C# czy JScript.NET. Jeśli nie podano języka, waartością domyślną jest język podany w dyrektywie. Jeśli także ta dyrektywa nie zawiera informacji o języku, domyślnie jest używany Visual Basic. podaje ścieżkę dostępu i nazwę pliku zawierającego skrypt do wczytania. Jeśli zastosowano ten atrybut, pozostały kod zawarty w bloku adeklaracji jest ignorowany. Blok odrysowania definiuje kod lub wyrażenie wstawiane (inline), które będą wykonywane w momencie odrysowywania strony. Istnieją dwa style kod i wyrażenie. Używając zwykłego stylu, można zdefiniować zwykły blok kodu lub blok kontroli przepływu. Drugi może być stosowany jako skrót dla wywołania. Kod wstawiany ma następującą składnię: Warto zauważyć, że w bloku odrysowania nie może wystąpić jawnie sekwencja znaków. Może być ona zastosowana tylko do zakończenia tego bloku. Przykładowo, poniższy fragment kodu spowoduje błąd: Aby osiągnąć ten efekt można zbudować łańcuch znaków zawiaerający niedozwolony łańcuch: Komentarze po stronie serwera pozwalają na umieszczanie komentarzy wewnątrz plików.aspx. Jakikolwiek tekst zawarty pomiędzy znacznikami otwierającym i zamykającym komentarza, czy będzie to kod ASP.NET czy zwykły tekst, nie będzie przetwarzany przez serwer ani wypisany na wynikowej stronie.

Bloki komentarza po stronie serwera w ASP.NET mają te same zastosowania co bloki komentarza w językach programowania, łącznie z dokumeantacją i testowaniem. Wewnątrz bloków i można stosować składnię komentarza języka programowania, w którym napisano tena kod. Jeśli wewnątrz zostanie zastosowany komentarz serwera, kompilator zgłaosi błąd. Otwierający i zamykający znacznik komentarza mogą pojawiać się w tym samym wierszu kodu lub mogą być oddzielone wierszami anulowanego kodua. Komentarze po stronie serwera nie mogą być zagnieżdżane. Poniższy przykład ilustruje usunięcie kodu kontrolki daefiniującego przycisk HTML: Niestandardowe kontrolki serwera są najczęściej stosowane do enkapsulowania podobnych funkcji programistycznych. Można tworzyć własne niestandardowe kontrolki serwera lub używać kontrolek dostarczonych z platformą.net. Poniżej przedstawiono szczegółowo składnię stosowaną przy niestandardowych kontrolkach serwera. Kontrolki Web Form mogą być deklarowane przez wymienienie tych elementów w pliku.aspx. Znacznik otwierający takiego elementu musi zawierać atrybut lub parę wartości. Aby umożliwić programistyczne odwoływanie się do kontrolki, należy nadać jej unikalną wartość atrybutu. Aby umieścić w Web Form kontrolkę serwera (włączając kontrolki stworzone przez użytkownika i wszystkie kontrolki sieci WWW), należy zastosować następującą składnię: lub Możliwe są następujące atrybuty: alias pełnej nazwy przestrzeni nazw kontrolki. Aliaasy kontrolek stworzonych przez użytkownika są deklarowane w dyrektaywie. nazwa klasy zawierającą kontrolkę.

unikalny identyfikator umożliwiający programistycznae odnoszenie się do kontrolki. nazwa atrybutu. wartość przypisana do. nazwa definiowanej właściwości. wartość przypisana do. nazwa zdarzenia kontrolki. nazwa metody obsługi zdarzenia zdefiniowanej w kodzaie Web Form. Przykładowo, poniższy kod wstawia kontrolkę sieciową : Wyrażenia wiążące dane tworzą połączenia pomiędzy kontrolkami serwera i źródłami danych. Wyrażenia wiążące dane mogą być umieszczane po stronie wartości atrybutu lub pary wartości w znaczniku otwierającym kontrolki Web Form lub w dowolnym miejscu strony. Wyrażenie wiążące dane ma następującą składnię: lub Możliwe są następujące parametry: alias pełnej nazwy przestrzeni nazw kontrolki. Aliasem dla kontrolki sieciowej jest. Aliasy dla kontrolek stworzonych przez użytkownika asą deklarowane za pomocą dyrektywy. nazwa klasy platformy.net zawierającej kontrolkę.a właściwość kontrolki, dla której deklarowane jest powiązanie danych. dowolne wyrażenie spełniające wymienione poniżej wyamagania. Wszystkie wyrażenia wiążące dane, bez względu na miejsce ich umieszczenia, muszą być zawarte pomiędzy a. ASP.NET obsługuje hierarchiczny model wiązania danych, który umożliwia asocjacyjne łączenie właściwości kontrolek serwera i nadrzędnych źródeł danych. Każda właściwość kontrolki serwera może być powiązana z danymi. Właściwości kontrolek mogą być powiązane z dowolnymi publicznymi polami lub właściwościami zarówno na zawierającej je stronie, jak i w bezpośrednio wymienionym pojemnikua.

Platforma Web Form obsługuje również statyczną metodę wykonującą wyrażenie wiążące dane i opcjonalnie formatującą wynik jako łańcuch tekstowy. Metoda jest wygodna, ponieważ eliminuje konieczność jawnego rzutowania koniecznego dla skonwertowania wartości do konkretnego typu danych. Jest to szczególnie użyteczne dla list kontrolek należących do szablonu list, ponieważ często zarówno wiersz danych, jak i pole danych muszą być rzutowane. W poniższym przykładzie liczba całkowita jest wyświetlana w notacji walutowej. Przy standardowej składni wiązania danych w ASP.NET należy najpierw zrzutować typ danych, aby otrzymać wartość pola. Wartość ta jest następnie argumentem metody : Powyższy kod może być złożony i trudny do zapamiętania. Dla kontrastu, jest po prostu metodą z trzema argumentami: nazwą pojemnika zawierającego dane, nazwą pola danych i łańcuchem formatującym. W szablonach list, takich jak klasy, czy, nazwą pojemnika jest zawsze. Innym pojemnikiem, który można stosować w, jest. Argument zawierający łańcuch formatujący jest opcjonalny. Jeśli nie zostanie podany, zwróci wartość obiektu. Przykładowo: Znaczniki obiektów serwera deklarują i tworzą instancje obiektów COM i.net. Składnia wygląda następująco: Dostępne są następujące parametry: referencja do obiektu w późniejszym kodzie. identyfikuje nazwę klasy platformy.net, której instancję tworzymy. identyfikuje komponent COM, którego instancję tworzymya. identyfikuje komponent COM, którego instancję tworzymya. Gdy parser lub kompilator strony napotka znacznik obiektu serwera w pliku ASP.NET, generuje na stronie właściwość odczytu (read) lub zapisu (write), używając atrybutu znacznika jako jej nazwy. Właściwość odczytu jest skonfigurowana tak, aby stworzyć instancję obiektu w momencie pierwszego użycia. Otrzymana instancja nie jest dodawana jako obiekt do hierarchicznego drzewa kontrolek serwera tej strony; jest traktowana jako deklaracja zmiennej nie należącej do interfejsu użytkaownika.