70-562: Using Web Parts

Artykuł pochodzi w serii przygotowań do egzaminu 70-562 ASP.NET.

Web Parts są komponentami z częścią funkcjonalności, które można osadzić na stronie i zarządzać nimi. Web Party dają użytkowników swobodę w zarządzaniu wyglądem strony (głównie elementami funkcjonalnymi jakie znajdują się na stronie).

ASP.NET posiada zcentralizowany mechanizm do zarządzania obsługą Web Partów. Klasy związane z Web Partami znajdują się w przestrzeni nazw System.Web.UI.WebControls.WebParts. Najważniejsze elementy z tej przestrzeni to:

  • WebPartManager – jest wymaganą kontrolką, na której mają znajdować się Web Party, ona zarządza całą obsługą Web Partów, ostatecznie nie ma wizualnej reprezentacji w htmlu wysyłanym użytnikowi
  • WebPart – jest klasą bazową dla wszystkich Web Partów
  • CatalogPart – jest wizualnym elementem, który umożliwia zarządzanie grupą Web Partów, które mogą zostać dodane do aplikacji webowej, grupuje Web Party dla całej aplikacji, a nie pojedynczej strony
  • PageCatalogPart – jest podobną kontrolką do CatalogPart, tylko z tą różnicą, że grupuje Web Party możliwe do wykorzystania dla jeden konkretnej strony, a nie całej aplikacji webowej
  • EditorPart – kontrolka umożliwia użytkownikom zmienianie właściwości Web Partów
  • WebPartZone – kontrolka określa obszar strony, w obrębie którego mogą być dodawane Web Party

Aby móc wykorzystać Web Party na stronie trzeba przede wszystkim dodać dwa elementy: WebPartManager oraz WebPartZone (gdzie do elementu ZoneTemplate kontrolki WebPartZone dodajemy Web Party):

   1: <asp:WebPartManager ID=”WebPartManagerrunat=”server>
   2: </asp:WebPartManager>
   3: <asp:WebPartZone ID=”WebPartZoneVendorrunat=”serverHeaderText=”Vendor Aggregatestyle="width: 6SOpx; height: auto>
   4:     <ZoneTemplate>
   5:         <!—-Add web parts to the zone-->
   6:     </ZoneTemplate>
   7: </asp:WebPartZone>

Samego Web Parta programista może stworzyć na trzy sposoby: stworzyć nową kontrolkę użytkownika, wykorzystać istniejącą kontrolkę ASP.NET (np. Label) i w niej osadzić elementy Web Party oraz stworzyć klasę, która dziedziczy po klasie WebPart (ostatnia metoda zostanie szczegółowiej opisana w jednej z późniejszych lekcji).

Pierwszą metodą jest wykorzystanie kontrolki użytkownika. Aby z kontrolki użytkownika zrobić Web Party, wystarczy po prostu ją dodać do ZoneTemplate.

   1: <asp:WebPartZone ID=”WebPartzone2runat=”serverHeaderText=”Fabrikam
   2: style=”width: 350px; float: left; height: auto;”>
   3:     <ZoneTemplate>
   4:         <ucl:VendorWebPart ID=”VendorWebPartlrunat=”servertitle=”Fabrikam/>
   5:     </ZoneTemplate>
   6: </asp: Web PartZone>

Mechanizm Web Partów w ASP.NET sam zadba o to, aby wszystko działało poprawnie. Przed wykorzystaniem kontrolki na stronie trzeba dodać dyrektywę Register na początku pliku w celu rejestracji kontrolki.

   1: <%@ Register src=”VendorWebPart.ascx” tagname=”VendorWebPart” tagprefix=”ucl” %>

Drugą metodą jest wykorzystanie istniejącej kontroli ASP.NET. Do ZoneTemplate dodajemy na przykład kontrolkę Label, a w jej środku definiujemy wygląd Web Party (tak jak to widać niżej na listingu).

   1: <asp:WebPartzone ID=”WebPartzonelrunat=”server
   2: HeaderText=”Vendor Aggregatestylewidth: 700px; height: auto>
   3:     <ZoneTemplate>
   4:         <asp: Label ID=”Label3runat=”serverText=”" title=”Vendor Total's>
   5:             <div style=”margin-top: l2px; margin-bottom: 20px;
   6: line-height: 30px; font-size: 12pt>
   7:             Total Active Users: <a href=”#”>21</a>
   8:             <br />Total transactions today: <a href=”#”>166</a>
   9:             <br />Revenue trades to-date: <a href=”#”>$34,450</a>
  10:             </div>
  11:         </asp:Label>
  12:     </ZoneTemplate>
  13: </asp:WebPartZone>

Web Party na stronie mogą być wyświetlany w kilku różnych widokach. Każdy widok charakteryzuje się różnym zachowaniem Web Partów oraz tym co można z Web Partami zrobić. W celu zmiany widoku wystarczy zmienić w kodzie behind właściwość DisplayMode WebPartManagera znajdującego się na stronie.

   1: WebPartManagerl.DisplayMode = WebPartManagerl.SupportedDisplayModes[”Browse”];

Dopuszczalne wartości to:

  • BrowseDisplayMode – standardowy sposób wyświetlania strony, jest on domyślnie ustawiony
  • DesingDisplayMode – w tym widoku użytkownik może zmieniał położenie Web Partów na stronie
  • EditDisplayMode – podobnie jak DesingDisplayMode umożliwia użytkownikowi zmianę położenia Web Partów. Dodatkowo za pomocą elementu Edit z menu Web Parta użytkownik może zmienić właściwości Web Parta, aby to zrobić na stronie musi znajdować się kontrolka EditorZone
  • CatalogDisplayMode – w tym widoku użytkownik może dodać nowe Web Part na stronę (wymaga jest kontrolka CatalogZone na stronie)
  • ConnectDispalyMode – ten widok umożliwia użytkownikowi definiowanie połączeń miedzy Web Partami (np. w jednym Web Parcie użytkownik podaje kod pocztowy swojej miejscowości, a inny Web Part wyciąga za pomocą połączenia ten kod i wyświetla informacje specyficzne dla danej miejscowości np. pogodę) – wymagana na stronie jest kontrolka ConnectionZone

Mechanizm Web Partów jest bardzo rozbudowany, w tym artykule zostały przedstawione podstawowe informacje. Po więcej informacji odsyłam do artykułu na MSDNie.

Tagi: , , ,

Add comment




  Country flag
biuquote
  • Comment
  • Preview
Loading


Eastgroup.pl na facebooku