Web Parts in ASP.NET
In ASP.NET 2.0 you can build web portal that offer personalization and modularization
of information using new Portal framework. This new framework provides effective
way to build a modular web site that dynamically reapplies settings on a per-user
basis. Web Parts are objects in the Portal Framework which the end user can open,
close or move from one zone of the page to another. Web Parts are included in ASP.NET
server control framework and are used like any other ASP.NET server controls. You
can also build your own custom Web Parts.
Advantages of Web Parts
-
Web Parts allows for personalization of page content. They allows users to move
or hide the Web Parts and add new Web Parts changing the page layout.
-
Web Parts allows user to export or import Web Parts settings for use in other pages.
Web Parts retain the properties, appearance and the data across the pages when imported
or exported.
-
Web Parts can be assigned role-based access. So you can determine which Web Parts
can share by all or which should be hidden for certain roles. This helps us to provide
customized content based on security.
-
Web Parts can talk to each other. You can utilize the data in one Web Part in another
Web Part for different purposes.
Web Parts Modes
The modular and customizable sites that you can build with the new Portal Framework
enable you to put the web page that is in view into several modes for the end user.
Modes are very powerful in that they enable user to edit Web Parts, delete the Web
Parts or customize Web Parts.
-
a) Normal mode: End user cannot edit or move sections of page.
-
b) Edit Mode: End user can edit Web Parts on the page including
Web Parts title, color or even setting custom properties.
-
c) Design Mode: End user can rearrange the order of the page’s
Web Parts in a WebPartZone.
-
d) Catalog Mode: End user enjoys the choice to add new Web Parts
or add deleted Web Parts in any WebPartZone on the page.
Web Parts components
You can study Web Parts under three different categories. Each category adds it
own value in Portal Framework (Web Parts).
-
Personalization
-
UI Structural components
-
WebParts UI controls
Personalization
Personalization is the core behavior of WebParts. You can modify or personalize
the layout, appearance and behavior of WebParts controls. Personalized settings
are persisted for future browser sessions.
UI Structural components
UI structural components create infrastructure for the WebParts to work on a page.
They provide core services needed by any Web Part including coordinating and tracking
all individual WebParts controls. They also control the different modes in which
a page can be (Normal, Edit, Design, and Catalog). It also manages WebParts zones.
For example: WebPartManager control is one such UI Structural component which should
be required on each page that holds WebParts.
WebParts UI controls
Web Parts control set is extensive and flexible which can be used to build Web Parts
or you can create your own custom Web Parts by inheriting from the System.Web.UI.WebControls.WebParts.Webpart
class. You can also reuse existing ASP.NET server controls as Web Parts controls
by encapsulating it in a genericwebpart class.
Portal Framework defines everything in terms of zones. Zones are container of Web
Parts controls. They act as layout managers on Web Parts page. Zones are managed
by Portal Framework manager.
WebParts in Toolbox
WebPartManager
WebPartManager control is server control that completely manages the state of the
zones and content placed in the zones on a per-user basis. This control doesn't
have any visual interface, can add and delete items within zones of the page. You
can have only one WebPartManager for each page that works with Portal Framework.
You can run WebPartManager in one of several display modes. It facilities communication
between different elements contained in the zones. For example: you can pass a specific
name/value pairs from one item to another item within the same zone, or between
items in different zones.
You can drag and drop the WebPartManager control from the toolbox to the design
surface. Since it doesn't have a UI interface, it appears as a gray box. You can
find all Web Parts server controls in WebParts section of toolbox as shown below.
After you place the WebPartManager control on the page, the next step is to create
zones from which you can utilize the Portal Framework. Web zones define specific
rows or columns as individual content areas managed by WebPartManager.