2

使用事件上传文件时,文档库中的 SharePoint 2010 使用事件接收器itemadded。如果获取文件的属性,它将更改,因为文件在文件属性的自定义选项卡中包含相同的属性。所以SPListItem属性不会来,所以在sharepoint上传文件时如何清除文件自定义属性请帮助我。

我设置ItemAddedCol为默认值设置为false,但我将显示为 true。问题是我正在上传一个扩展名为.ppt的文件。文件属性并转到自定义选项卡集添加一些文件,ItemAddedColFile Size. 所以这些值是如何在项目添加事件中清除这些自定义字段的。

string size = Convert.ToInt32(listitem["File Size"]);
statusupdate = Convert.ToString(listitem["ItemAddedCol"]);
4

1 回答 1

1

我不确定这是否是您想要的,但是当您将文件上传到文档库时,设置自定义属性会调用项目更新事件。您应该能够为ItemUpdated(或ItemUpdating)事件编写事件接收器,并在此处清除所需的属性。

所以代码看起来像这样:

public virtual void ItemUpdated(SPItemEventProperties properties, bool isCheckIn)
{
    try
    {
        this.EventFiringEnabled = false;

        SPListItem listItem = properties.ListItem;

        //clear value in your custom column
        listItem["myCustomColumnName"] = null;

        listItem.Update(); //or listItem.SystemUpdate()
    }
    finally
    {
        this,EventFiringEnabled = true;
    }
}

我还没有测试过这段代码,所以如果你在运行它时有任何问题,请告诉我。

于 2012-08-12T14:17:42.430 回答