2011-02-04 1 views
2

다음은 FeatureDeactivating 이벤트 처리기에 추가 한 코드 조각입니다. System.Web.UI.WebControls.WebParts 유형의 웹 파트를 삭제하기위한 솔루션을 얻을 수 없습니다.특정 기능을 비활성화 할 때 Sharepoint 페이지에서 특정 웹 파트 삭제

try 
       { 
        SPSite mysite = properties.Feature.Parent as SPSite; 
        SPWeb myweb = mysite.RootWeb; 
        SPLimitedWebPartManager manager = myweb.GetLimitedWebPartManager("default.aspx", System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared); 

        using (mysite) 
        { 
         using (myweb) 
         { 
          SPLimitedWebPartCollection webparts = manager.WebParts; 

          for (int k = 0; k < webparts.Count; k++) 
          { 
           //get reference to webpart 
           System.Web.UI.WebControls.WebParts.WebPart wp = webparts[k]; 

           //check webpart Title to find webpart which is to be removed 
           if (wp.Title == "Profile Edit") 
           { 
            WHAT CODE SNIPPET HAS TO BE INSERTED HERE TO DELETE THE WEBPART FROM THE PAGE 

           } 
          } 
         } 
        } 

       } 
       catch (Exception ex) 
       { 
        eventlog.WriteEntry(String.Format("Error de-activating add tab feature {0} : ", ex.Message)); 
       } 

답변

3

사용 다음 코드

manager.DeleteWebPart(wp); 

manager.Dispose(); 
web.Update(); 
관련 문제