2011-09-13 41 views
5

我嘗試添加的內容類型查找場場有這樣的定義:的SharePoint查找字段和WebId =」

<Field ID="{c80e8e3c-7124-4772-a39d-5b69f131d542}" 
     Name="Site" 
     Group="Tieto Intranet Columns" 
     Type="Lookup" 
     DisplayName="Site" 
     StaticName="Site" 
     List="Lists/FavoriteSites" 
     ShowField="Title" 
     PrependId="TRUE" 
     WebId="~sitecollection" 
    > 

FavoriteSites名單,我想通過這個查詢字段引用,存在於網站集範圍。部署進行的很好,但是當我使用這種查找來創建基於內容類型的列表時,它看起來像查找字段沒有連接到FavoriteSites列表。我在FavoriteSites中添加了一些數據,並且我嘗試使用查找字段將某些內容添加到第二個列表中在FavoriteSites上。不幸的是,下拉選擇,這應該顯示我從FavoriteSites列表中的數據是空的。

當我手工創建新的查找列到FavoriteSites,一切正常。

有沒有人有一些想法可以在這個查找定義的問題?

UPDATE:

豐富的推薦我,我設置日誌上詳細級別一個發現這條消息:

的WebId =〜sitecollection和字段中指定目錄=列出/ FavoriteSites屬性{c80e8e3c-7124-找不到功能{d86c7005-d31d-43ae-b86b-38f28b81072e}中的「4772-a39d-5b69f131d542}」。設置列表= {39CEC23E-FB28-47B3-BC36-C21780AD1D94}。

我不明白它,因爲列表FavoriteSites存在。 FavoriteSites列表和第二個帶有「站點」字段的列表都由網站集範圍中的一個功能部署。

我不能在GUID查找中指定列表,因爲我不知道部署時間中的guid。

+1

在爲以下消息激活功能時搜索SP日誌(需要詳細級別日誌):「指定了WebId =〜sitecollection和List = Lists/FavoriteSites屬性」,然後用下半部分消息。 –

+0

感謝您的評論Rich,我發現了此消息並更新了我的帖子。你現在有一些想法問題在哪裏? – Michal

回答

4

什麼是日誌消息意味着列表/ FavoriteSites不存在在網站集根網站或功能被激活的網站中(如果後者是子網站)。

如果列表/正在由功能創建FavoriteSites,然後確保它在你的域功能激活。如果必須,將ListInstance元素放在Field元素的正上方。但消息很明確:在將自定義字段配置到網站集時,該列表不存在。這就是爲什麼它不起作用。

需要明確的是,這份名單是在該功能被激活時存在,不只是當你創建將使用該字段列表實例。

P.S.我通過檢查"documentation"找到了Microsoft.SharePoint.SPFieldElement.PerformFixUpIfLookUpField方法。

+0

謝謝Rich,它是由功能激活順序引起的。當我把功能激活的功能與列表功能前的領域一切工作正常。 – Michal

1

嘗試將列表字段更改爲列表的ID,例如List="{4641f5f2-b358-4805-9d7d-e910d2243fb5}"

我也建議使用SharePointManager看你手動創建字段的字段定義,並很容易地找到列表等的盛開的GUID

+0

感謝您的回覆Nat,SharePointManager確實非常有用的應用程序,我以前不知道它。 我無法通過ID指定此列表,因爲我不知道部署時間中的ID。我可以通過Feature event reciever添加此列,但這不是我想要使用的方式。我認爲在Sharepoint 2010中,使用xml定義和列表URL的方式應該是OK。 – Michal

相關問題