Project Server インストールのレイアウト ディレクトリにコピーされる aspx ページがあります。aspx は、Web パーツ ゾーンを持つ Web パーツ ページです。Web パーツ ゾーン内で、ページのマークアップに Web パーツを追加するにはどうすればよいですか?
15634 次
2 に答える
6
SPLimitedWebPart マネージャーを使用して、実行時に Web パーツのインスタンスを追加できます。組織が必要とする Web パーツの追加、削除、および移動を制御するために、個人用サイトでこれを行います。aspx ページにコードを配置できます。
SPFile thePage = currentWeb.RootFolder.Files["default.aspx"]
using (Microsoft.SharePoint.WebPartPages.SPLimitedWebPartManager spLimitedWPManager = thePage.GetLimitedWebPartManager(System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared))
{
Assembly assembly = Assembly.Load("WebPartAssemblyName");
WebPart webPart = (WebPart)assembly.CreateInstance("WebPartClassName");
spLimitedWPManager.AddWebPart(webPart, ZoneId, ZoneIndex);
}
レイアウト ページの Web パーツ マネージャーにアクセスするには、別の操作が必要になる場合があります。この後、ページにリダイレクトして変更を表示する必要があります。また、後続の各アクセスでアクションを実行しないように、ビット値を保存することもできます。
これを 1 回だけ行う必要がある場合は、代わりに PowerShell をお勧めします。
それ以外の場合は、タグを登録することで、MarkUp に Web パーツを直接追加できます。
<%@ Register TagPrefix="ABC" Namespace="Namespace" Assembly="Assembly" %>
Web パーツを直接追加し、
<ABC:ClassName ID="ControlID" FrameType="None" runat="server" __WebPartId="YouWebPartGUID" WebPart="true" />
ただし、Web ゾーン内での削除は許可したくなかったので、そのシナリオで機能するかどうかはわかりません。これは最も簡単ですが、カスタマイズすることはできず、SharePoint は Web パーツについて実際に「認識」していません。
于 2009-02-17T18:11:35.353 に答える