如何向匿名用户显示特定版本的sharepoint发布页面而不是最新批准的版本

时间:2012-01-16 20:01:35

标签: sharepoint versioning publishing-site

我正在尝试创建一个控件,它将向匿名用户提供任何特定版本的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;
    }

任何帮助都会受到极大的关注!如果需要进一步澄清,请告诉我们!

1 个答案:

答案 0 :(得分:0)

从SPFileVersion中,您可以获取与该页面的特定版本相关联的列表项。然后,您的控件可以使用版本化列表项的属性值设置(覆盖)页面上的字段控件的值(由页面的页面布局定义)。