Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Technologie internetowe Wykład 7 Kontrola danych użytkownika.

Podobne prezentacje


Prezentacja na temat: "Technologie internetowe Wykład 7 Kontrola danych użytkownika."— Zapis prezentacji:

1 Technologie internetowe Wykład 7 Kontrola danych użytkownika

2 Rodzaje błędów Błąd kompilacji Błąd wykonania Błąd logiczny

3 Błąd komplikacji 1:int a=5; 2:a+="cm”; Linia 2: Nie można przekonwertować typu „string” na „int”.

4 Błąd wykonania protected void btnOblicz_Click(object sender, EventArgs e) { int litry = Convert.ToInt32(txtIlePaliwa.Text); int km = Convert.ToInt32(txtIleKilometrow.Text); int zuzycie = 100*litry / km; lblZuzycie.Text = zuzycie.ToString(); } Zatankowano [litry] Przejechano [km] [litrów/100km]

5

6 Błąd loginczny void PiszPoleWalca() { double promien = 3; double wysokosc = 2; double poleWalca = 2 * Math.PI * promien * h; Response.Write("Całkowite pole powierzchni walca:" + poleWalca.ToString("F2")); }

7 Wyjątki Mechanizm przepływu sterowania występujący we współczesnych językach programowania służący do obsługi zdarzeń wyjątkowych (w szczególności błędów wykonania).

8 Przyczyny wyjątków Błędne dane użytkownika Brak dostępu do pliku Problem z nawiązaniem połączenia (np. z serwerem bazodanowym) Przekroczenie indeksu tablicy, kolekcji Niewystarczające uprawnienia kodu

9 Obsługa wyjątków w C# try { // blok, w którym może wystąpić wyjątek } catch (klasa_wyjątku obiekt_wyjątku { // blok wykonywany w ramach obsługi wyjątku } finally { // blok zawsze wykonywany, niezależnie od wystąpienia wyjątku }

10 Hierarchia wyjątków.NET Exception AppliactionException SystemException ArthmeticException DivideByZeroException NotFiniteNumberException OverflowException FormatException Ponad 100 wyjątków….

11 protected void btnOblicz_Click(object sender, EventArgs e) { try { int litry = Convert.ToInt32(txtIlePaliwa.Text); int km = Convert.ToInt32(txtIleKilometrow.Text); int zuzycie = 100 * litry / km; lblZuzycie.Text = zuzycie.ToString(); } catch (FormatException w) { lblZuzycie.Text = " Błędny format danej "; } catch (DivideByZeroException w) { lblZuzycie.Text = " Dystans równy 0 "; } catch (Exception w) { lblZuzycie.Text = " Zgłoś błąd administratorowi: " + w.Message; } finally { lblZuzycie.BackColor = System.Drawing.Color.Yellow; } } Zatankowano [litry] Przejechano [km] [litrów/100km] Wyjątki obsługujemy od najbardziej szczegółowego do najogólniejszego !

12 Przekazywanie wyjątków int Iloraz(int a, int b) { return (a/b); } int Zuzycie (int paliwo, int km) { return 100*Iloraz(paliwo,km); } void btnObliczClick (object s, EventArgs e) { lblWynik.Text=Zuzycie(30,0).ToString(); } INTERFEJS Wywołanie Wyjątek

13 Wyjątki w JavaScript Kalkulator function Oblicz() { try { var wynik = eval(document.getElementById("txtWyr").value); document.getElementById("lblWynik").innerHTML = wynik; } catch (w) { alert(w.message); } finally { document.getElementById("lblWynik").style.backgroundColor = "yellow"; } } Wyrażenie

14 Walidatory Kontrolki nadzorujące zawartość innych kontrolek (zwykle TextBox) Jeżeli którykolwiek walidator wykryje problem blokuje akcje inicjowaną np. przyciskiem Buttton i wyświetla komunikat Funkcjonalność walidatorów może być realizowana po stronie serwerowej i/lub klienckiej

15 Właściwości walidatorów ControlToValidate – wskazuje, która kontrolka jest nadzorowana Text – informacja o błędzie wyświetlana bezpośrednio przez walidator ErrorMessage – informacja o błędzie wyświetlana w podsumowaniu walidacji Display – decyduje, czy nieaktywny walidator zajmuje miejsce (wartość Static) lub całkowicie znika Dynamic. ValidationGroup – grupa kontrolek podlegających pojedynczej walidacji EnableClientScript – wykorzystanie skryptów klienckich do walidacji SetFocusOnError – automatyczne przejście do edycji nadzorowanej kontrolki w chwili wystąpienia błędu

16 RequiredFieldValidator Sprawdza, czy w polu wpisano jakąkolwiek wartość. Właściwość InitialValue pozwala przedefiniować wartość początkową. Uwaga ! Pozostałe walidatory aktywują się tylko w wypadku wprowadzenia jakiejś wartości do kontrolki nadzorowanej. Z tego powodu można uznać RequiredFieldValidator za walidator obowiązkowy.

17 RangeValidator Wartość poza zakresem. Sprawdza, czy wartość w polu mieści się w zakresie. Typ wartości decyduje o poprawnym porównaniu z zakresem MinimumValue - MaximumValue Double, IntegerString 10>210<2

18 CompareValdiator Porównuje wartość pola z wartością lub z innym polem. Promień musi być większy od zera. Porównanie z wartością Porównywana wartość Sposób porównania Promień musi być nie większy niż wysokość. Kontrolka porównywana Kontrolka sprawdzana

19 CompareValidator – kontrola formatu danej Zła typ danej. Operator DataTypeCheck sprawdza, czy dana w kontrolce nadzorowanej może zostać przekonwertowana do typu określonego w Type.

20 ReqularExpressionValidator Sprawdza, czy wartość w pisana w polu ma wymagany format.

21 CustomValidator Walidator pozwalający wprowadzić własny kod sprawdzający po stronie serwera (zdarzenie ServerValidate) i klient (właściwość ClientValidationFunction) Zła dana protected void cvPromien_ServerValidate(object source, ServerValidateEventArgs args) { if (args.Value.Length > 5) args.IsValid = true; else args.IsValid = false; } function SprawdzPromien(source, args) { if (args.Value.length > 5) args.IsValid = true; else args.IsValid = false; }

22 Walidacja po stronie klienta Oparta o skrypt kliencki JavaScript Natychmiastowa informacja o błędzie Brak przeładowania strony Brak działania w wypadku wyłączenia skryptów klienckich

23 Walidacja po stronie serwera Oparta o skrypt serwerowy Zawsze realizowana Wymaga sprawdzenia właściwości strony IsValid prawdziwej, gdy nie aktywował się żaden walidator Wymaga przeładowania strony

24 protected void btnObliczPole_Click(object sender, EventArgs e) { if (IsValid) lblPole.Text = (Convert.ToDouble(txtWysokosc.Text) * Convert.ToDouble(txtSzerokosc.Text)).ToString("F2"); } Prostokąt Wysokość Brak wysokości. Zła wysokość. Szerokość Brak szerokości. Szerokość nieparzysta.

25 Komunikacja błędu inna niż tekst. Wartość poza zakresem.. Tekst Obrazek

26 ValidationSummary Kontrolka zawierająca spis wszystkich błędów (ErrorMessage) wygenerowanych przez walidatory z tej samej grupy (ValidtionGroup) Podaj promień od 0 do 10 Wysokość Podaj wysokość 5 do 15 Właściwości: ShowMessageBox ShowSummary

27 Grupa walidacyjna Właściwość ValidationGroup posiadają: kontrolki walidatorów kontrolka podsumowania walidacji kontrolki powodujące inicjujące akcje i przeładowanie strony: przyciski Button, LinkButton, ImageButton listy ListBox, DropDownList, CheckBoxList, RadioButtonList pola RadioButton, CheckBox Właściwość ValidationGroup pozwala rozdzielić stronę na niezależnie sprawdzane sekcje

28 Grupy walidacyjne - przykład

29 Kontrola danych Walidacja po stronie klienckiej Walidacja po stronie serwerowej Własna logika sprawdzania Obsługa wyjątków

30 Literatura M. Mysior: Wprowadzenie do ASP.NET 2.0. Ćwiczenia praktyczne, NAKOM 2008 MCTS Self-Paced Training Kit (Exam ): Microsoft.NET Framework ASP.NET

31 KONIEC


Pobierz ppt "Technologie internetowe Wykład 7 Kontrola danych użytkownika."

Podobne prezentacje


Reklamy Google