我知道使用沙盒解决方案可以创建维基页面,方法如下:
SPUtility.CreateNewWikiPage(list, "{mysiteurl}/CodeGeneratedPage.aspx");
但是,如果可能的话,我如何在我的文档库中创建包含WebPart的WebPart页面?因为我能找到的所有内容(例如这个)都只适用于农场解决方案。是否有一些变通方法?
注意:我在这里发布这个问题,因为这里的人比Sharepoint网站上的人多得多。
我知道使用沙盒解决方案可以创建维基页面,方法如下:
SPUtility.CreateNewWikiPage(list, "{mysiteurl}/CodeGeneratedPage.aspx");
但是,如果可能的话,我如何在我的文档库中创建包含WebPart的WebPart页面?因为我能找到的所有内容(例如这个)都只适用于农场解决方案。是否有一些变通方法?
注意:我在这里发布这个问题,因为这里的人比Sharepoint网站上的人多得多。
找得不错。在沙盒代码中无法使用SPLimitedWebPartManager
,因此无法用它将WebPart放入页面。
唯一的方法是通过声明式方式(即XML)向页面提供WebPart,因此您需要在elements.xml
文件中执行类似以下操作:
<AllUsersWebPart WebPartZoneID="MainWebPartZone" WebPartOrder="1">
<![CDATA[
<webParts>
<webPart xmlns="http://schemas.microsoft.com/WebPart/v3">
<metaData>
<type name="MyComp.WebParts.SampleWebPart, MyComp.WebParts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9f4da00116c38ec5" />
<importErrorMessage>Cannot import this Web Part.</importErrorMessage>
</metaData>
<data>
<properties>
<property name="Title" type="string">Sample WebPart</property>
</properties>
</data>
</webPart>
</webParts>
]]>
</AllUsersWebPart>
还有一些其他的链接:
SPLimitedWebPartManager
,而您无法在代码中使用它。 - Dennis G