我的環境是SharePoint 2010和VS 2010在SharePoint中自動添加標籤來上傳文件
我已經有一個我使用的是開箱即用的文檔庫,我想知道我怎麼能一個標籤或關鍵字添加到METADATA列。
我在所有子網站中使用相同的文檔庫,因此想用當前網站的名稱(即,如果它在子網站中使用,該子網站的名稱將是標籤)標記上載的文檔。
我是否需要構建自定義文檔庫或附加到現有文檔庫的某種附加Web部件?
如果您可以提供一些代碼示例,如果有的話,將不勝感激。
感謝,
KS
我的環境是SharePoint 2010和VS 2010在SharePoint中自動添加標籤來上傳文件
我已經有一個我使用的是開箱即用的文檔庫,我想知道我怎麼能一個標籤或關鍵字添加到METADATA列。
我在所有子網站中使用相同的文檔庫,因此想用當前網站的名稱(即,如果它在子網站中使用,該子網站的名稱將是標籤)標記上載的文檔。
我是否需要構建自定義文檔庫或附加到現有文檔庫的某種附加Web部件?
如果您可以提供一些代碼示例,如果有的話,將不勝感激。
感謝,
KS
如果你是從頭開始,你可以創建基於內容類型文件(子內容類型文件)的構建自定義的內容類型開始。爲您的內容類型添加一個自定義字段。有關創建內容類型的詳細信息請看這裏:http://msdn.microsoft.com/en-us/library/gg295290.aspx
內容類型也可以有一個ItemAdding自定義事件接收器,ItemUpdated等請看下面的XML:
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<ContentType ID="0x010100xxxxxx"
Name="MyContentType"
Group="My custom group" Version="0" Inherits="True" Overwrite="TRUE" >
<FieldRefs>
<FieldRef ID="{AC8A823D-EB2F-4D4D-8BF0-14CACA509539}" Name="myMetadataField" Required="FALSE" />
</FieldRefs>
<XmlDocuments>
<XmlDocument NamespaceURI="http://schemas.microsoft.com/sharepoint/events">
<spe:Receivers xmlns:spe="http://schemas.microsoft.com/sharepoint/events">
<Receiver>
<SequenceNumber>1010</SequenceNumber>
<Name>HandoverOffshore_ItemAddedReceiver</Name>
<Type>ItemAdded</Type>
<Assembly>MyAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=79315a88caec227a</Assembly>
<Class>MyAssembly.CustomEventReceivers</Class>
</Receiver>
</spe:Receivers>
</XmlDocument>
</XmlDocuments>
</ContentType>
</Elements>
那麼你就必須創建事件接收器類女巫處理自定義事件:
public class HandoverOffshoreEventReceivers : SPItemEventReceiver
{
public override void ItemAdded(SPItemEventProperties properties)
{
// your code for updating metadata field here...
}
}
然後,您將其部署到您的網站集,並將此內容類型添加到所有庫。還將其設置爲所有庫中的默認內容類型。
如果您要創建多個庫,則應該考慮根據此內容類型創建自定義庫定義。
如果您希望爲現有文檔觸發此自定義事件,則必須將其內容類型更改爲您在此創建的新內容類型。
請注意,文檔庫內容類型是網站集內容類型的子內容類型。