Web 組件控制項描述檔
更新:2007 年 11 月
Web 組件控制項描述檔包含屬性值、狀態資料和組件 (Assembly) 或原始程式檔 (Source File) 詳細資訊,這些都是從 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 組件描述檔中可以包含的每個項目 (項目的直接子項目縮排在下面),以及任何該項目上存在的屬性 (Attribute),並摘要了項目的用途。請注意,如果控制項實作 IPersonalizable 介面,則會出現適當的 <ipersonalizable> 子項目,並包含作為 <property> 項目的實作屬性,否則,<ipersonalizable> 項目將不會出現在檔案中。
項目 |
屬性 |
摘要 |
---|---|---|
webParts webPart |
無 |
檔案中的父項目,可以每一檔案出現一次。XML 的邏輯是這個項目可以包含每一檔案的多個 <webPart> 項目,但是目前的實作結果是描述檔中只有一個 <webPart>。 |
webPart metaData data |
xmlns="https://schemas.microsoft.com/WebPart/v3" ![]()
這是具有固定值的命名空間 (Namespace) 屬性。
|
表示狀態和屬性資料包含在檔案中的控制項。目前,每一檔案僅可以有一個 <webPart>。 |
metaData type importErrorMessage |
無 |
包含有關 <webPart> 項目之型別的資訊,以及匯入過程中發生錯誤時顯示給使用者的訊息。每一個 <webPart> 項目一個執行個體。 |
type |
type 項目必須指定 name 或 src 屬性,並且可以指定兩者。如果指定兩者,則 name 會取得優先權。 name 屬性的值由具有型別的字串和 (選擇性) <webPart> 項目的組件資訊組成。 src 屬性會提供使用者控制項之原始程式檔的路徑。 |
列出包含 <webPart> 項目之組件的型別資訊,如果 <webPart> 表示使用者控制項,則列出原始程式檔的路徑。每一個 <webPart> 項目一個執行個體。 |
importErrorMessage |
無 |
包含匯入過程中發生錯誤時顯示給使用者的訊息文字。每一個 <webPart> 項目一個執行個體。 |
data properties genericWebPartProperties |
無 |
包含 <webPart> 項目的狀態和屬性值資料。每一個 <webPart> 項目一個執行個體。 |
properties ipersonalizable property |
無 |
包含 <property> 項目、單一的 <ipersonalizable> 項目 (其包含子 <property> 項目),或兩者。<properties> 項目一定存在,但是如果 <webPart> 具有可個人化屬性,則其只會具有子 <property> 項目。每一個 <webPart> 項目一個執行個體。 |
genericWebPartProperties ipersonalizable property |
無 |
包含 <property> 項目、單一的 <ipersonalizable> 項目 (其包含子 <property> 項目),或兩者。這個項目僅在對應至 <webPart> 的控制項不是繼承自 WebPart 類別 (Class) 時才存在。每一個 <webPart> 項目一個執行個體。 |
ipersonalizable property |
無 |
<properties> 項目和 <genericWebPartProperties> 項目兩者的子項目。這個項目僅在對應至 <webPart> 項目的控制項實作 IPersonalizable 介面時出現。它包含一或多個 <property> 項目。每一個 <webPart> 項目一個執行個體。 |
property |
屬性 (Property) 項目具有三個屬性 (Attribute):name、type 和 null。name 和 type 屬性 (Attribute) 是必要的,如果屬性 (Property) 具有 null 值,則使用 null。 name 屬性 (Attribute) 是對應至 <webPart> 項目之控制項上的特定屬性 (Property) 名稱。 null 屬性 (Attribute) 的值可以是 true 或 false,僅當屬性 (Property) 實際具有 null 值時,才使用該屬性 (Attribute) 辨別該值和空字串 ("") 值。 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> 項目之三種型別的父項目內,該項目可以是零到多個。 |
範例
在下列程式碼中,示範了從 Web 組件應用程式中之控制項的執行個體 (Instance) 匯出的兩個 .WebPart 描述檔。第一個範例顯示繼承自基底 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>