Sharepoint事件处理程序未启动
我已经为ItemAdded创建了一个事件处理程序,以便在站点上添加一个项目时,我的代码检查它是否是一个文件夹。如果是,则应将该文件夹的内容类型更改为自定义内容类型 活动没有启动,所以我想知道我是否以正确的方式和/或在正确的地方进行。这是我的密码:Sharepoint事件处理程序未启动,sharepoint,content-type,event-handling,Sharepoint,Content Type,Event Handling,我已经为ItemAdded创建了一个事件处理程序,以便在站点上添加一个项目时,我的代码检查它是否是一个文件夹。如果是,则应将该文件夹的内容类型更改为自定义内容类型 活动没有启动,所以我想知道我是否以正确的方式和/或在正确的地方进行。这是我的密码: public class ItemAddedHandler : SPItemEventReceiver { public override void ItemAdded(SPItemEventProperties properties) { b
public class ItemAddedHandler : SPItemEventReceiver
{
public override void ItemAdded(SPItemEventProperties properties)
{
base.ItemAdded(properties);
SPListItem listItem = properties.ListItem;
SPList list = properties.ListItem.ParentList;
SPContentType contentType;
if (listItem.FileSystemObjectType == SPFileSystemObjectType.Folder &&
(list.Title == "Apps" || list.Title == "Data" || list.Title == "Public"))
{
contentType = list.ContentTypes["Custom Folder"];
listItem["Content Type"] = contentType.Name;
listItem["Content Type ID"] = contentType.Id.ToString();
listItem.SystemUpdate();
}
}
}
如果为了完成这项任务我做错了什么,请告诉我。非常感谢
根据要求,使用以下方法添加该功能:
<?xml version="1.0" encoding="utf-8" ?>
<Feature Scope="Web"
Title="Added Event Handler"
Id="{27C2FDFF-ADA0-4984-955C-6448E182FA88}"
xmlns="http://schemas.microsoft.com/sharepoint/">
<ElementManifests>
<ElementManifest Location="Elements.xml"/>
</ElementManifests>
</Feature>
加法器
添加项目
10000
SPEventHandler,版本=1.0.0.0,文化性=中性,
PublicKeyToken=f2e7de6c4a924a03
SPEventHandler.ItemAddedHandler
谢谢我想明白了。需要为文档库启用“我的自定义内容类型”,然后才能为项目指定该内容类型。谢谢大家的回答。我知道这是一个编程问题,但值得一提的是,您可能会在这里得到更好的回答:是的,我也在那里尝试过。谢谢。我感觉到了你的痛苦。我做了一段时间sharepoint,但没有足够的资源或了解它的人。你会遇到管理员、一些开发人员等。请展示你如何注册接收者的代码/配置。我已经编辑了这个问题,以包括部署过程中的步骤。谢谢
<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Receivers ListTemplateId="101">
<Receiver>
<Name>AddedEventHandler</Name>
<Type>ItemAdded</Type>
<SequenceNumber>10000</SequenceNumber>
<Assembly>SPEventHandler, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=f2e7de6c4a924a03</Assembly>
<Class>SPEventHandler.ItemAddedHandler</Class>
<Data></Data>
<Filter></Filter>
</Receiver>
</Receivers>
</Elements>