SharePoint 2010 列表查阅项栏的formfield控件对象取值
开发的时候想当然的认为主表解析出来就是一个dropdownlist,可是在大数据测试的时候,发现有情况。
首先创建一个子列表:DetailList,并添加19条数据:
创建主列表:MainList,并新建“查阅项”栏关联这个子表的标题。
MainList新建页面显示查阅项控件的样式:
当DetailList再增加一条数据
这个时候,MainList的新建显示将会不同。
显然当“查阅项”超过20条数据的情况,这个formfield会改变控件的样式。
如果我们需要后台生成这个控件的对象,或者编码将formfield通过对象解析出来,并获取值的时候,就要注意两种不同的情况了
首先判断这个formfield的类型
SPList spList = SPContext.Current.Web.Lists[ "MainList" ]; string fieldType = spList.Fields[ "DetailList标题" ].TypeAsString; |
则这个fieldType为Lookup
根据这个类型通过生成对象取值
string fieldValue = string .Empty; //获取选中的值 if (fieldType == "Lookup" ) { LookupField lfField = ((LookupField) this .FindControl(controlId)); string name = lfField.Field.InternalName; if (lfField.Controls[0] is DropDownList) { DropDownList ddl = (DropDownList)lfField.Controls[0]; if (ddl.SelectedItem != null ) { fieldValue = ddl.SelectedItem.Text; } } if (lfField.Controls[0] is Literal) { TextBox tb = (TextBox)ddcField.Controls[1]; //注意是第2个控件 if (tb.Text != null ) { fieldValue = tb.Text; } } } |
分类:
SharePoint
标签:
SharePoint
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律