Part of the functionality of the Web Parts control set is the ability to import custom Web Parts controls through the use of the ImportCatalogPart control. However, before a control can be imported by an end user it must be made available for export by the page developer.
After you have completed the export operation, you will need a way for users to import the control. For more information, see How to: Enable Users to Import Web Parts Control Settings.
To enable a custom Web Parts control for export
Create an ASP.NET page that contains a custom Web Parts control.
This control can be derived from the WebPart class or be any inherited control or user control placed inside a WebPartZone zone. For more information about how to create a Web Parts page, see Walkthrough: Creating a Web Parts Page. For an example of a custom Web Parts control, see WebPart.
Note
Only properties with the Personalizable attribute are included in the .WebPart file used for export.
In your Web.config file, inside the <system.web> section, add a <webParts> element with enableExport set to true, as shown in the following example.
<webParts enableExport="true"></webParts>
Set the ExportMode property of the control to all. If your control is derived from WebPart, you can do this in markup as shown in the following example.
<aspSample:CustomWebPart id="Sample" runat="server" ExportMode="All" />
If you are not using an inheritedWebPart control but are using another control inside a WebPartZone zone, you must set the ExportMode property of the containing GenericWebPart control in code, as in the example shown in the Example section.
Load the Web page in a browser and, on the verbs menu of the WebPart control, click the export verb and follow the instructions to export a description file that contains the control's state and property data.
Example
To export a control that does not inherit from the WebPart class, you must first place the control inside a WebPartZone zone on the page. This automatically wraps the control in a GenericWebPart control, which you can access through code to set the ExportMode property during the Page_Load event. In the following example, Control1 is the name of the control to export.
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim gwp As GenericWebPart
gwp = Control1.Parent
gwp.ExportMode = WebPartExportMode.All
End Sub
protected void Page_Load(object sender, EventArgs e)
{
GenericWebPart gwp = (GenericWebPart) Control1.Parent;
gwp.ExportMode = WebPartExportMode.All;
}
See Also
Tasks
How to: Treat a User Control as a Web Parts Control
How to: Enable Users to Import Web Parts Control Settings
How to: Enable Users to Import Web Parts Control Settings
Reference
System.Web.UI.WebControls.WebParts