Dostępne grupy kontrolek Toolbox (przybornik) zawiera obiekty, które moŝna umieścić na projektowanej stronie. Obiekty są pogrupowane w kategorie : Standard kontrolki ogólnego zastosowania. Wiele z nich odpowiada standardowym komponentom HTML, ale oferują one rozbudowaną funkcjonalność. Data kontrolki serwerowe umoŝliwiające odczytanie, wyświetlanie i aktualizację informacji pobieranych z róŝnych źródeł danych. Validation kontrolki umoŝliwiające weryfikację informacji wprowadzanych na stronie przez uŝytkownika. Navigation kontrolki wyświetlające elementy nawigacyjne, takie jak ścieŝki czy menu róŝnych typów. Login kontrolki umoŝliwiające zarządzanie procesem logowania i rejestracji uŝytkowników serwisu. WebParts kontrolki serwerowe pozwalające traktować część strony Web jako obszar dynamiczny. HTML zwykłe kontrolki HTML. JeŜeli znacznik taki zostanie dołączony do strony ASP.NET (.aspx), moŝna przekształcić go w kontrolkę serwerową HTML. General grupa początkowo pusta, przeznaczona jest na kontrolki uŝytkownika. Podstawowe kontrolki Web Do podstawowych kontrolek naleŝą: Label wyświetla statyczny tekst TextBox wyświetla pole tekstowe Button wyświetla przycisk LinkButton wyświetla odnośnik zachowujący się jak przycisk ImageButton wyświetla obrazek, który po kliknięciu myszką działa jak przycisk HyperLink wyświetla odnośnik, który uŝytkownik moŝe kliknąć aby przenieść się na inną stronę DropDownList wyświetla rozwijaną listę wyboru ListBox wyświetla listę wielokrotnego wyboru CheckBox wyświetla pole wyboru CheckBoxList wyświetla listę złoŝoną z pól Image wyświetla obrazek ImageMap wyświetla obrazek z opcjonalnie zdefiniowaną mapą aktywnych obszarów Table wyświetla tabelę BulletedList wyświetla listę numerowaną lub wypunktowaną HiddenField tworzy ukryte pole Literal wyświetla statyczną zawartość
Sprawdzanie poprawności wpisywanych danych Wprowadzenie Typowym zadaniem przy projektowaniu stron Web jest walidacja danych wprowadzonych przez uŝytkownika. UŜytkownik moŝe celowo lub przez pomyłkę podać błędne dane, które mogą spowodować niepoŝądane działanie aplikacji. W ASP.NET są dostępne specjalne kontrolki, które w prosty sposób umoŝliwiają implementację sprawdzania poprawności wpisanych danych. Kontrola poprawności moŝe być dokonywana po stronie klienta. Kontrolki sprawdzające poprawność danych wprowadzanych przez uŝytkownika Kontrolki do sprawdzania poprawności danych wprowadzanych przez uŝytkownika nazywane są walidatorami. Walidator jest powiązany z wybraną kontrolką na stronie, umoŝliwiającą wprowadzanie danych przez uŝytkownika. Najczęściej walidacja odbywa się w momencie, w którym strona ma zostać wysłana do serwera. Zawartość kontrolki jest wówczas sprawdzana przez walidator. Ze względu na róŝne typy wpisywanych danych istnieją róŝne kontrolki sprawdzające. Jedna kontrolka wejściowa moŝe być nadzorowana przez kilka walidatorów (kontrolujących np. czy wprowadzono wartość oraz czy dana wartość jest poprawna). Dodatkowo przygotowano kontrolkę wyświetlającą podsumowanie błędów na stronie. Kontrolki sprawdzania poprawność wpisywanych danych Kontrolka RequiredFieldValidation sprawdza, czy uŝytkownik wypełnił wymagane pole Kontrolka CompareValidator porównuje wartości między sobą Kontrolka RangeValidator sprawdza, czy podana wartość mieści się w określonym zakresie Kontrolka RegularExpressionValidator sprawdza, czy wprowadzona wartość pasuje do określonego wzorca Kontrolka CustomValidator sprawdza złoŝone warunki Kontrolka ValidationSummary wyświetla podsumowanie błędów KaŜdy walidator posiada następujące właściwości: ControlToValidate ustawia lub zwraca identyfikator kontrolki, którą sprawdza walidator (domyślna wartość String.Empty) Display ustawia lub zwraca sposób wyświetlania i rezerwowania miejsca na stronie na komunikaty o błędach
ErrorMessage ustawia lub zwraca treść komunikatu błędu sprawdzania poprawności umieszczonego w podsumowaniu błędów IsValid ustawia lub zwraca informacje o poprawności weryfikowanych danych Text ustawia lub zwraca treść komunikatu błędu sprawdzenia poprawności wyświetlanego na stronie Kontrolka RequiredFieldValidation W celu sprawdzenia, czy uŝytkownik wypełnił wymagane pole, wykorzystuje się kontrolkę RequiredFieldValidation. <asp:requiredfieldvalidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="imieStronaTextBox" ErrorMessage="Pole Imię jest wymagane" > *</asp:requiredfieldvalidator> NajwaŜniejsze elementy konfiguracji kontrolki to: ControlToValidate="imieStronaTextBox" Określająca ID kontrolki do sprawdzenia ErrorMessage="Pole Imię jest wymagane" komunikat pojawiający się w polu podsumowania informujący uŝytkownika o błędzie Text= * - gwiazdka pojawi się w miejscu umieszczenia kontrolki walidatora w przypadku nie wpisania wartości Kontrolka CompareValidator W celu porównania wartości między sobą, wykorzystuje się kontrolkę CompareValidator. Kontrolki tej uŝywa się m.in. do sprawdzenia wieku uŝytkownika lub porównywania wprowadzonych danych ze zdefiniowaną stałą. Zachowanie kontrolki zaleŝy od następujących właściwości: ValueToCompare zawiera stałą, z jaką porównywana jest wartość wprowadzona przez uŝytkownika ControlToCompare zawiera ID kontrolki, z jaką ma być porównana wartość w sprawdzanej kontrolce Typ definiuje typ porównywanych danych, moŝliwe typy danych: o String (domyślny) typ łańcuchowy o Integer typ całkowity o Double typ zmiennoprzecinkowy o Currency typ waluty o Date typ daty Operator określa sposób porównania: o Equal sprawdza czy wartości są sobie równe (ustawione domyślnie) o NotEqual sprawdza czy wartości są róŝne o GreaterThan sprawdza czy jedna wartość jest większa od drugiej o GreaterThanEqual sprawdza czy jedna wartość jest większa lub równa drugiej o LessThan sprawdza czy jedna wartość jest mniejsza od drugiej o LessThanEqual sprawdza czy jedna kontrolka jest mniejsza lub równa drugiej
o DataTypeCheck sprawdza poprawność typów danych Przykład: Sprawdzanie, czy podana ilość lat jest większa niŝ 18 <asp:comparevalidator runat="server" id="comparevalidator1" ControlToValidate=" wiektextbox " ValueToCompare="18" Operator="GreaterThanEqual" Type="Integer" ErrorMessage="Musisz mieć conajmniej 18 lat."> * </asp:comparevalidator> Kontrolka RangeValidator W celu sprawdzenia, czy podana wartość mieści się w określonym zakresie, wykorzystuje się kontrolkę RangeValidator. NajwaŜniejsze właściwości kontrolki: MinimumValue wartość minimalna zakresu MaximumValue wartość maksymalna zakresu Type definiuje typ danych Przykład: Sprawdzanie, czy podana liczba mieści się w zakresie od 1 do 5 <asp:rangevalidator ID="RangeValidator1" runat="server" ControlToValidate="ocenaStronaTextBox" ErrorMessage="Podaj liczbę w przedziale od 1 do 5" MinimumValue="1" MaximumValue="5" Type="Integer">*</asp:RangeValidator> Kontrolka RegularExpressionValidator W celu sprawdzenia, czy wprowadzona wartość pasuje do określonego wzorca, wykorzystuje się kontrolkę RegularExpressionValidator. Kontrolkę tę uŝywa się do sprawdzania czy poprawnie podano kod pocztowy, adres mailowy, numer NIP itp. Do sprawdzenia poprawności naleŝy podać w atrybucie ValidationExpression wyraŝenie regularne (ang. regular expression). Przykład: Sprawdzenie poprawności podania adresu e-mail <asp:regularexpressionvalidator ID="RegularExpressionValidator2" runat="server" ControlToValidate="emailProduktyTextBox" ErrorMessage="Podaj poprawny adres e-mail" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*">*</asp:RegularExpressionValidator> Podczas projektowania w Visual Studio projektant ma moŝliwość wyboru gotowego wyraŝenia regularnego spośród najczęściej uŝywanych.
Przykłady wyraŝeń: [0-9]{1,4}\,[0-9]{2} [0-9]{1,4}\,[0-9]{2,} \d{4}-\d{2}-\d{2} [A-Z]{1}[a-z]{1,}
Ilość powtórzeń mozna okreslic w następujący sposób: Kontrolka CustomValidator W celu sprawdzenia bardziej złoŝonych warunków, wykorzystuje się kontrolkę CustomValidator. UmoŜliwia ona wykorzystanie funkcji wykonywanych po stronie serwera lub po stronie klienta. Funkcję te musi napisać programista. Kontrolka ValidationSummary Do wyświetlenia podsumowania błędów na stronie wykorzystuje się kontrolkę ValidationSummary. Wyświetla ona komunikaty zawarte w atrybutach ErrorMessage walidatorów, które wykryły błędy w nadzorowanych kontrolkach. Przykład: <asp:validationsummary ID="ValidationSummary1" runat="server" HeaderText="Błędy na stronie:" ShowSummary="true" DisplayMode="BulletList"/>