【问题标题】:Get sharepoint list items by lookup value通过查找值获取共享点列表项
【发布时间】:2014-08-14 02:17:41
【问题描述】:

我有测试和方法列表。

测试:

测试名称

  • 测试1

方法: MethodName, TestName(查找机智

  • 方法1,测试1

  • 方法2,测试2

    测试名称)

我想通过查找值过滤带有 caml 查询的方法。

  var metodList = web.Lists["Methods"];

  query.Query = @"<Where><Eq><FieldRef Name='TestName'/>
                  <Value Type='Lookup'>Test1</Value></Eq></Where>";

       var metods = metodList.GetItems(query);

      foreach (SPListItem metodItem in metods.List.Items)
                    {
                        metodViewModelList.Add(new MetodViewModel
                        {
                            MetodId = Convert.ToInt32(metodItem["ID"]),
                            MetodName = metodItem["MethodName"].ToString()
                        });
                    }

但它不起作用。 metods.List.items 有两个项目。 Method2也来了。

我哪里做错了?

【问题讨论】:

    标签: sharepoint caml


    【解决方案1】:

    试试:

    string lkp_metod = metodItem["TestName"].ToString();
    SPFieldLookupValue lkp_metod_value = new SPFieldLookupValue(lkp_metod);
    
    MetodId = lkp_metod_value.LookupId.ToString();
    MetodName = lkp_metod_value.LookupValue.ToString();
    

    【讨论】:

    • 我不确定是否仅因为代码而删除您的答案。但我建议你写一些描述你的答案将如何解决 OP 问题。
    • 这不是我的问题,我想通过查找项目值进行过滤。但是 caml 查询不起作用。
    • 嗯。我认为您的查询是可以的,但您可以尝试使用 SharePoint 创建视图,然后使用此方法提取 caml 架构:snahta.blogspot.com.ar/2011/03/… 这将有助于查找错误。
    猜你喜欢
    • 1970-01-01
    • 2015-08-28
    • 2018-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-17
    • 2018-12-01
    • 2018-09-04
    相关资源
    最近更新 更多