使用功能基于页面布局将Web部件添加到页面实例

时间:2009-08-27 13:45:51

标签: sharepoint sharepoint-2007 web-parts

我正在尝试使用Feature将Web部件添加到页面布局的页面实例。我知道它应该通过 AllUsersWebPart 元素。我可以找到添加默认Web部件的参考页面布局( PortalLayouts 功能)。我也在 onet.xml 中看到过相同的内容。我想知道是否可以根据页面布局创建页面实例,并使用该功能向其添加Web部件。

1 个答案:

答案 0 :(得分:1)

在功能激活事件处理程序中...

获取页面以添加webpart(在本例中为default.aspx)

SPFile thePage = curWeb.RootFolder.Files["default.aspx"];

获取Webpart Manager

//get the web part manager

SPLimitedWebPartManager theMan = thePage.GetLimitedWebPartManager

(System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared);

然后创建一个webpart实例

//add a new ThisWeekInPictures web part

ThisWeekInPicturesWebPart wpPix = new ThisWeekInPicturesWebPart();

wpPix.ImageLibrary = "Shared Pictures";

wpPix.Title = "My Pictures";

然后是Webpart Action

WebPartAction wpa = new WebPartAction(wpPix, WebPartAction.ActionType.Add,

"MiddleRightZone", 10)

最后添加webpart ...

theMan.AddWebPart(wpa.wp, wpa.zoneID, wpa.zoneIndex);

它已经完成了...我们页面中的一个新的webpart,我希望这会有所帮助;)

有关更多信息,请查看此文章http://blogs.msdn.com/sharepoint/archive/2007/03/22/customizing-moss-2007-my-sites-within-the-enterprise.aspx