在代码中对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);

            //保存改动