Click here to Skip to main content
6,632,966 members and growing! (21,268 online)
Email Password   helpLost your password?
Web Development » ASP.NET » General     Intermediate License: The Code Project Open License (CPOL)

Export and import web parts and personalized using membership in ASP.NET 2.0

By Sachin Pisal

Rich and dynamic web contains using webpart and asp.net membership controls
Windows, .NET, ASP.NET, Visual Studio, Dev
Posted:13 Dec 2006
Views:21,463
Bookmarked:33 times
Unedited contribution
Announcements
Loading...
 
Search    
Advanced Search
Add to IE Search
printPrint   add Share
      Discuss Discuss   Broken Article?Report  
8 votes for this article.
Popularity: 2.90 Rating: 3.21 out of 5

1
2 votes, 25.0%
2
2 votes, 25.0%
3
1 vote, 12.5%
4
3 votes, 37.5%
5

Sample screenshot

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.

Sample screenshot


*.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://schemas.microsoft.com/WebPart/v3">http://schemas.microsoft.com/WebPart/v3">

    <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.

Sample screenshot

Happy Exploring.. 

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

Sachin Pisal


Member
I am Software professional and MCTS, Working for last 6 years in .Net technologies.
I loved to work on Microsoft technologies Specially the Web Technologies.
Occupation: Team Leader
Location: United States United States

Other popular ASP.NET articles:

Article Top
You must Sign In to use this message board.
FAQ FAQ 
 
Noise Tolerance  Layout  Per page   
 Msgs 1 to 3 of 3 (Total in Forum: 3) (Refresh)FirstPrevNext
QuestionWeb part location inside og a webpartzone Pinmemberyaniv_azulay0:05 9 Jul '08  
GeneralTo add webpart to particular webzone without using dropdown of catalog zone Pinmember_manish1:28 7 Mar '08  
GeneralPlease Clearify Ur Sample PinmemberLalit Gandhi21:03 26 Sep '07  

General General    News News    Question Question    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

PermaLink | Privacy | Terms of Use
Last Updated: 13 Dec 2006
Editor:
Copyright 2006 by Sachin Pisal
Everything else Copyright © CodeProject, 1999-2009
Web10 | Advertise on the Code Project