sharepoint 查阅项SPFieldLookup 赋值 .

在项目中,经常会涉及列表或者文档库之间的相互引用,而这个时候我们用的更多的就是查阅项(lookup),以前没有去关注取值或者赋值的问题,今天正好碰到一个Case,就顺道总结一下。我们知道链接和图片的字段我们通过SPLinkFieldValue取值,那么查阅项通过什么来取值呢?答案是:SPFieldLookupValueCollection或者SPFieldLookupValue,为什么会有两种类型呢?起源是在添加查阅项字段时,是否选择了“允许多值”。一旦允许多值,就必须的通过SPFieldLookupValueCollection来做,以下是我整理的代码,仅供记录:
          SPFieldLookup fieldLookup =(SPFieldLookup)list.Fields[_DisplayName];
            if (fieldLookup.GetFieldValue(item[_ColName].ToString()).GetType().Name == "SPFieldLookupValueCollection")
            {
                SPFieldLookupValueCollection projects =
                    (SPFieldLookupValueCollection)fieldLookup.GetFieldValue(item[_ColName].ToString());
 
                foreach (SPFieldLookupValue lookupValue in projects)
                {
                     //lookupValue.LookupValue;
                     //lookupValue.LookupId.ToString();
                }
            }
            else
            {
                SPFieldLookupValue projects =
                    (SPFieldLookupValue)fieldLookup.GetFieldValue(item[_ColName].ToString());
 
                //projects.LookupValue;
                //projects.LookupId.ToString();
            }   
posted @   TwinStudio  阅读(513)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示