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

标签 sharepoint versioning publishing-site

我正在尝试创建一个控件,该控件将向匿名用户提供任何特定版本的共享点发布页面。例子:

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;
    }

任何帮助将不胜感激!如果需要进一步说明,请告诉我!

最佳答案

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

关于sharepoint - 如何向匿名用户显示共享点发布页面的特定版本而不是最新批准的版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8885603/

相关文章:

html - 如果 HTML 表格在其行内包含图像,那么我如何最小化图像之间的空白

asp.net - Sharepoint Online 禁止 WebRequest

c# - 如何以编程方式阅读 SharePoint 列表?

.net - GAC 和程序集版本控制

javascript - 将 PHP 变量作为函数值调用

version-control - 使用 Visual Studio 2012 与小团队 checkin / checkout 的最佳选择?

.net - TFS 构建 : include branch name in "build number" field of assemblies

visual-studio - 如何删除 "encrypt contents to secure data"

visual-studio-2010 - VS2010 - 发布网站,忽略空文件夹

asp.net - 发布后,我的 Umbraco 管理面板未在 IE9 中显示。但它出现在FF和Chrome浏览器中