Je continue ma série d'articles sur les WebParts ASP.NET :
Dans cet article, nous allons voir comment exporter / importer un WebPart d'une application web ASP.NET à l'autre. En effet, vous avez la possibilité de prendre un WebPart d'une page, de l'enregistrer sur votre burreau et d'ensuite l'ajouter à une autre page.
Pour commencer, il faut autoriser cette possibilité dans le Web.config :
[code:xml]
<?xml version="1.0" ?>
<configuration>
<system.web>
<WebParts enableExport="true" />
</system.web>
</configuration>
[/code]
Ceci fait, nous pouvons (re)prendre notre projet élaboré au cours des trois articles précédents. Nous allons simplement ajouter un ImportCatalogPart dans notre "Catalog Zone"
[code:html]
<asp:CatalogZone
ID="CatalogZone1"
runat="server"
CssClass="colonne">
<ZoneTemplate>
<asp:ImportCatalogPart
id="import1"
runat="server"
/>
<asp:DeclarativeCatalogPart
ID="decla1"
runat="server">
<WebPartsTemplate>
<user:UC1 ID="user1" Titre="Controle 1" Description="Mon controle 1" runat="server" ExportMode="NonSensitiveData" />
</WebPartsTemplate>
</asp:DeclarativeCatalogPart>
<asp:PageCatalogPart
ID="pagecat1"
runat="server" />
</ZoneTemplate>
</asp:CatalogZone>
[/code]
Nous allons maintenant définir le mode d'exportation de notre User Control "ContactForm" :
[code:html]
<user:contact ID="contact1" Title="Contact"
Description="Mon contact form" runat="server"
ExportMode="NonSensitiveData" />
[/code]
Ici nous avons choisi "NonSensitiveData" mais nous avons le choix entre 3 modes :
- None : si vous choisissez ce mode, l'utilisateur ne pourra pas exporter le WebPart - Par défaut.
- All : ce mode permet d'exporter le données sensibles ou non.
- NonSensitiveData : ce mode limite l'exportation aux données non sensibles.
Vous pouvez marquer qu'une valeur est sensible à l'aide de l'attribut Personnalizable.
Maintenant si vous lancez l'excécution de votre application Web, vous avez la possibilité d'exporter notre "ContactForm" en passant dans le mode "Edit". En fait vous téléchargez un fichier .WebPart qui n'est rien d'autre qu'un fichier XML :
[code:xml]
<?xml version="1.0" encoding="utf-8"?>
<webParts>
<webPart xmlns="http://schemas.microsoft.com/WebPart/v3">
<metaData>
<type src="~/ContactForm.ascx" />
<importErrorMessage>Impossible d'importer ce WebPart.</importErrorMessage>
</metaData>
<data>
<properties>
<property name="Prenom" type="string" />
<property name="Nom" type="string" />
<property name="TitreMsg" type="string" />
<property name="Email" type="string">Votre Email</property>
<property name="TitreForm" type="string">Contact Form</property>
<property name="Msg" type="string" />
</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">Mon contact form</property>
<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">Contact</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">NonSensitiveData</property>
</genericWebPartProperties>
</data>
</webPart>
</webParts>
[/code]
Comme on le voit ici, le fichier contient toutes les propriétés de notre WebPart. Ce qui va permettre de l'importer. Vous pouvez déjà effectuer cette opération en passant en mode "Catalog" dans votre web application ASP.NET. Veillez d'abord à supprimer dans le code, le contrôle ContactForm afin qu'on soit sûr que l'application ne le connaisse pas.
Cliquez sur "Catalogue de WebPart importé", téléchargez le fichier .WebPart. Une fois ceci fait, vous avez le possibilité de l'ajouter dans une des zones de notre application web.
Simple non?
Lire la suite...
Tags:
webpart,
asp.net
Catégorie :
ASP.NET
Une question sur cet article? n'hésitez pas a me contacter par Live Messegner. Suis-je connecté? 
Soyez le premier à noter ce billet
- Currently 0/5 Stars.
- 1
- 2
- 3
- 4
- 5
Permalink |
Commentaires (0) |
Post RSS |