我目前正在尝试将 Web 部件添加到页面。我认为一切都很好,但是我正在使用一段代码,我认为它返回了所有现有的 web 部件,但实际上它只返回了当前在给定页面上的 web 部件。
web.GetWebPartCollection(url,storage);
我希望从上述代码返回的集合中获取对已驻留在 Web 部件库中的 Web 部件的引用,但我的 Web 部件尚未部署到页面,因为这正是我正在尝试的做!!!!
有谁知道如何通过一段 C# 代码访问 Web 部件库?
请您参考如下方法:
应该这样做:
SPSite site = new SPSite( siteCollectionUrl );
SPWeb web = site.OpenWeb();
SPList webPartGallery = web.GetCatalog( SPListTemplateType.WebPartCatalog );
...
siteCollectionUrl 是您希望为其加载 Web 部件库的网站集的 URL。
SPList webPartGallery 将包含当前网站集库中的所有 Web 部件。
编辑:
可能还值得一提的是 Sharepoint 中命名约定的差异:
- 共享点 网站集 在对象模型中由 SPSite 对象表示。
- 共享点 Site 由 SPWeb 对象表示
