在代码中对Web Part进行操作
相信很多人都知道怎样写一个Web Part。但怎样把一个已有的Web Part作为一个对象得到,并修改一些属性呢?下面是一个例子:
SPSite siteCollection = SPControl.GetContextSite(Context);
SPWeb srcSite = siteCollection.AllWebs["sites/search"];
//得到SPWeb对象
WebPart providerpart = null;
SPFile providerFile = srcSite.GetFile("Shared Documents/provider.aspx");
//首先,把aspx页面作为一个SPFile对象得到
SPWebPartCollection providerparts = providerFile.GetWebPartCollection(Storage.Shared);
//得到Shared视图中的所有Web Part
foreach (WebPart mypart in providerparts)
{
if (mypart.Title == "ServerSideFilterProvider")
{
providerpart = mypart;
break;
}
}
//遍历所有的Web Part,根据名字,找到我们所要的Web Part
System.Guid providerconnectionid = new System.Guid("3abc79c9-5e05-493b-9d57-46c0154403b7");
providerpart.ConnectionID = providerconnectionid;
//对Web Part的属性(参数)进行赋值
providerparts.SaveChanges(providerconnectionid);
//保存改动