2012-01-16 6 views
4

特定のバージョンのSharePoint公開ページを匿名ユーザーに配信するコントロールを作成しようとしています。例:匿名ユーザーに最新の承認済みバージョンではなく、特定のバージョンのSharePoint公開ページを表示する方法

MyPage.aspxにはバージョン1.0,2.0,3.0,4.0があり、4.0は最新の公開されたバージョンです。 Sharepointはデフォルトで匿名ユーザーにバージョン4.0を提供します。私は代わりにバージョン2.0をプログラムで与えることができるようにしたい。私は匿名ユーザーを確認する方法を知っていて、必要なページのバージョンのオブジェクトを取得します。私の質問は、指定されたページオブジェクトを配信するようにsharepointに指示する方法です。

以下

は、私がこれまでに働いているものです...

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

匿名ユーザーにはバージョンの表示が許可されていないため、権限を昇格してコードを実行する必要があります。 –

関連する問題