我有一個功能,它提供了一個自定義Default.aspx文件到我的發佈站點。SharePoint 2010:如何在AllUsersWebPart XML中對Web部件ID進行硬編碼?
在的Elements.xml,我有填充Web部件的區域不同AllUsersWebPart節點。在這一點上,我需要爲這些Web部件提供硬編碼ID(guid) - 有誰知道如何做到這一點?
我知道,一個web部件ID的格式爲g_00000000_0000_0000_0000_000000000000,但如果我添加一個ID屬性(見下文),然後激活我的特點,的webpart的GUID是各不相同。
<AllUsersWebPart WebPartZoneID="TopZone" WebPartOrder="1">
<![CDATA[
<webParts>
<webPart xmlns="http://schemas.microsoft.com/WebPart/v3">
<metaData>
<type name="..." />
<importErrorMessage>...</importErrorMessage>
</metaData>
<data>
<properties>
<property name="ID" type="string">g_FB777184_F9AB_4747_AA71_1BF0C96E535A</property>
</properties>
</data>
</webPart>
</webParts>
]]>
</AllUsersWebPart>
FYI:我需要硬編碼的ID,我的每個Web部件,因爲我有一個使用的ID來定位頁面上的每個Web部件(我有6倍相同的部件在頁面上一個單獨的功能接收器相同的標題),然後它爲每個部分分配一個觀衆(使得在任何給定時間只有1人可見)。
感謝您的意見詹姆斯。你絕對是在正確的軌道上,除了只有一兩個陷阱... 因爲我的功能被激活作爲網站定義的一部分,我需要在我的功能接收器中使用SPLimitedWebPartManager - 而這包含任何區域信息。因此,我目前正在遍歷頁面中的每個Web部件,並檢查Web部件標題,儘管我希望能讓我的6個受衆定位的部件都具有相同的內容,例如,與「新聞 - 受衆名稱1」等相關的「新聞」。這就是爲什麼我希望使用ID來區分它們。 – 2011-02-17 11:26:40