【发布时间】:2012-08-02 15:07:16
【问题描述】:
我是 SharePoint 开发的新手,并尝试使用 SharePoint 2010 客户端对象模型读取 WebPart 的内容。以下是我查询 WebPart 内容的方法:
ClientContext ctx = new ClientContext("http://foo");
File home = ctx.Web.GetFileByServerRelativeUrl("/SitePages/Page.aspx");
var wpm = home.GetLimitedWebPartManager(PersonalizationScope.Shared);
var query = wpm.WebParts.Include(wp => wp.Id, wp => wp.WebPart));
var webPartDefenitions = ctx.LoadQuery(query);
ctx.ExecuteQuery();
问题是,我得到的结果是所有 WebPart 的列表,其中仅包含该 WebPart 的 ID 和一些基本信息(例如标题),但我需要读取 WebPart 本身的 XML 内容而不是阅读该 WebPart 的基本定义。
阅读WebPart 的内容 的最佳方式是什么?
提前感谢您的帮助。
PS。
根据 Trikks 的评论,我检查了 webpart 的内容。似乎内容未绑定到任何类型的列表或库。那里有一些自定义数据属性。这是示例:
<webPart xmlns="http://schemas.microsoft.com/WebPart/v3">
<metaData>
<type name="NS.SPS2010.Internet.WebParts.VenueDetails.VenueDetails, NS.SPS2010.Internet.WebParts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=89259c78cb06b3885" />
</metaData>
<data>
<properties>
<property name="WhenDetail" type="string">Monday 12:PM</property>
<property name="WhereDetail" type="string">London</property>
</properties>
</data>
</webPart>
我真正在寻找的是访问 WhenDetail 和 WhereDetail 属性的值。
【问题讨论】:
-
要理解这一点,您需要描述您的 Web 部件的功能以及它从何处获取数据。通常 Web 部件是显示 SharePoint 中列表和库中的数据的模块,您通常不会尝试访问 Web 部件内的数据。
-
谢谢特里克。我将检查如何访问底层数据块并在之后更新问题。
标签: sharepoint com web-parts