Как создать страницу веб-части с включенной веб-частью в изолированном решении

Я знаю, что можно создать вики-страницу в песочнице с помощью этого:

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

Но как я могу (если возможно) создать страницу веб-части с включенной веб-частью в моей библиотеке документов? Потому что все, что я могу найти (как это), работает только в решениях фермы. Есть ли какой-то обходной путь?

Обратите внимание: я размещаю этот вопрос здесь, потому что здесь гораздо больше людей, чем на сайте Sharepoint.

1 ответ

Хорошая находка. Вы не можете использовать SPLimitedWebPartManager в изолированном коде и, следовательно, не может использовать его для размещения веб-частей на страницах.

Единственный способ предоставления WebParts страницам - это декларативный способ (т. Е. 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>

Эти ссылки помогут вам на вашем пути:


и еще немного:

Другие вопросы по тегам