【问题标题】:How to create a webpart page with included webpart in sandboxed solution如何在沙盒解决方案中创建包含 Web 部件的 Web 部件页面
【发布时间】:2012-05-04 21:15:03
【问题描述】:

我知道在沙盒解决方案中创建 wiki 页面是可能的:

SPUtility.CreateNewWikiPage(list, "{mysiteurl}/CodeGeneratedPage.aspx");

但是我如何(如果可能)在我的文档库中创建一个包含 webpart 的 webpart 页面?因为我能找到的(比如this)只在农场解决方案中工作。有什么解决方法吗?

注意:我在这里发布这个问题是因为这里有 方式 比 Sharepoint 网站上更多的人。

【问题讨论】:

    标签: sharepoint sharepoint-2010 sandbox-solution


    【解决方案1】:

    很好的发现。您不能在沙盒代码中使用 SPLimitedWebPartManager,因此不能使用它将 WebParts 放在页面上。

    向页面提供 WebPart 的唯一方式是声明方式(即 XML),因此您必须在 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>
    

    这些链接将为您提供帮助:


    还有更多:

    【讨论】:

    • 非常感谢您的回答,但是当用户执行任何操作时,我必须以编程方式(而不是在部署时)创建 Web 部件页面。也许有一种解决方法可以以某种方式执行一些 .net/sharepoint 方法,该方法会在部署时从 XML 创建页面?
    • 我添加了两个可能有帮助的链接 - 但我不知道在代码中执行此操作的任何方式。您将需要使用 XML 来配置这些内容,因为 SharePoint 在部署时在后台使用 SPLimitedWebPartManager - 您不能在代码中使用它。
    猜你喜欢
    • 2016-04-27
    • 2015-08-10
    • 2012-01-15
    • 2015-02-10
    • 1970-01-01
    • 1970-01-01
    • 2021-06-04
    • 2017-10-16
    • 2022-12-22
    相关资源
    最近更新 更多