2012-08-12 123 views
2

使用itemadded事件上傳文件時使用事件接收器的文檔庫中的SharePoint 2010。在獲取文件的屬性的事件中,它將改變,因爲文件在文件的屬性的自定義選項卡中包含相同的屬性。所以SPListItem屬性不會來,所以如何清除文件在SharePoint上傳文件時自定義propeties請幫助我。sharepoint 2010文檔庫事件接收者上傳文件時添加事件

我設置爲ItemAddedCol默認值設置爲false,但我會顯示爲true。問題是我正在上傳一個文件extesnion是.ppt。文件屬性並轉到自定義選項卡集添加一些文件,如ItemAddedCol,File Size。所以這些值正在如何清除項目添加事件中的這些自定義字段。

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

回答

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; 
    } 
} 

我沒有測試此代碼,所以讓我知道,如果你運行它時遇到的任何問題。

相關問題