2012-04-24 10 views
3

は私が知っているサンドボックスソリューションに含まれてWebパーツをWebパーツページを作成するにはその可能性、これとサンドボックスソリューションでwikiページを作成します。はどのように

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

しかし、どのように私は(可能であれば)Webパーツページを作成することができます私のドキュメントライブラリにwebpartが含まれていますか?私が見つけることができるのは(thisのように)ファームソリューションでしか働いていないからです。どういうわけか回避策はありますか?

注意:ここでは、の方法がSharepointサイトと同じようにここに掲載されています。

答えて

2

Good find。 SPLimitedWebPartManagerをサンドボックスコードで使用することはできません。したがって、WebPartをページに配置するために使用することはできません。

あなたはelements.xmlファイル内でこのような何かを行う必要がありますので、ページへの提供のWebパーツへの唯一の方法は、宣言的な方法(すなわち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> 


ともう少し:あなたの答えのための

+1

どうもありがとう、私はときに、ユーザー(ないデプロイ時に)プログラムでWebパーツページを作成する必要があります何でもします。多分XMLからデプロイ時にページを作成するいくつかの.net/sharepointメソッドを実行するための回避策がありますか? – Marc

+0

私は助けてくれる2つのリンクを追加しましたが、コードでこれを行う方法はわかりません。展開時にバックグラウンドでSharePointが 'SPLimitedWebPartManager'を使用するので、XMLを使用してプロビジョニングする必要があります。コード内で使用することはできません。 –