更新: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 | 无。 | 文件中的父元素;它可以在每个文件中出现一次。此 XML 的逻辑是:对于每个文件,此元素可以包含多个 <webPart> 元素。但在当前的实现中,说明文件内只有一个 <webPart>。 | 
| webPart metaData data | xmlns="https://schemas.microsoft.com/WebPart/v3" .gif) 说明: 
这是具有固定值的命名空间属性。
 | 表示其状态和属性数据包含在文件中的控件。当前,每个文件只能有一个 <webPart> 元素。 | 
| metaData type importErrorMessage | 无。 | 包含有关 <webPart> 元素的类型的信息,还包含一条当导入过程中出现错误时显示给用户的消息。每个 <webPart> 元素一个实例。 | 
| type | type 元素必须指定 name 或 src 属性,并且可以同时指定两者。在指定两者的情况下,name 优先。 name 属性的值由一个包含有关 <webPart> 元素的类型信息和(可选)程序集信息的字符串组成。 src 属性提供用户控件的源文件的路径。 | 列出包含 <webPart> 元素的程序集的类型信息;如果 <webPart> 表示用户控件,则列出源文件的路径。每个 <webPart> 元素一个实例。 | 
| importErrorMessage | 无。 | 包含当导入过程中出现错误时显示给用户的消息的文本。每个 <webPart> 元素一个实例。 | 
| data 属性 genericWebPartProperties | 无。 | 包含 <webPart> 元素的状态和属性值数据。每个 <webPart> 元素一个实例。 | 
| properties ipersonalizable property | 无。 | 包含 <property> 元素或一个 <ipersonalizable> 元素(该元素包含 <property> 子元素),或者包含两者。<properties> 元素始终存在,但仅当 <webPart> 具有可个性化的属性时才具有 <property> 子元素。每个 <webPart> 元素一个实例。 | 
| genericWebPartProperties ipersonalizable property | 无。 | 包含 <property> 元素或一个 <ipersonalizable> 元素(该元素包含 <property> 子元素),或者包含两者。仅当对应于 <webPart> 的控件并不从 WebPart 类继承时,该元素才存在。每个 <webPart> 元素一个实例。 | 
| ipersonalizable property | 无。 | <properties> 元素和 <genericWebPartProperties> 元素的子元素。仅当对应于 <webPart> 元素的控件实现 IPersonalizable 接口时,该元素才出现。它包含一个或多个 <property> 元素。每个 <webPart> 元素一个实例。 | 
| property | Property 元素具有三个属性:name、type 和 null。name 和 type 属性是必需的;仅当属性具有 null 值时才使用 null。 name 属性 (Attribute) 是对应于 <webPart> 元素的控件上特定属性 (Property) 的名称。 null 属性 (Attribute) 可以采用值 true 或 false;仅当属性 (Property) 实际具有 null 值时,才使用它来区分来自空字符串 ("") 值的值。 type 属性 (Attribute) 标识在 name 属性 (Attribute) 中引用的属性 (Property) 的 Type。type 的实际值可以是包含完全限定的类型名称的字符串,也可以是使用下面列出的其中一个缩写的类型名称的字符串。 * 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) 的实际数据包含在 <property> 元素标记之间,并且属性 (Property) 项的名称和类型是由属性 (Attribute) 指定的。包含元素的三种类型的父元素中可以有零个到多个 <property> 元素。 | 
示例
下面的代码示例演示两个 .WebPart 说明文件,这两个说明文件是从 Web 部件应用程序中的控件实例导出的。第一个示例演示的文件对应于一个从基 WebPart 类继承的控件。请注意,该控件的属性数据全部包含在 <properties> 节中。第二个示例演示的文件对应于一个并不从 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>