什麼即時通訊想知道該怎麼辦是當有人編輯列表項目,並且它通過我的事件代碼被觸發時發生更改和保存命中,我不希望任何人能夠編輯該列表項目本身,同時仍然處理該請求。所以我想知道如果在這種情況下,我可以禁止別人編輯個別項目,直到完成它正在做的事情。在SharePoint中禁用更新個別列表項目
2
A
回答
2
不知道我是否明白你想要什麼。
嘗試向列表或內容類型添加一個字段,如果您願意,可將其用作標誌。當你輸入你的事件代碼時,確保你先檢查標誌,如果沒有設置,設置它並做你的事情。完成你的東西后,解除旗幟。
這裏有一些代碼來說明。請注意,我使用了一個名爲「更新」的列。如果您不關心添加列,您也可以使用SPListItem的屬性。
哦,不要忘記在你之前調用DisableEventFiring到SPListItem.Update,然後再調用EnableEventFiring()。爲了得到這個,你的手上會有一個非常令人討厭的無限循環。
.B
public override void ItemAdding(SPItemEventProperties properties)
{
if (properties.ListItem["updating"].ToString() == "updating")
{
properties.Cancel = true;
properties.ErrorMessage = "Item is currently updating, please try again later";
}
else
{
properties.ListItem["updating"] = "updating";
this.DisableEventFiring();
properties.ListItem.Update();
this.EnableEventFiring();
// do your stuff
properties.ListItem["updating"] = "";
this.DisableEventFiring();
properties.ListItem.Update();
this.EnableEventFiring();
}
}
1
我毫不懷疑,Bjørns解決方案將工作,但你必須執行時,它是非常小心。 請致電記住在你的更新方法中應該包括一個「終於」重置標誌,不管拋出哪個異常,否則你的列表將永遠被鎖定:-(
相關問題
- 1. 的SharePoint:更新列表項
- 2. 使用Automapper更新項目列表中的一個項目
- 3. 批量更新Sharepoint 2013列表中的項目
- 4. 在ListView中禁用列表項目
- 5. Sharepoint插入新項目列表
- 6. sharepoint將新項目通知列表
- 7. 如何使用javascript更新所選的SharePoint項目列表項目,
- 8. 通過Sharepoint REST API更新列表項
- 9. 在SharePoint 2007中合併項目列表
- 10. 更新列表框項目
- 11. 更新列表框項目
- 12. MVC更新列表項目
- 13. 更新c項目列表#
- 14. 使用InfoPath列表更新SharePoint列表?
- 15. SharePoint多個新項目表格
- 16. 限制Sharepoint列表項目
- 17. 無法在Sharepoint 2013列表中創建新項目
- 18. 如何使用where子句通過Web服務更新SharePoint項目列表項?
- 19. 更新列表中的項目
- 20. Sharepoint 2010中的類別列表項目博客模板
- 21. 重新啓用列表框中禁用的項目
- 22. 如何刷新列表項目一旦列表項目更新 - 將用於onResume
- 23. Sharepoint UpdateListItems列表未更新
- 24. 從flex更新Sharepoint列表
- 25. 從Powershell更新Sharepoint列表
- 26. 使用PowerShell隨機選擇更新SharePoint列表選項列
- 27. C#列表框更新項目更改
- 28. Sharepoint REST - 從列表中刪除項目
- 29. SharePoint 2010刪除列表中的項目
- 30. SharePoint列表項目:將列表項目級權限從一個項目複製到另一個項目