【问题标题】:How to retrieve associated list name from a FieldLookupValue Sharepoint 2013 CSOM如何从 FieldLookupValue Sharepoint 2013 CSOM 中检索关联的列表名称
【发布时间】:2015-01-15 11:16:24
【问题描述】:

我需要使用 CSOM SharePoint2013 库从 FieldLookupValue 检索一些信息。 具体来说,我有一个 SPList,我需要填充一个类型为 Lookup 的字段。有没有办法知道关联列表的名称?我确信此信息包含在 FieldLookup 值中:如果我使用关联项目的 LookupID 创建它的实例,SharePoint 会自动关联列表。事实上这段代码运行良好:

        switch (field.TypeAsString)
        {
            case "Lookup":
                int id = Convert.ToInt32(info);
                FieldLookupValue lv = new FieldLookupValue() { LookupId = id };
                newItem[field.InternalName] = lv;
                break; 
            default:
                // do nothing
                break;
        }

【问题讨论】:

    标签: c# sharepoint sharepoint-2013 csom


    【解决方案1】:

    FieldLookupValue class 不公开任何用于获取关联列表的属性,但您可以从 Lookup field 检索关联列表

    以下示例演示如何从Tasks 列表中检索Predecessors 字段的关联列表:

    using (var ctx = new ClientContext(webUri))
    {
         var list = ctx.Web.Lists.GetByTitle("Tasks");
         var field = list.Fields.GetByInternalNameOrTitle("Predecessors");
         var lookupField = ctx.CastTo<FieldLookup>(field);
         ctx.Load(lookupField);
         ctx.ExecuteQuery();
         var lookupListId = new Guid(lookupField.LookupList); //returns associated list id
         //Retrieve associated List
         var lookupList = ctx.Web.Lists.GetById(lookupListId);
         ctx.Load(lookupList);
         ctx.ExecuteQuery();
    }
    

    【讨论】:

    • 我要支持你,因为你把我放在我需要的地方。但是,在我的环境中,lookupField.LookupList 是一个字符串,特别是列表 Title。
    猜你喜欢
    • 2016-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-06
    • 1970-01-01
    • 1970-01-01
    • 2019-04-12
    • 2017-07-03
    相关资源
    最近更新 更多