Sharepoint 在SPWeb上捕获标题更改事件

Sharepoint 在SPWeb上捕获标题更改事件,sharepoint,events,moss,spweb,Sharepoint,Events,Moss,Spweb,我正在使用SPWebEventReceiver收听一个特定的SPWeb,该接收器在WebMoved事件上成功地触发。移动web时,我会用新的位置/标题更新列表 我希望能够做到的是,当网络被重命名时,我会倾听。我是否通过附加一个项目侦听器并等待一个ItemUpdate事件来实现这一点?如果是这样的话,我会很感激你的一小段代码!谢谢 史蒂夫, 据我所见,SPWebEventReceiver仅在SPWeb()上公开以下事件 站点删除 站点删除 网络删除 婚礼 网络移动 网络移动 ItemAdded

我正在使用SPWebEventReceiver收听一个特定的SPWeb,该接收器在WebMoved事件上成功地触发。移动web时,我会用新的位置/标题更新列表

我希望能够做到的是,当网络被重命名时,我会倾听。我是否通过附加一个项目侦听器并等待一个ItemUpdate事件来实现这一点?如果是这样的话,我会很感激你的一小段代码!谢谢

史蒂夫, 据我所见,SPWebEventReceiver仅在SPWeb()上公开以下事件

  • 站点删除
  • 站点删除
  • 网络删除
  • 婚礼
  • 网络移动
  • 网络移动
ItemAdded在SPItemEventReceiver中定义,适用于SPListItem对象

SPWeb的标题属性存储在属性包()中


在属性包上调用.Update()时(例如,当标题更新时),您似乎无法点击任何事件

看起来这是SharePoint OM的一个bug。它仅在Web的URL更改时激发

  • 我想说的是,重新命名Web名称会触发WebMoved
  • 站点标题重命名不会触发任何操作

  • 问题:您希望点击哪些更改?因为任何元数据都可以存储在内部的列表中,支持很多事件。

    我不认为这是一个bug,我认为这只是对文档的一种误解。如您所述,文档表明WebMoving和WebMoved事件是由修改或重命名站点的url触发的:

    from:“在现有网站被重命名或移动到其他父对象之前发生的同步事件。”

    然而,用户界面中发生变化的不是站点的“名称”,而是站点的标题。SPWeb对象确实有一个可以通过对象模型访问的“Name”属性,更新该Name属性并调用SPWeb.Update()实际上会触发WebMoved事件。问题在于,此属性没有通过网站的基于web的设置页面公开,只公开“Title”字段,并且此字段更改不会触发事件。虽然这看起来有点违反直觉,甚至有误导性,但如果您逐字阅读文档,它的行为与文档中的完全一样