0

当我尝试更新共享点文档库中的项目名称时,出现以下错误。该项目是文档集类型,其默认值是使用 javascript 加载的。在 Item added 事件中,我们使用新更改的项目的名称值进行更新。但是在 item.update() 代码语句中,我收到了以下错误。

文件 CZY14389 在当前日期已被域\用户名修改。

请提供您对解决此问题的意见。

4

4 回答 4

1

您不能像这样更改共享点文档的名称。你需要“移动它”。

Item.Update();
Item.File.MoveTo(Item.ParentList.RootFolder.Url + "/" + newFileName, false);
Item.File.Item["FileRef"] = newFileName;
Item.File.Update();
于 2012-09-04T15:14:57.903 回答
0

这有时会发生在事件处理程序中。问题是事件处理程序中的更新过程与工作流不同。在用于更新的事件处理程序中,您必须使用以下步骤。不要在工作流程中使用 Item.Update()。

按照步骤:

• 在您的代码之前调用和禁用事件触发:base.EventFiringEnabled = false;

•通过调用 item.systemUpdate(false) 更新您的项目;

•启用事件触发:base.EventFiringEnabled = true;

于 2012-11-29T10:32:41.737 回答
0

在您更新项目名称并调用 item.update() 之前,您可以尝试像这样刷新您的项目:

 item = item.ParentList.GetItemById(item.ID);
 item.name = "xyz";
 item.update();
于 2012-08-26T23:38:22.360 回答
0

禁用事件触发并调用您的更新代码,不要忘记启用事件触发。

     HandleEventFiring handleEventFiring = new HandleEventFiring();  
        handleEventFiring.DisableHandleEventFiring();     
     try  
            {  
                item.Update(); 
//if item.Update  doesnt work then use(For me item.update worked only on my local not on prod then i used the below)  
//item.SystemUpdate(false)
            }  
            finally  
            {  
                handleEventFiring.EnableHandleEventFiring();  
            }








 public class HandleEventFiring : SPItemEventReceiver  
    {  

        public void DisableHandleEventFiring()  
        {  
            //obsolete  
            //this.DisableEventFiring();  
            this.EventFiringEnabled = false;  
        }  

        public void EnableHandleEventFiring()  
        {  
            //obsotete  
            //this.EnableEventFiring();  
            this.EventFiringEnabled = true;  
        }  
    }  
于 2015-03-26T06:10:50.703 回答