내 요구 사항은 사이트의 숨겨진/사용되지 않은 웹 파트를 삭제하는 것입니다. 또한 사이트의 모든 페이지 목록을 가져올 수 없습니다. Sharepoint 2007의 사이트에 속하는 숨겨진/닫힌 여러 웹 파트를 프로그래밍 방식으로 삭제하는 방법
0
A
답변
1
여러분, 위의 질문에 대한 일부 코드를 찾을
- 사이트와 웹의 객체를 생성합니다.
사용 (SPSite oSite = 신규> SPSite (cbWebSite.SelectedItem.ToString())) 사용 (SPWeb 웨브 = oSite.OpenWeb는())
- 은 데이터 테이블을 만들기 부실하거나 폐쇄/숨겨진 웹 파트의 목록을 저장합니다.
dtWebParts = (System.Data.DataTable) CreateDataTableForUnusedWebParts();
System.Data.DataTable dtWebPartReport = new System.Data.DataTable(); DataColumn dtCol = new DataColumn(); dtCol.ColumnName = COLUMN_WEBAPP_NAME; dtCol.DataType = System.Type.GetType("System.String"); dtWebPartReport.Columns.Add(dtCol); . . .
전화 기능은 보고서를 생성합니다.
private void generateWebPartReportForWeb(SPWeb oWeb, SPSite oSite) {
try { //If team Site then read homepage foreach (SPFile rootFile in oWeb.Files) { checkPageForWebParts(oWeb, oSite,rootFile); } foreach (SPList oList in oWeb.Lists) { if (oList.BaseType == SPBaseType.DocumentLibrary) { lstName = oList.Title.ToString(); spDocumentLibrary =(SPDocumentLibrary)oWeb.Lists[lstName]; if (spDocumentLibrary.Title.ToString() !="Master Page Gallery" && spDocumentLibrary.Title.ToString() !="dataconnectionLib" && spDocumentLibrary.Title.ToString() !="Form Templates" && spDocumentLibrary.Title.ToString() !="Images" && spDocumentLibrary.Title.ToString() !="List Template Gallery" & spDocumentLibrary.Title.ToString() !="Scripts" && spDocumentLibrary.Title.ToString() !="Site Template Gallery" & spDocumentLibrary.Title.ToString() !="Style Library" && spDocumentLibrary.Title.ToString() !="Web Part Gallery" && spDocumentLibrary.Title.ToString() !="Workflows") { foreach (SPListItem spListItem in spDocumentLibrary.Items) { spFile = spListItem.File; checkPageForWebParts(oWeb, oSite,spFile); } } } } if (oWeb.Webs.Count > 0) { foreach (SPWeb subsite in oWeb.Webs) { generateWebPartReportForWeb(subsite, oSite); } } DataView dv = dtWebParts.DefaultView; dv.Sort = "Document Library Path ASC"; dataGridView1.DataSource = dtWebParts; dataGridView1.Update(); }
- 코드 페이지에는 WebPart를 확인하려면 :
private void checkPageForWebParts(SPWeb oWeb,SPSite oSite, SPFile spFile) { try { string[] strFileName = spFile.Name.Split('.'); string fileExtension = strFileName[strFileName.Length - 1].ToUpper(); if (fileExtension.ToUpper() == "ASPX") { using (SPLimitedWebPartManager wpm = oWeb.GetLimitedWebPartManager(spFile.Url, PersonalizationScope.Shared)) { foreach (System.Web.UI.WebControls.WebParts.WebPart wp in wpm.WebParts) { if (wp.IsClosed || wp.Hidden) { DataRow dr = dtWebParts.NewRow(); if (oSite.WebApplication.Name != null) dr[COLUMN_WEBAPP_NAME] = oSite.WebApplication.Name; if (oSite.Url != null) dr[COLUMN_SITECOLLECTION_NAME] = oSite.Url; if (oWeb.Name != null) dr[COLUMN_SUBSITE_NAME] = oWeb.Name; if (oWeb.Url != null) dr[COLUMN_DOCLIB_PATH] =cbWebApp.SelectedItem.ToString() + spFile.ServerRelativeUrl;//oWeb.Url + "/" + spDocumentLibrary.ToString(); if (spFile.Name != null) dr[COLUMN_DOCNAME] = spFile.Name; if (wp.Title != null) dr["WebPart Name"] = wp.Title; if (wp.IsClosed) dr["Hidden/Closed"] = "Closed"; else if (wp.Hidden) dr["Hidden/Closed"] = "Hidden"; dtWebParts.Rows.Add(dr); dtWebParts.AcceptChanges(); } } } } }
0
이 link이 도움이 될 것입니다.
protected override void CreateChildControls()
{
list = new BulletedList();
WebPartZoneCollection zones = this.WebPartManager.Zones;
foreach (WebPartZone zone in zones)
{
WebPartCollection webparts = zone.WebParts;
foreach (WebPart webpart in webparts)
{
**You can check webpart.hidden property here.**
list.Items.Add(
string.Format("{0} ({1}), {2}",
webpart.Title, webpart.GetType().Name,
zone.DisplayTitle));
}
}
this.Controls.Add(list);
}
관련 문제
- 1. 서버에서 프로그래밍 방식으로 웹 사이트에 로그인하는 방법
- 2. 프로그래밍 방식으로 웹 사이트에 로그인
- 3. 프로그래밍 방식으로 웹 사이트에 로그인
- 4. SharePoint 2007의 마스터 페이지에 웹 파트 추가
- 5. Active Directory 그룹을 프로그래밍 방식으로 SharePoint 사이트에 추가 하시겠습니까?
- 6. SharePoint - 브라우저에서 XSLT 웹 파트를 필터링하는 방법
- 7. Sharepoint : 사용자가 웹 파트를 닫지 못하게하는 방법
- 8. SharePoint 웹 파트를 데이터베이스에 연결
- 9. SharePoint 2007의 열 아래 프로그래밍 방식으로 주석을 표시하십시오.
- 10. asp.net의 웹 사이트에 프로그래밍 방식으로 로그인
- 11. 프로그래밍 방식으로 웹 사이트에 자동 로그인 하시겠습니까?
- 12. Sharepoint 2007의 사용자 지정 목록에서 사용자 지정 웹 파트를 만드는 방법
- 13. 프로그래밍 방식으로 공유 목록의 웹 파트를 가져 오는 방법은 무엇입니까?
- 14. 프로그래밍 방식으로 기사 페이지를 SharePoint 사이트에 추가하려면 어떻게합니까?
- 15. SharePoint 2010에서 폴더 작성자를 프로그래밍 방식으로 얻는 방법
- 16. C에서 프로그래밍 방식으로 Linkedin 웹 사이트에 로그인하는 방법
- 17. C# NTAuthenticated 웹 사이트에 프로그래밍 방식으로 다른 사용자로 로그인하는 방법
- 18. SharePoint 2007의 URL을 변경하는 방법
- 19. 타사 웹 사이트에 자동 로그인하는 SharePoint webpart
- 20. SharePoint 2007의 Java/JSP Codings
- 21. 타사 웹 파트를 SharePoint 2 (2003)에서 SharePoint 3 (2007)
- 22. 프로그래밍 방식으로 SharePoint 목록 및 하위 사이트에 액세스합니까?
- 23. 프로그래밍 방식으로 웹 로그인을
- 24. 프로그래밍 방식으로 SharePoint 사이트에서 폴더를 만드는 방법
- 25. 프로그래밍 방식으로 UITextField의 내용을 삭제하는 방법은 무엇입니까?
- 26. 프로그래밍 방식으로 SharePoint Workflow 취소
- 27. 웹 파트 추가 프로그래밍 방식으로
- 28. Sharepoint 2007의 목록 항목 URL 받기
- 29. 네트워크 폴더에 프로그래밍 방식으로 액세스 WSS 3.0 sharepoint
- 30. Sharepoint 2007의 Application.Master 수정