标签: eventreceiver

如何仅为具有specyfic模板ID的列表添加事件接收器

我正在为自定义列表模板添加ItemAdding事件接收器.事件接收器和列表模板都由相同的功能部署.同样的功能也会创建列表实例.

我遇到的问题是,为部署它的站点中的每个列表项触发了事件.eventreceivre的Elements.xml是:

<Receivers ListTemplateId="10200">
  <Receiver>
    <Name>ListEventReceiverItemAdding</Name>
    <Type>ItemAdding</Type>
    <Assembly>$SharePoint.Project.AssemblyFullName$</Assembly>
    <Class>SharepoitProject.ListEventReceiver</Class>
    <SequenceNumber>10000</SequenceNumber>
  </Receiver>
</Receivers>
Run Code Online (Sandbox Code Playgroud)

我不确定我做错了什么我从这里开始或多或少做了什么.

环境:Sharepoint 2010与本网站上的发布功能

sharepoint sharepoint-2010 sharepoint-listtemplate eventreceiver

7
推荐指数
1
解决办法
2万
查看次数

内容类型上的事件接收器未在WikiPageLibrary上触发

我为Wiki页面库创建了一个新的内容类型.我通过代码将此内容类型添加到库中(接口不允许这样).接下来,我为此内容类型添加了一个事件接收器(在ItemAdded和ItemAdding上).我的问题是没有任何事件发生.如果我将这些事件直接添加到wiki页面库,一切正常.有限制/错误/技巧吗?

我查看了使用SharePoint Manager附加到库的内容类型,并且在他的架构中缺少事件接收器的部分......我知道应该有类似的东西:

<XmlDocuments>
    <XmlDocument NamespaceURI="http://schemas.microsoft.com/sharepoint/events">
      <spe:Receivers xmlns:spe="http://schemas.microsoft.com/sharepoint/events">
        <Receiver>
          <Name>
          </Name>
          <Type>1</Type>
          <SequenceNumber>10000</SequenceNumber>
          <Assembly>RssFeedWP, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f6722cbeba696def</Assembly>
          <Class>RssFeedWP.ItemEventReceiver</Class>
          <Data>
          </Data>
          <Filter>
          </Filter>
        </Receiver>
        <Receiver>
          <Name>
          </Name>
          <Type>10001</Type>
          <SequenceNumber>10000</SequenceNumber>
          <Assembly>RssFeedWP, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f6722cbeba696def</Assembly>
          <Class>RssFeedWP.ItemEventReceiver</Class>
          <Data>
          </Data>
          <Filter>
          </Filter>
        </Receiver>
      </spe:Receivers>
    </XmlDocument>
Run Code Online (Sandbox Code Playgroud)

如果我使用SPM查看添加到站点的内容类型,我将此部分视为模式.

这是我的代码:

   public override void FeatureActivated(SPFeatureReceiverProperties properties)
    {
        using (SPWeb web = (SPWeb)properties.Feature.Parent)
        {
            // create RssWiki content type
            SPContentType rssFeedContentType = new SPContentType(web.AvailableContentTypes["Wiki Page"], 
                                                web.ContentTypes, "RssFeed Wiki Page");

            // add rssfeed url field to the new content type
            AddFieldToContentType(web, …
Run Code Online (Sandbox Code Playgroud)

sharepoint types eventreceiver

2
推荐指数
1
解决办法
3670
查看次数

工作流或EventListener

我们正在为客户构建一个Extranet sharepoint门户.每个客户都有一个网站.网站总数将在2000-3000之间.

当客户端上传新文档时,我需要将文档从SiteCollectionA/SiteA/DocumentLibrary复制到另一个网站集上的另一个全局列表.

我应该创建工作流来复制文档或事件监听器吗?上传后,客户端将被允许更新文档属性,这些更改也必须推送到全局列表中.

我的选择是事件倾听者,因为它更清洁,更便宜,更容易.我不是工作流程的专家,但我认为在2000多个站点上维护/更新/重新发布工作流将更难,然后是事件监听器.

你们有什么感想?

谢谢

sharepoint workflow sharepointdocumentlibrary eventreceiver documentlistener

1
推荐指数
1
解决办法
193
查看次数