Web パーツ コントロール記述ファイル
更新 : 2007 年 11 月
Web パーツ コントロール記述ファイルには、プロパティ値、状態データ、および WebPart コントロール (または、Web パーツ アプリケーションで使用されるその他の ASP.NET サーバー コントロールまたはユーザー コントロール) から .WebPart 拡張子付きの XML ファイルにエクスポートされるアセンブリの詳細またはソース ファイルの詳細が格納されます。記述ファイルは Web パーツ インポート機能で使用して、それに記述されたコントロールを Web パーツ ページにインポートしたり、インポートしたコントロールを保存されたデータで設定したりします。このトピックでは、記述ファイルの基本的な構造とそれに含まれている XML 要素について説明します。
<webParts>
<webPart>
<metaData>
<type …/>
<importErrorMessage …/>
</metadata>
<data>
<properties>
<ipersonalizable>
<property …/>
</ipersonalizable>
<property …/>
</properties>
<genericWebPartProperties>
<ipersonalizable>
<property …/>
</ipersonalizable>
<property …/>
</genericWebPartProperties>
</data>
</webPart>
</webParts>
解説
Web パーツ記述ファイルに含めることができる各要素 (およびその要素の下にインデントされる直系の子要素)、その要素に存在するすべての属性、および要素の用途の概要を次の表に示します。コントロールが IPersonalizable インターフェイスを実装している場合、適切な <ipersonalizable> 子要素が記述され、実装されたプロパティが <property> 要素として組み込まれます。それ以外の場合、<ipersonalizable> 要素はファイルに記述されません。
要素 |
属性 |
概要 |
---|---|---|
webParts webPart |
なし。 |
ファイル内の親要素です。ファイルごとに 1 回出現します。XML のロジックでは、ファイルごとにこの要素に複数の <webPart> 要素を含めることができますが、現在の実装では記述ファイルに 1 つの <webPart> が存在します。 |
webPart metaData data |
xmlns="https://schemas.microsoft.com/WebPart/v3"
メモ :
これは、固定の値を持つ名前空間属性です。
|
状態データとプロパティ データがファイルに格納されているコントロールを表します。現在、ファイルごとに 1 つの <webPart> 要素のみを設定できます。 |
metaData type importErrorMessage |
なし。 |
<webPart> 要素の種類、およびインポート プロセスの実行中にエラーが発生した場合に、ユーザーに表示するメッセージに関する情報が格納されます。<webPart> 要素ごとに 1 つのインスタンスがあります。 |
type |
type 要素には、name 属性または src 属性のいずれかを指定する必要があります。また、その両方を指定することもできます。両方を指定する場合、name が優先されます。 name 属性の値は、型の文字列および <webPart> 要素に関するアセンブリ情報の文字列 (省略可能) で構成されます。 src 属性は、ユーザー コントロールのソース ファイルへのパスを提供します。 |
<webPart> 要素が含まれているアセンブリの型情報、または <webPart> がユーザー コントロールを表す場合はソース ファイルのパスを示します。<webPart> 要素ごとに 1 つのインスタンスがあります。 |
importErrorMessage |
なし。 |
インポート プロセスの実行中にエラーが発生した場合に、ユーザーに表示するメッセージのテキストが格納されます。<webPart> 要素ごとに 1 つのインスタンスがあります。 |
data properties genericWebPartProperties |
なし。 |
<webPart> 要素の状態データおよびプロパティ値データが格納されます。<webPart> 要素ごとに 1 つのインスタンスがあります。 |
properties ipersonalizable property |
なし。 |
<property> 要素、<property> 子要素が含まれた単一の <ipersonalizable> 要素、またはその両方が格納されます。<properties>要素は常に存在しますが、これは <webPart> がパーソナル化できるプロパティを持っている場合にのみ <property> 子要素を持ちます。<webPart> 要素ごとに 1 つのインスタンスがあります。 |
genericWebPartProperties ipersonalizable property |
なし。 |
<property> 要素、<property> 子要素が含まれた単一の <ipersonalizable> 要素、またはその両方が格納されます。この要素は、<webPart> に対応するコントロールが WebPart クラスを継承しない場合にのみ存在します。<webPart> 要素ごとに 1 つのインスタンスがあります。 |
ipersonalizable property |
なし。 |
<properties> 要素および <genericWebPartProperties> 要素両方の子です。この要素は、<webPart> 要素に対応するコントロールが IPersonalizable インターフェイスを実装している場合にのみ出現します。これには、1 つ以上の <property> 要素が含まれます。<webPart> 要素ごとに 1 つのインスタンスがあります。 |
property |
property 要素は、name、type、および null の 3 つの属性を持っています。name および type は必須の属性です。null 属性は、プロパティが null 値を持っている場合にのみ使用します。 name 属性は、<webPart> 要素に対応するコントロールの特定のプロパティの名前です。 null 属性には、true または false の値を設定できます。これは、プロパティが実際に null 値を持っている場合に、空の文字列 ("") 値と値を区別するためにのみ使用されます。 type 属性は、name 属性で参照されるプロパティの Type を識別します。type の実際の値には、完全修飾型名の文字列を設定するか、または次に示す省略形の型名の 1 つを使用した文字列を設定できます。 * string * int * bool * double * single * datetime * color * unit * fontsize * object * direction (ContentDirection を表します) * helpmode (WebPartHelpMode を表します) * chromestate (PartChromeState を表します) * chrometype (PartChromeType を表します) * exportmode (WebPartExportMode を表します) |
<properties> 要素、<genericWebPartProperties> 要素、および <ipersonalizable> 要素の子です。この要素には、<webPart> 要素内の各プロパティ値データ項目または状態データ項目の名前と値のペアが含まれます。プロパティの実際のデータは <property> 要素の間に記述し、プロパティ項目の名前と型は属性で指定します。これらが含まれた 3 種類の親要素の内部には <property> 要素を設定しないか、または 1 つ以上の要素を設定できます。 |
使用例
Web パーツ アプリケーション内のコントロールのインスタンスからエクスポートされた 2 つの .WebPart 記述ファイルのコード例を次に示します。最初の例は、WebPart 基本クラスを継承するコントロールのファイルを示します。そのプロパティ データはすべて <properties> セクション内に記述します。2 番目の例は、WebPart クラスを継承しない ASP.NET サーバー コントロールのファイルを示します。そのプロパティ データはすべて <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>