通过 SharePoint Web 部件访问列表数据

Posted

技术标签:

【中文标题】通过 SharePoint Web 部件访问列表数据【英文标题】:Access list data through SharePoint Web Part 【发布时间】:2011-05-11 14:56:04 【问题描述】:

我正在 SharePoint 2007 中构建一个自定义 Web 部件。它需要访问特定的列表项数据,然后设置输出的格式和样式。

我正在使用 C# 开发 Web 部件,并希望解决方案是独立的。如何从此 Web 部件访问列表数据?我可以使用 SOAP 请求并在 C# 中处理它吗?我应该通过 Web 服务(例如 getlistitems)提取列表数据吗?

【问题讨论】:

【参考方案1】:

由于您正在构建 SharePoint Web 部件,因此您应该通过 SPList 类访问列表及其数据。

链接文档提供了一个简短示例,说明如何从当前 SharePoint 网站正确获取列表。

【讨论】:

【参考方案2】:

像这样使用对象模型:

SPList list = SPContext.Current.Web.Lists(LISTNAME);
SPQuery query = new SPQuery()  Query = "<Where>...</Where>", ViewFields = "<FieldRef Name='Title' />" ;
SPListItemCollection items = list.GetItems(query);

然后只需使用 SPListItemCollection。您需要将查询文本替换为 CAML 查询(省略 &lt;Query&gt; 元素)。生成所需 CAML 的一种好方法是使用像这样的免费工具:

http://www.u2u.net/res/Tools/CamlQueryBuilder.aspx

【讨论】:

以上是关于通过 SharePoint Web 部件访问列表数据的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SharePoint 2010 的 XSLT 列表 Web 部件中隐藏列表功能区?

SharePoint 业务数据 Web 部件自定义

在 SharePoint2010 中使用 XML 查看器取得其他站点的内容列表

在 sharepoint 中创建可视 Web 部件连接到列表

如何在 SharePoint2013 的 SharePoint Web Access Web 部件中访问 Excel PROTECTED 电子表格?

使用 CSOM 进行初始部署后,将 SharePoint 列表 Web 部件添加到特定页面