2012-01-16 3 views
4

특정 버전의 SharePoint 게시 페이지를 익명 사용자에게 제공하는 컨트롤을 만들려고합니다. 예 :익명 사용자에게 가장 최근에 승인 된 버전 대신 셰어 포인트 게시 페이지의 특정 버전을 표시하는 방법

MyPage.aspx의 버전은 1.0, 2.0, 3.0, 4.0이며 4.0은 최신 게시 된 버전입니다. Sharepoint는 기본적으로 버전 4.0을 익명 사용자에게 제공합니다. 프로그래밍 방식으로 대신 버전 2.0을 제공 할 수 있기를 바랍니다. 익명 사용자를 확인하고 내가 원하는 페이지 버전의 개체를 얻는 방법을 알고 있습니다. 내 질문은, 어떻게 특정 페이지 개체를 제공하기 위해 셰어 포인트 말합니까? 다음은

내가 ... 지금까지와

PublishingPage currentPage = GetCurrentPageObjectVersion(2); 
     if (currentPage != null) 
     { 
      // Tell sharepoint to deliver currentPage somehow? 
     } 

private SPFileVersion GetCurrentPageObjectVersion(int requestedVersion) 
    { 
     SPFileVersion specifiedVersion = null; 
     try 
     { 
      PublishingPage currentPage = PublishingPage.GetPublishingPage(SPContext.Current.ListItem); 
      specifiedVersion = currentPage.ListItem.File.Versions.GetVersionFromID(requestedVersion); 
     } 
     catch (Exception e) 
     { 
      // Error handling here 
     } 

     return specifiedVersion; 
    } 

어떤 도움을 크게 appriciated 것을하고 있어요 것입니다! 더 이상의 설명이 필요하면 알려주세요.

+0

해결책을 찾았습니까? – Obsivus

답변

0

SPFileVersion에서 특정 버전의 페이지와 관련된 목록 항목을 가져올 수 있습니다. 그런 다음 컨트롤은 페이지의 필드 컨트롤 값 (페이지 레이아웃에 의해 정의 됨)을 버전이 지정된 목록 항목의 속성 값으로 설정 (재 지정) 할 수 있습니다.

+1

익명 사용자는 버전을 볼 수 없으므로 높은 권한으로 코드를 실행해야합니다. –