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