通过代码访问sharepoint中的Web部件库

Tru*_*aya 1 c# sharepoint

我目前正在尝试将Web部件添加到页面中.所有我认为很好,但我使用的是一段代码,我认为它返回了所有现有的webparts,但实际上它只返回当前在给定页面上的Web部件.

web.GetWebPartCollection(url,storage);
Run Code Online (Sandbox Code Playgroud)

我希望从上面代码返回的集合中获取已经驻留在Web部件库中的Web部件的引用,但我的Web部件尚未部署到页面,因为这就是我想要做的! !

有谁知道如何通过一段c#代码访问Web部件库?

Ric*_*ich 6

这应该这样做:

SPSite site = new SPSite( siteCollectionUrl );
SPWeb web = site.OpenWeb();
SPList webPartGallery = web.GetCatalog( SPListTemplateType.WebPartCatalog );
...
Run Code Online (Sandbox Code Playgroud)

siteCollectionUrl是您要为其加载Web部件库的网站集的URL.

SPList webPartGallery将包含当前网站集库中的所有Web部件.

编辑:

可能还值得一提的是Sharepoint中命名约定的不同之处:

  • 共享点网站集SPSite对象在对象模型中表示.
  • sharepoint 站点SPWeb对象表示