Articles / Nouvelle technologies


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.

webpart7

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: ,
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

Par Loïc Bar le 07/10/2007 12:09:00

Permalink | Commentaires (0) | Post RSS |


Ajouter un commentaire



(Affichera votre icône Gravatar)  

  Country flag










Propulsé par BlogEngine.NET, modifé par Loïc Bar.