当使用项目更新事件将文档添加到库时,我正在尝试更新文档的自定义元数据,但它不起作用。自定义 aspx 应用程序使用 href 元素指向文档的 URL。单击它会打开类似于 OOB sharepoint 2013 资源管理器视图的 Windows 资源管理器视图。现在,当用户通过复制粘贴选项将文档从 library1(说位于 sitecollection1 中的 site1 中)复制到 library2(位于 sitecollection2 中的 site2 中)时,我需要清除文档的一些元数据。我正在尝试 Lukasz 的建议,但元数据没有清除。在调试模式下,即使在更新之前禁用了事件触发,我看到更新的事件又被再次调用一次,这很奇怪。最后,我的元数据没有被清除。我尝试了更新和更新事件。任何想法?这是我的更新代码:
public override void ItemUpdated(SPItemEventProperties properties)
{
base.ItemUpdated(properties);
ClearNotes(properties);
}
private void ClearNotes(SPItemEventProperties properties)
{
try
{
SPListItem listItem = properties.ListItem;
listItem["Notes1"] = string.Empty;
listItem["ReviewNote"] = null;
base.EventFiringEnabled = false;
listItem.Update();
}
catch (Exception ex)
{
//logging error to db
}
finally
{
base.EventFiringEnabled = true;
}
}