微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C# SharePoint CSOM:更新多行文本字段

如何解决C# SharePoint CSOM:更新多行文本字段

我编写了一个小 C# 应用程序来从多个 SP 自定义列表中检索数据。这几个月来一直很顺利。现在我更新了我的应用程序来改变一些项目。确切地说,我喜欢为某些项目更新一个多行文本字段。这是我的代码

// Update SharePoint list elements
foreach (var o in toWrite) // List<(int,string)>();
{
    List destList = ctx.Web.Lists.GetByTitle(listToUpdate); // listToUpdate: SP list name
    ListItem listItem = destList.GetItemById(o.Item1); // o.Item1: id to update

    listItem[fieldToUpdate] = o.Item2.ToString(); // o.Item2: new string for plain text multiline field
    listItem.Update();

    ctx.ExecuteQuery();
}

ExecuteQuery() 失败并显示错误“请求无效”。

用最大值编写单行文本字段。 255 个字符这个方法工作正常,所以我假设对于多行文本字段,我需要以另一种方式处理这个长字符串。不幸的是,我在 API 中找不到任何合适的 FieldValue 类。

我将不胜感激。

解决方法

更新多行文本字段的详细字符是什么?

我测试了代码片段,它正在更新字段:

        ClientContext ctx = new ClientContext("http://sp/sites/MyDev");
        Web web = ctx.Web;
        ctx.Load(web);
        ctx.ExecuteQuery();
        List list = web.Lists.GetByTitle("MyList");
        ListItem item = list.GetItemById(1);
        item["Note"] = "TestCharacter";
        item.Update();
        ctx.ExecuteQuery();

enter image description here

,

Jerry_MSFTs 代码和我的一样工作正常。 SharePoint Online 的问题在于,当您要更新的自定义字段名为“属性”时,请求将失败。使用其他名称创建字段后,一切正常。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。