问题标签 [event-receiver]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
721 浏览

event-receiver - 添加的查找列值的事件接收器应在同一 Sharepoint 列表的另一列中更新

我有一个名为“XXX”的列表。在该列表中,我有两列名为 Status,即选择列和 StatusLookup,即查找列。两列应具有相同的选择值,即打开、待批准、已取消。如果在共享点列表中添加新项目,如果我在状态列中选择“打开”,它应该在状态查找列中自动更新,无需任何手动输入。

我需要知道是否有任何方法可以通过使用事件接收器在 Sharepoint 列表的状态列中选择值来更新 StatusLookup 列?

你能尽快回复我吗?

谢谢,苏古……

0 投票
1 回答
17177 浏览

sharepoint - 如何通过事件接收器更新当前项目中的字段值?

编辑:我意识到我在第二个代码块中的方法是不必要的。我可以通过在 ItemUpdated 中执行以下操作来完成同样的事情:

不幸的是,当“thisItem.Update();”时我仍然收到相同的错误消息 已执行:沙盒代码执行请求被拒绝,因为沙盒代码主机服务太忙,无法处理请求

实际上,在最初部署我的沙盒解决方案并使用此链接时,我收到了上述错误(http://blogs.msdn.com/b/sharepointdev/archive/2011/02/08/error-the-sandboxed-code-execution- request-was-refused-because-the-sandboxed-code-host-service-was-too-busy-to-handle-the-request.aspx) 来修复它。


我正在尝试编写一个 C# 事件接收器,当在库中添加/更改文档时,它会更改字段的值。我尝试使用以下代码:

不幸的是,这仅适用于某些领域。例如,如果我将“Facility Number”替换为“Source”,代码将正确执行。这可能是因为我们正在使用第三方软件(称为 KnowledgeLake)将 SharePoint 中的默认编辑表单替换为 Silverlight 表单。无论如何,因为我在上面的代码中遇到了挑战(同样,因为我认为在 ItemUpdating 事件触发后 Silverlight 表单可能会覆盖该字段),所以我尝试了以下代码:

首先,上面对我来说似乎有点笨拙,因为我很想只使用 AfterProperties 方法。此外,执行“newItem.Update()”时出现以下错误:沙盒代码执行请求被拒绝,因为沙盒代码主机服务太忙而无法处理请求

我在这里错过了什么吗?我很想利用第一个代码块。任何帮助,将不胜感激。

0 投票
1 回答
186 浏览

sharepoint - WSS 3.0 ItemAdded

我正在使用 WSS 3.0 并尝试使用 ItemAdded-Event 设置一些权限。问题是,如果我添加一个项目,该事件不会触发。我搜索了整个网络,一无所获。它仅在 ItemAdding / ItemAdded 上,但我已经实现了一个完美运行的 ItemUpdating 和 ItemDeleting 事件!是否存在已知问题?

这是我的事件(它甚至没有得到我的调试消息.. :():

这是feature.xml

0 投票
3 回答
8326 浏览

c# - 对象引用未设置为对象的实例...错误?

好的,所以我对 C# 完全陌生,并且正在尝试调试错误。基本上我正在尝试为 SharePoint 列表创建一个 EventReceiver ...这是在调试时给我对象引用错误的代码:

我正在做的是进入调试模式,并选择将文件添加到 SharePoint 库(这是在 ItemAdding 事件中),现在在我选择要上传的文件后显示此错误,知道为什么吗?

谢谢你的帮助!

0 投票
2 回答
9925 浏览

c# - 如何测试 EventReceiver?

试图让 SharePoint 列表事件接收器工作时,我几乎快疯了。我在 VS 中创建了一个 EventReceiver 项目并且可以对其进行调试,但是断点不起作用。基本上,很多人都遇到过同样的问题,但他们的解决方案似乎都没有奏效。我之前发布过这个,我认为我的事件接收器代码应该可以工作,但我似乎无法让它在列表本身上工作。(我的代码粘贴在下面)

基本上我所需要的只是让事件接收器重命名上传的文档。考虑这种情况,如果上传的文档称为客户端 A 文档并且是第一个文档,则应将其称为客户端 A 文档 1。如果上传的下一个文档称为客户端 A 文档,则应将其重命名为客户端 A 文档 2,依此类推. 现在,如果上传了另一个名为 Client B Document 的文档,它应该只是 Client B Document 1,因为没有其他同名的文档。现在我认为我下面的代码完成了这种行为(代码是在 Robert Christs 的帮助下编写的!)但我不知道如何测试它。

我是上传文档还是创建新文档?我都试过了,没有任何效果,有人知道如何做到这一点吗?我开始对这个要求失去理智。

编辑: - - - - - - - - - - - - - - - - - - - - - - - - -- 好的,所以我从相同的项目类型(事件接收器)开始做了一个小测试,并创建了一个非常简单的 ItemAdded 方法来将列表项的名称更改为当前日期。现在这适用于自定义列表,但我似乎无法使用文档库。

所以从这个小测试中我知道我可以使用 F5 将事件接收器注册到自定义列表(沙盒解决方案)并对其进行调试,但是文档库有什么不同呢?我粘贴的代码是否不适合我在文档库上尝试做的事情?

这是我用于小型测试的代码,但它不适用于文档库,即使我为文档库而不是自定义列表创建了新的项目类型(这在 ItemAdded 中)

0 投票
0 回答
201 浏览

sharepoint - 如何防止 Office 应用程序更新 SPListItem 字段?

我在 SharePoint 中有一个带有自定义内容类型的文档库。每次上传新文档时,添加项目的事件接收器都会设置一个自定义字段。

当有人使用 Word 打开文档并使用 Word 菜单中的“另存为”选项保存新文档时,就会出现我的问题。我的事件接收器为我的字段设置了正确的值,然后 Word 再次将该字段设置回旧值。

如何防止 Word 更改我的字段?该字段是隐藏的、只读的和密封的。

我想我可以捕捉到 Word 触发的项目更新事件。如果有办法知道是 Word 试图更改我的项目,我可以取消该事件。有办法吗?

0 投票
1 回答
6568 浏览

list - EventReceiver 未在 SharePoint 列表上触发

我正在尝试为博客站点(用于帖子列表)创建一个 EventReceiver,但在使其正常工作时遇到了一些麻烦。我想将 Created By 列更改为 Anonymous。基本上,我在控制台应用程序中完成了整个工作,但是,它只会在执行控制台应用程序时更改 Created By 列名。

每当将新项目添加到列表中时,我都需要它来更改创建者。我的代码在下面....如何修改它以在 EventReceiver 项目中使用???因为我已经告诉 EventReceiver 项目我希望 EventReceiver 附加到的 URL,所以我不确定我可以从这段代码中删除什么,现在它什么都不做,没有错误,也没有更改 Created By 列时我调试。

编辑:代码在 ItemAdded 方法中

编辑#2:这是尝试相同的代码,除了没有循环并使用properties.ListItem,这是我在Event Recevier项目中的尝试,但没有运气。它只是不会更改 Created By 字段或任何与此相关的字段(我也尝试了 Title)

*根据我的理解,SPFieldUserValue 将获取用户或 SharePoint 用户组(权限),因此在我的代码中,22 获取我想要的 SharePoint 用户组,“匿名”是该组中的用户......


编辑#3:更多进展,此代码适用于列表,但不适用于帖子或评论列表,因为它不会更改“创建者”字段。难道是因为所有项目的批准/拒绝???无论是批准还是等待它仍然不会显示匿名,但就像我提到的那样,它在不同的列表中工作正常。


**编辑#4:好吧,我发现了我的问题,在创建项目时,我选择了自定义列表作为要附加的列表,但我需要选择帖子或评论,现在上面的代码可以工作了!!!

但是现在我有另一个问题,博客上的所有帖子都首先提交以供批准......因此,事件接收器似乎不适用于管理员以外的用户。它适用于管理员帐户,我可以直接发布帖子或评论,但对于具有贡献权限的用户,其帖子已提交以供批准仍会在“管理帖子”页面上显示他们的姓名......我该怎么办?有任何想法吗?**

有效的代码:

0 投票
3 回答
2116 浏览

sharepoint - 如何将值传递给 SharePoint 列表事件接收器?

我有一个带有文档库 Web 部件的 SharePoint 网站页面,一旦将文档上传到此库,一些库字段需要根据页面 url 的参数进行更新。

我尝试通过Event Receiver绑定库来执行此操作,却发现我无法在事件接收器中获取页面 url,或者更确切地说是参数。然后Session我想到了,但是在四处询问和搜索之后,我只能进入HttpContextitemAdding没有itemAdded,更糟糕的是,HttpContext.Current.Session总是给我nulll,我确信我已经在其他地方早些时候为会议投入了一些价值。

有人可以对此有所了解,非常感谢任何帮助或建议。

0 投票
2 回答
13640 浏览

c# - 使用 Sharepoint 事件接​​收器在文档库中创建文件夹

我正在使用以下代码在我的文档库中创建一个文件夹。该事件被触发并执行到我的代码的最后一行,没有任何问题。但是,该文件夹未在我的文档库中创建或列出。

0 投票
1 回答
5482 浏览

sharepoint - 如果指定的文件名已被使用,如何重命名 SharePoint 文档并创建新版本?

我需要通过在文件名中添加一些附加信息来重命名上传的文档,目前我ItemAdded使用代码在文档库上连接事件接收器来执行此操作

这将正常工作,直到再次上传相同的文件,重命名后"the specified name is already in use"会发生错误,尽管我启用了文档版本控制。

我需要以编程方式创建新版本吗?如果是这样,我该怎么做,有人可以对此有所了解吗?任何帮助都深表感谢。