페이지 레이아웃이 사용 중인지 테스트하는 방법
-
10-12-2019 - |
문제
SPFeature를 통해 업데이트하고 삭제하는 몇 개의 파일이있는 모듈을 만들었습니다.페이지 레이아웃이 사용 중이면 IT를 삭제할 수없는 경우 {} CACCH {}에 시도가있는 경우에도 오류가 발생합니다.페이지 레이아웃을 사용하는 페이지 레이아웃을 어떻게 테스트합니까?-c #
해결책
기능 비활성화 된 이벤트에서 페이지 목록을 테스트하려면 페이지 레이아웃별로 쿼리 할 수 있어야합니다.다음은 페이지 레이아웃에 "webpartpage.aspx"가 포함 된 "페이지"목록의 페이지를 반환합니다.
SPList spList = spWeb.Lists.TryGetList("Pages");
if (spList != null)
{
SPQuery qry = new SPQuery();
qry.Query =
@" <Where>
<Contains>
<FieldRef Name='PublishingPageLayout' />
<Value Type='URL'>WebPartPage.aspx</Value>
</Contains>
</Where>";
qry.ViewFields = @"<FieldRef Name='PublishingPageLayout' />";
SPListItemCollection listItems = spList.GetItems(qry);
}
. 다른 팁
Box 웹 서비스 ListData.svc의 꺼내기를 사용하여 브라우저에서 정말 쉬운 점검을 수행 할 수 있습니다.
"페이지"목록과 레이아웃의 모든 페이지를 표시
<yoursiteUrl>/_vti_bin/listdata.svc/Pages?$select=Name,PageLayout
.
blankwebpartpage.aspx 레이아웃을 사용하여 "페이지"목록에서 페이지 만 표시합니다
<yoursiteUrl>/_vti_bin/listdata.svc/Pages?$select=Name,PageLayout&$filter=substringof('BlankWebPartPage.aspx',%20PageLayout)%20eq%20true
.
참고 : IE를 사용하는 경우 원시 XML을 "유용한"RSS 피드 뷰가 아닌 것을보고 싶습니다.인터넷 옵션 -> 콘텐츠 탭 -> 피드 및 웹 슬라이스 설정 -> "피드 읽기 뷰를 켜거나 켜짐"
제휴하지 않습니다 sharepoint.stackexchange