Krzysztof Mossakowski
Programowanie w technologii .NET
2008 - Zadania
ASP.NET, user controls, walidacja, AJAX
Aplikacja ASP.NET demonstrująca użycie własnej kontrolki kalendarza
Kontrolka kalendarza
kontrolka użytkownika (dziedziczy po System.Web.UI.UserControl)
składa się z TextBox, Button i Calendar
Calendar jest domyślnie niewidoczny, jest pokazywany po wciśnięciu przycisku "Set date" i ponownie ukrywany po wybraniu daty
po wybraniu daty jest ona pokazywana w polu tekstowym kontrolki
użytkownik ma możliwość edycji tekstu w polu tekstowym kontrolki
odświeżanie kontrolki nie powoduje odświeżania całej strony, należy użyć mechanizmu AJAX
Walidacja kontrolki
należy zapewnić współprace kontrolki ze standardowym walidatorem RequiredFieldValidator - wymóg niepustej wartości w polu tekstowym kontrolki
należy zaimplementować własny walidator współpracujący z kontrolką i standardowym mechanizmem walidacji ASP.NET weryfikujący poprawność daty
pusty tekst jest poprawną datą
tekst dający się sparsować do typu DateTime jest poprawną datą
własna kontrolka walidacji może działać jedynie po stronie serwera (nie jest wymagany kod JavaScript implementujący walidacje po stronie klienta)
Strona demonstracyjna
dwie kontrolki kalendarza
dwa walidatory wymuszające wartość w kontrolkach
dwa walidatory wymuszające poprawność dat
przycisk "Calculate datediff in days" obliczający różnicę między datami w dniach
obliczenie jest wykonywane jedynie wówczas, gdy obie daty są poprawne
Wskazówki
kontrolki ScriptManager, UpdatePanel
WebUserControl - kontrolka użytkownika, plik z rozszerzeniem *.ascx
atrybut ValidationProperty
klasa BaseValidator; metody EvaluateIsValid, FindControl; właściwość ControlToValidate
<%@ Register Assembly="Task03" Namespace="Task03" TagPrefix="uc2" %>
Przybliżona punktacja:
kontrolka: 4.5
współpraca z RequiredFieldValidator: 1.0
własny walidator: 2.5
strona demonstracyjna: 2.0
Linki do przesyłania rozwiązań (hasło jest takie samo, jak do wyników):
Rozwiązania podczas zajęć laboratoryjnych
Późniejszej poprawy