File upload 自动向sharepoint中上载的文档添加标记

File upload 自动向sharepoint中上载的文档添加标记,file-upload,sharepoint-2010,tags,web-parts,document-library,File Upload,Sharepoint 2010,Tags,Web Parts,Document Library,我的环境是sharepoint 2010和vs 2010 我已经有了一个我正在使用的OOTB文档库,我想知道如何向元数据列添加标记或关键字 我在所有子网站中使用相同的文档库,因此希望用当前网站的名称标记上载的文档,即如果它在子网站中使用,则该子网站的名称将是标记 我是否需要构建一个自定义文档库或某种附加到现有文档库的附加Web部件 如果您能提供一些代码样本,如果有的话,将不胜感激 谢谢 KS如果您是从头开始,则可以基于内置内容类型文档创建自定义内容类型,并将其作为文档的子内容类型。向内容类型添加

我的环境是sharepoint 2010和vs 2010

我已经有了一个我正在使用的OOTB文档库,我想知道如何向元数据列添加标记或关键字

我在所有子网站中使用相同的文档库,因此希望用当前网站的名称标记上载的文档,即如果它在子网站中使用,则该子网站的名称将是标记

我是否需要构建一个自定义文档库或某种附加到现有文档库的附加Web部件

如果您能提供一些代码样本,如果有的话,将不胜感激

谢谢


KS

如果您是从头开始,则可以基于内置内容类型文档创建自定义内容类型,并将其作为文档的子内容类型。向内容类型添加自定义字段。有关创建内容类型的详细信息,请参见此处:

内容类型还可以具有用于ItemAdd、ItemUpdate等的自定义事件接收器。请查看以下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...
        }
}