Fichiers de description des contrôles WebPart
Mise à jour : novembre 2007
Les fichiers de description de contrôle WebPart contiennent des valeurs de propriété, des données d'état et des détails du fichier source ou de l'assembly exportés depuis un contrôle WebPart (ou d'un autre serveur ASP.NET ou contrôle utilisateur utilisé dans une application WebPart) vers un fichier XML avec une extension .WebPart. Un fichier de description est utilisé par la fonctionnalité d'import WebPart pour importer le contrôle qu'il décrit dans une page WebPart et pour configurer le contrôle importé avec les données enregistrées. Cette rubrique décrit la structure de base et les éléments XML inclus dans un fichier de description.
<webParts>
<webPart>
<metaData>
<type …/>
<importErrorMessage …/>
</metadata>
<data>
<properties>
<ipersonalizable>
<property …/>
</ipersonalizable>
<property …/>
</properties>
<genericWebPartProperties>
<ipersonalizable>
<property …/>
</ipersonalizable>
<property …/>
</genericWebPartProperties>
</data>
</webPart>
</webParts>
Notes
La table suivante répertorie chaque élément pouvant être inclus dans un fichier de description WebPart (avec ses éléments enfants immédiats mis en retrait), répertorie tous les attributs existant sur cet élément et résume l'objectif de l'utilisation de l'élément. Notez que si un contrôle implémente l'interface IPersonalizable, l'élément enfant <ipersonalizable> approprié apparaît et contient les propriétés implémentées comme éléments <property> ; sinon, l'élément <ipersonalizable> n'apparaît pas dans le fichier.
Élément |
Attributs |
Résumé |
---|---|---|
webParts WebPart |
Aucun. |
Élément parent dans le fichier ; il peut y en avoir un par fichier. Selon la logique du XML, cet élément pourrait contenir plusieurs éléments <webPart> par fichier, mais comme implémenté actuellement, il y a un <webPart> dans un fichier de description. |
webPart metaData data |
xmlns="https://schemas.microsoft.com/WebPart/v3"
Remarque :
Il s'agit d'un attribut d'espace de noms avec une valeur fixe.
|
Représente le contrôle dont les données d'état et de propriété sont contenues dans le fichier. Actuellement, il ne peut y avoir qu'un seul élément <webPart> par fichier. |
metaData type importErrorMessage |
Aucun. |
Contient des informations sur le type de l'élément <webPart> ainsi qu'un message à afficher aux utilisateurs si des erreurs se produisent pendant le processus d'import. Une instance par élément <webPart>. |
type |
L'élément type doit avoir un attribut name ou src spécifié, ou les deux. Si les deux sont spécifiés, name est prioritaire. La valeur de l'attribut name se compose d'une chaîne avec le type et, éventuellement, avec des informations de l'assembly à propos de l'élément <webPart>. L'attribut src fournit un chemin d'accès au fichier source d'un contrôle utilisateur. |
Répertorie des informations de type pour un assembly qui contient un élément <webPart> ou le chemin d'accès d'un fichier source si <webPart> représente un contrôle utilisateur. Une instance par élément <webPart>. |
importErrorMessage |
Aucun. |
Contient le texte d'un message affiché aux utilisateurs si une erreur se produit pendant le processus d'import. Une instance par élément <webPart>. |
data propriétés genericWebPartProperties |
Aucun. |
Contient les données d'état et des valeurs de propriété pour l'élément <webPart>. Une instance par élément <webPart>. |
properties ipersonalizable propriété |
Aucun. |
Contient des éléments <property>, un élément <ipersonalizable> seul (lequel contient des éléments <property> enfants), ou les deux. L'élément <properties> est toujours présent, mais il n'aura d'éléments <property> enfants que si <webPart> a des propriétés personnalisables. Une instance par élément <webPart>. |
genericWebPartProperties ipersonalizable propriété |
Aucun. |
Contient des éléments <property>, un élément <ipersonalizable> seul (lequel contient des éléments <property> enfants), ou les deux. Cet élément est présent uniquement si le contrôle qui correspond à <webPart> n'hérite pas de la classe WebPart. Une instance par élément <webPart>. |
ipersonalizable propriété |
Aucun. |
Élément enfant de l'élément <properties> et de l'élément <genericWebPartProperties>. Cet élément apparaît uniquement si le contrôle qui correspond à l'élément <webPart> implémente l'interface IPersonalizable. Il contient un ou plusieurs éléments <property>. Une instance par élément <webPart>. |
property |
L'élément de propriété possède trois attributs : name, type et null. Les attributs name et type sont requis ; null est utilisé uniquement si la propriété a une valeur null. L'attribut name est le nom d'une propriété particulière sur le contrôle qui correspond à l'élément <webPart>. L'attribut null peut prendre la valeur true ou false ; il est utilisé uniquement lorsqu'une propriété a réellement la valeur null, afin de distinguer cette valeur d'une valeur de chaîne vide (""). L'attribut type identifie le Type de la propriété référencée dans l'attribut name. La valeur réelle de type peut être une chaîne avec un nom de type qualifié complet ou une chaîne qui utilise l'un des noms de types abrégés répertoriés ci-dessous. * string * int * bool * double * single * datetime * color * unit * fontsize * object * direction (représente ContentDirection) * helpmode (représente WebPartHelpMode) * chromestate (représente PartChromeState) * chrometype (représente PartChromeType) * exportmode (représente WebPartExportMode) |
Élément enfant des éléments <properties>, <genericWebPartProperties> et <ipersonalizable>. Cet élément contient des paires nom/valeur pour chaque élément de données de valeur de propriété ou d'état dans l'élément <webPart>. Les données réelles d'une propriété sont contenues entre les balises de l'élément <property>, et le nom et le type de l'élément de propriété sont spécifiés par des attributs. Les trois types d'éléments parents peuvent contenir zéro élément <property> tout comme ils peuvent en contenir une grande quantité. |
Exemple
Les exemples de code suivants illustrent deux fichiers de description .WebPart qui ont été exportés à partir d'instances de contrôles dans une application WebPart. Le premier exemple montre un fichier pour un contrôle qui hérite de la classe WebPart de base. Notez que ses données de propriété sont toutes contenues dans la section <properties>. Le deuxième exemple montre un fichier pour un contrôle serveur ASP.NET qui n'hérite pas de la classe WebPart. Notez que ses données de propriété sont toutes contenues dans la section <genericWebPartProperties>.
<!-- File exported from a System.Web.UI.WebControls.WebParts.WebPart
control. -->
<?xml version="1.0" encoding="utf-8"?>
<webParts>
<webPart xmlns="https://schemas.microsoft.com/WebPart/v3">
<metaData>
<type name="Samples.AspNet.CS.Controls.TextDisplayWebPart,
App_Code.zq0cecf5, Version=0.0.0.0, Culture=neutral,
PublicKeyToken=null" />
<importErrorMessage>
Cannot import this Web Parts control.
</importErrorMessage>
</metaData>
<data>
<properties>
<property name="AllowClose" type="bool">True</property>
<property name="Width" type="unit" />
<property name="AllowMinimize" type="bool">True</property>
<property name="ContentText" type="string" null="true" />
<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" />
<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>
</properties>
</data>
</webPart>
</webParts>
<!-- File exported from a System.Web.UI.WebControls.BulletedList
control placed in a Web Parts zone. -->
<?xml version="1.0" encoding="utf-8"?>
<webParts>
<webPart xmlns="https://schemas.microsoft.com/WebPart/v3">
<metaData>
<type name="System.Web.UI.WebControls.BulletedList,
System.Web, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a" />
<importErrorMessage>
Cannot import this Web Parts control.
</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">
Favorite 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>