Co można zaliczyć do WebPartsów? Ilość możliwości wykorzystania ich przy budowie strony zależy tylko od naszej wyobraźni. Niektóre z możliwych zastosowań:
- lista ostatnio dodanych artykułów na stronie
- kalendarz wyświetlający nadchodzące zdarzenia
- lista linków do ciekawych stron
- wyszukiwarka informacji na naszej stronie
- podgląd np. dwóch losowych zdjęć z naszej galerii
- prognoza pogody na nadchodzący dzień
- kursy walut
- notowania giełdowe
oraz wiele innych.
Aby korzystać z dobrodziejstw WebPartsów należałoby się najpierw przyjrzeć strukturze tworzącej szkielet mechanizmu:
WebPartManager - kontrolka wymagana na każdej stronie, która zawiera elementy WebParts. Kontrolka ta jest kontrolką niewizualną, tzn. nie pojawia się jako komponent który widać na stronie. Jej zadaniem jest udostępnienie metod oraz zapewnienie interfejsu działania dla WebPartów.
WebPart - klasa bazowa dla wszystkich WebPartów. Dziedzicząc po niej będziemy tworzyli nasze komponenty.
CatalogPart - zapewnia wizualną część nadzorowania komponentów na stronie. Najczęściej ograniczona do całej witrynie a nie pojedynczej strony.
PageCatalogPart - w działaniu komponent podobny do CatalogPart. Zadaniem kontrolki jest grupowanie komponentów przypisanych do pojedynczej strony (nie całej witryny). Dzięki kontrolce, jeżeli użytkownik zamknie jakiś WebPart, może go przywrócić na innej.
EditorPart - pozwala na modyfikowanie właściwości WebParta
DeclarativeCatalogPart - katalog przechowujący możliwe do dodania komponenty na stronę (lub witrynę)
WebPartZone - wyznacza miejsce gdzie można położyć WebParta
EditorZone - wyznacza miejsce gdzie można umieścić EditorPart
CatalogZone - wyznacza miejsce gdzie można umieścić kontrolkę CatalogPart
Aby można było używać WebPartsów wymagane jest zapisanie informacji o nich w bazie danych. Ma to główną zaletę w postaci zapamiętania układu WebPartsów użytych przez konkretnego użytkownika. Informacje te są standardowo zapisywane w bazie ASPNETDB. Możemy jednak w łatwy sposób przenieść zapis na inną bazę danych.
Tworzenie własnego WebParta
Własny WebPart możemy stworzyć na 3 sposoby:
1. Poprzez stworzenie kontrolki użytkownika - User Control
2. Dziedziczenie po istniejącej kontrolce (np. Labelu czy TextBoxie)
3. Stworzenie własnej kontrolki Custom Control
Największe możliwości oferuje oczywiście 3 metoda. Jest ona jednak najbardziej pracochłonna. Postaram się więc omówić dwie pierwsze metody. Ostatnią możliwość stosujemy podobnie jak dwie pozostałe a nt. tworzenia własnych kontrolek pisałem już wcześniej artykuł na blogu. A więc zacznijmy.
Rozpoczynamy od stworzenia nowego projektu w Visual Studio. Następnie na formatkę kładziemy komponent WebPartManager. Nie ma on wizualnej postaci dla użytkownika, ale jak pisałem jest wymagany dla każdej strony korzystającej z WebPartsów:
Code:
Kolejnymi elementami będą odpowiednie strefy do których użytkownik (jak i my) będziemy mogli dodawać WebParty.
Następnie na formę kładziemy WebPartZone czyli kontrolkę która służy do umieszczania w niej WebParta:
Code:
Po skompilowaniu i uruchomieniu strony możemy otrzymać taki nieprzyjemny widok:
Jest to spowodowane brakiem zainstalowanego SQL Servera w wersji Express na naszej maszynie. Jeżeli tak jak i ja (osoby posiadające SQL Server Express podczas pierwszego uruchomienia mają udogodnienie w postaci automatycznego stworzenia pliku bazy danych) posiadacie inną wersję niż Express (np. Enterprise) należy wcześniej przygotować bazę danych.
W tym celu tworzymy nową pustą bazę danych:
Po stworzeniu bazy należy zintegrować ją z prowiderem odpowiedzialnym za presonalizację. Zrobić możemy to na dwa sposoby: za pomocą narzędzia graficznego jak i tekstowego. Narzędzie tekstowe daje dużo większe możliwości więc użyję go. Samego narzędzia nie będę omawiać, gdyż myślę iż już wystarczająco napisałem o nim w tym artykule. Samo wywołanie tworzące odpowiednią strukturę będzie miało następującą formę:
Następnie w pliku webconfig odpowiednio konfigurujemy sekcję odpowiedzialną za połączenie z bazą danych oraz WebPartami:
Code:
Teraz po skompilowaniu i uruchomieniu programu powinniśmy zobaczyć:
Przechodzimy do dalszej części tworzenia naszego WebParta.
Tworzymy Web User Control która będzie mieć za zadanie wyświetlanie kalendarza użytkownikowi:
Następnie przeciągamy z Solution nowo stworzoną kontrolkę do strefy:
Następnie uruchamiamy stworzoną aplikację. Po załadowaniu aplikacji widzimy nasz dodatek:
Dodatek ma opcje takie jak możliwość jego minimalizacji oraz zamknięcia. Daje to możliwość użytkownikowi wybrania czy dany komponent chce widzieć czy też nie.
Przedstawione tutaj możliwości to podstawy tworzenia WebPartsów. Istnieje możliwość tworzenia kolekcji WebPartsów z których użytkownik wybierze te, które mu odpowiadają, przenoszenia komponentów pomiędzy odpowiednio wyznaczonymi obszarami strony, jak i możliwość dodawania nowych WebPartsów przez samych użytkowników.
Brak komentarzy:
Prześlij komentarz