【问题标题】:executing a caml query to get a lookup field : "Cannot complete this action.Please try again."?执行 caml 查询以获取查找字段:“无法完成此操作。请重试。”?
【发布时间】:2020-01-20 15:40:09
【问题描述】:

在本地 SharePoint 2016 (CSOM) 中获取查找字段的值是我的 caml 查询代码。

<View>
                                <Query>
                                    <Where>
                                        <Eq>
                                            <FieldRef Name='myLookupField' LookupId='TRUE'/>
                                            <Value Type='Lookup'>18456</Value>
                                        </Eq>
                                    </Where>
                                </Query>
                            </View>

尝试删除此部分“LookupId='TRUE'”,但仍然出现此异常: “无法完成此操作。请重试。” 我在 U2U caml 查询生成器中运行这个 caml 查询,但它可以工作。

【问题讨论】:

标签: c# sharepoint visual-studio-2015 caml lookupfield


【解决方案1】:

在 CSOM 中测试 CAML,如下所示,它正在工作:

        using (ClientContext ctx=new ClientContext("http://sp/sites/dev/"))
        {
            List list = ctx.Web.Lists.GetByTitle("MyList22");
            CamlQuery caml = new CamlQuery();
            caml.ViewXml = "<View><Query><Where><Eq><FieldRef Name='myLookupField' LookupId='TRUE'/><Value Type='Lookup'>1</Value></Eq></Where></Query></View>";
            ListItemCollection items = list.GetItems(caml);
            ctx.Load(items);
            ctx.ExecuteQuery();
            foreach (ListItem item in items)
            {
                FieldLookupValue value = item["myLookupField"] as FieldLookupValue;
                Console.WriteLine("LookupId: "+ value.LookupId);
                Console.WriteLine("LookupValue: "+ value.LookupValue);

            }
        }

这是测试列表数据:

【讨论】:

  • 你这边有什么例外吗?我对它进行了测试,没有问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-26
  • 2017-04-22
  • 2011-05-04
  • 2020-05-30
  • 2011-06-22
相关资源
最近更新 更多