Introduction
In ASP.NET 2.0 there are several new web controls are added; one of them is web parts by taking advantage of the new Web Parts framework, you can build applications that can be easily customized by users at runtime. Users can rearrange the elements of a page built with Web Parts by using a drag-and-drop interface. Users can also add and remove elements in a page by working with one or more Web Part catalogs.
This article introduces you to the Web Part framework. It also goes beyond the basics and discusses several advanced features of Web Parts. For example, you learn how to share Web Part settings across applications by importing and exporting Web parts. More to this this is simple application by which you can see the use of membership control and personalization experience for user level.
Background
The basic idea behind this page to get introduced the new control in ASP.NET 2.0 like login control, Master pages and web parts, and main intention is import and export web parts.
Using the code.
Using the code
This code is basically a simple application where user can register and customize its news page.
New pages contain the web pats controls and that web part can be personalize and customize.
In this article we will focus on the Export and import of the web parts.
By this feature you donot have to put every web part on each page if your page is have web part zone then end user can import the perviously saved web parts and he can place it on any page he want by just importing the web part using import web part catalog.
For this reason you will be requiring one CatalogZone on your page.
After adding catlog zone add "Import web part catalog" to inside it.
You can refer the NewsPage.aspx page in the demo site.
For enabling the export option on your web parts you have to add one key in web.config file.
<system.web>
<webParts enableExport="true"></webParts>
</system.web>
After adding this now your all web parts are enable to the exports.
More to this you have to enable ExportMode mode of the all web part on your page to WebPartExportMode.All
Here I am enabling the export mode of all webparts like this.
foreach (WebPartZone wz in WebPartManager1.Zones)
{
foreach (WebPart wp in wz.WebParts)
{
wp.ExportMode = WebPartExportMode.All;
}
}
If you want to export any specific web part then you can enable mode of that webpart only.
After doing this you will find the one menu (verb) is added to the webpart that is export
On clicking to this menu browser will ask user to save the *.WebPart file.
*.WebPart is just an xml file to stores the description of web part it look like :
<?xml version="1.0" encoding="utf-8"?>
<webParts>
<webPart xmlns="http:">
<metaData>
<type src="~/UserControls/Links.ascx" />
<importErrorMessage>Cannot import this Web Part.</importErrorMessage>
</metaData>
<data>
<properties />
<genericWebPartProperties>
<property name="AllowClose" type="bool">True</property>
<property name="Width" type="unit" />
<property name="AllowMinimize" type="bool">True</property>
<property name="AllowConnect" type="bool">True</property>
<property name="ChromeType" type="chrometype">Default</property>
<property name="TitleIconImageUrl" type="string" />
<property name="Description" type="string" />
<property name="Hidden" type="bool">False</property>
<property name="TitleUrl" type="string" />
<property name="AllowEdit" type="bool">True</property>
<property name="Height" type="unit" />
<property name="HelpUrl" type="string" />
<property name="Title" type="string">Links </property>
<property name="CatalogIconImageUrl" type="string" />
<property name="Direction" type="direction">NotSet</property>
<property name="ChromeState" type="chromestate">Normal</property>
<property name="AllowZoneChange" type="bool">True</property>
<property name="AllowHide" type="bool">True</property>
<property name="HelpMode" type="helpmode">Navigate</property>
<property name="ExportMode" type="exportmode">All</property>
</genericWebPartProperties>
</data>
</webPart>
</webParts>
Once you have save that file then you set the mode of webpartmanager as design mode
WebPartManager1.DisplayMode = WebPartManager.DesignDisplayMode;
Once mode is set in the Catalog Zone user will have import web part catalog where he can browser the saved file i.e. (*.WebPart) file and add that web part to the page in any webpart zone by selecting webpart and clicking add.
Happy Exploring..