【发布时间】:2015-10-28 21:21:40
【问题描述】:
我正在尝试一些非常简单的方法 - 访问我的 SharePoint 列表的项目及其属性。
但是,对于所有普通列表,SPListItem.Properties 计数为零。对于文档和页面库,一切都按预期工作。因此,如果列表项是基于文档类型的,那么一切都很好。如果它们基于项目,则不返回属性。
我在两种环境中进行了尝试,一种是使用 OOTB 发布模板创建的新网站,一种是基于 OOTB 内容类型的新列表等等。总是一样的。
总是返回正确数量的 SPListItems。标题和名称都很好。只是 .Properties 哈希表完全是空的。
无奈之下,我编写了一个 Web 部件,输出以下(丑陋!)诊断信息。
foreach (SPList list in SPContext.Current.Web.Lists)
{
foreach (SPListItem item in list.Items)
{
Label label = new Label();
label.Text = "Name: " + item.Name + "Property count: " + item.Properties.Count;
this.Controls.Add(label);
}
}
唯一的观察是它的工作原理与我之前描述的完全一样。我只是分享代码来证明这是可以想象的最基本的操作。
这是示例输出 - 为了便于阅读,我添加了换行符 ;-)
Name: Test Property count: 0
Name: default.aspx Property count: 21
显然项目“测试”是一个基于项目的列表项,而 default.aspx 是一个页面。
有没有人遇到过这样的事情?有什么想法吗?
【问题讨论】:
标签: sharepoint