[CSOM]和List/ListItem使用过程中遇到的问题

修改ListItem之后,modified和modified by不变
可以在References上面右键,选择Manage NuGet packages…,在Browser tab下面搜索Microsoft.SharePointOnline.CSOM,找到后点击install即可使用SystemUpdate()。

item.SystemUpdate();                            
clientContext.ExecuteQuery();

得到Approval status的值:
在得到ListItem之后根据 "_ModerationStatus"属性可以得到approval status

  int status = Convert.ToInt32(item["_ModerationStatus"]);
    And the enum is defined as:
    
    public enum SPModerationStatusType
    {
        Approved, //0
        Denied,   //1
        Pending,  //2
        Draft,    //3
        Scheduled //4
     }

ListItem的属性返回的是FieldUserValue对象,不是值,怎么得到里面的值呢?

var value = item["Contact"] as FieldUserValue;
var name = value.LookupValue;

修改List的checkout required

if (list.ForceCheckout == true)
   {
        list.ForceCheckout = false;
        list.Update();
        clientContext.ExecuteQuery();
    }

得到List/Library里面所有的listItem

ListItemCollection collListItem = list.GetItems(CamlQuery.CreateAllItemsQuery());

判断file是否是checkout状态

if (item.File.CheckOutType != CheckOutType.None)
  {
      skipFile.WriteLine(item.DisplayName + "," + site + item.File.ServerRelativeUrl);
  }

分隔符
保存page的一些属性到csv文件,属性之间用逗号分隔,但是page的名字可以包含一些特殊字符串(例如逗号,),名字本身带的逗号,被当成分隔符。可以使用|来代替。

权限相关的
得到List或是ListItem的权限的组,或是stop inheriting。

//For Item
item.BreakRoleInheritance(false, false);
GroupCollection listItemsGroupCollection = item.RoleAssignments.Groups;
clientContext.Load(listItemsGroupCollection);
clientContext.ExecuteQuery();

foreach (Group group in listItemsGroupCollection)
{
    listItemsGroupCollection.Remove(group);
}
clientContext.ExecuteQuery();
//for List
siteAllLists[i].BreakRoleInheritance(false, false);
GroupCollection gc = siteAllLists[i].RoleAssignments.Groups;
clientContext.Load(gc));
clientContext.ExecuteQuery();
for (int j = gc.Count - 1; j >= 0; j++)
{                            
    gc.Remove(gc[j]);     
}
clientContext.ExecuteQuery();  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值