podgląd danych aktualnie wybranego wpisu, układ kontrolek zgodny z tym, jaki widać na obrazkach powyżej
wpisy są posortowane rosnąco według identyfikatora; w przypadku braku wpisów w albumie należy wyświetlić stosowny komunikat
pole autora jest polem tylko do odczytu, link Choose... przenosi użytkownika do strony wyboru autora
guziki Insert, Update oraz Delete odpowiednio przenoszą użytkownika w tryb dodawania wpisu, aktualizują lub usuwają bieżący wpis
guziki Previous oraz Next służą do nawigacji między poszczególnymi wpisami
przełączanie się między poszczególnymi wpisami powoduje automatyczną aktualizację danych w bazie
należy zapobiec zarówno próbie przełączenia się między wpisami jak i aktualizacji danych w przypadku, gdy pole opisu pozostaje puste
Dodawanie nowego wpisu:
układ kontrolek zgodny z poniższymi ilustracjami:
pliki, które można wybrać jako zdjęcie umieszczone są w podkatalogu "images" katalogu głównego aplikacji
lista plików tworzona jest na podstawie zawartości tego katalogu, lista autorów tworzona jest na podstawie wpisów w bazie danych
przyciski Save oraz Cancel powodują powrót do widoku głównego i odpowiednio zapisanie lub odrzucenie dodawanego wpisu
gdy lista plików do wyboru i/lub pole opisu są puste należy uniemożliwić dodanie nowego wpisu
należy umożliwić wgranie pliku na serwer (do katalogu "images"), aplikacja powinna akceptować tylko pliki typu "image/jpeg"
Wybór autora
układ kontrolek zgodny z poniższymi ilustracjami:
lista autorów jest posortowana alfabetycznie według nazw
nawigacja po liście autorów nie powoduje zmian w bazie danych
przekierowanie ze strony głównej (link Choose...) powoduje wyświetlenie danych autora ostatnio oglądanego wpisu z albumu
wciśnięcie guzika Select powoduje zmianę autora tegoż wpisu (tj. aktualizację w bazie danych), przekierowanie na stronę główną i wyświetlenie uaktualnionego wpisu
Wymagania techniczne i ułatwienia:
dane dotyczące autorów nie zmieniają się - należy je wczytać z bazy danych tylko raz podczas działania aplikacji
można założyć, że w bazie zawsze znajdują się informacje o co najmniej dwóch autorach
dozwolone jest wykorzystanie standardowych kontrolek nawigacji udostępnianych przez FormView, w takim przypadku sposób rozmieszczenia tych kontrolek może różnić się od tego prezentowanego na ilustracjach
każda kontrolka prezentująca/zmieniająca/pozwalająca wybrać dane musi być skojarzona ze źródłem danych (DataSource, Databinding)
walidacja wymaganych pól powinna odbywać się zarówno po stronie klienta jak i serwera
przeglądanie, dodawanie, aktualizacja i usuwanie wpisów z albumu należy zaimplementować w oparciu o jeden webform
Wskazówki
Kontrolka FormView:
dane albumu: EditItemTemplate, InsertItemTemplate, EmptyDataTemplate
dane autorów: ItemTemplate
FormView.DefaultMode
Przekazywanie danych między stronami:
Session["nazwa"]
Response.Redirect()
AccessDataSource, ObjectDataSource
Jednorazowe wczytywanie danych:
oddzielna klasa, statyczny konstruktor
typowane: DataSet, TableAdapter, DataTable
publiczna metoda zwracająca kolekcję elementów pobieranych z zapamiętanego obiektu DataTable
wykorzystanie obiektu tej klasy jako ObjectDataSource