2010-04-06 122 views
0

我需要获取所有日期和人员修改显示的页面,所有已发布的更改和最终用户可以看到他们之间的差异。 我的页面是aspx连接到pageLayout其中是richhtmlfield与文章。 如何做到这一点?有可能这样做吗?在Sharepoint中获取页面状态历史记录

回答

0

如果这适用于撰稿者,而页面处于编辑模式,则他们可以从工具栏中选择工具>版本历史记录。否则,您可以添加到版本页面上的链接,提供给所有用户:

<a href="/sites/mysite/_layouts/Versions.aspx?list=[GUID]&ID=[ID]&FileName=%2Fsites%2Fmysite%2FPages%2FcurrentPage%2Easpx>Modifications</a> 

您需要填写手动列表,ID,文件名参数的值。自动生成的链接,我会建立一个产生在Page_Load中的URL如下自定义页面布局:

RevisionHistoryAction versions = new RevisionHistoryAction(); 
string url = versions.NavigateUrl; 

RevisionHistoryAction在Microsoft.SharePoint.Publishing.WebControls.EditingMenuActions命名空间。

+0

Thaks!所以我可以主动地访问列表并检索所有条目,然后以我自己的方式在我自己的控制下显示。 如果我在屏幕上有我的aspx文件,并且我想访问版本列表 - 如果我能够通过SPContext.Current.File检索当前页面,那么GUID和ID是什么? 然后SPFile有版本成员 - 它是从链接这是相同的列表? – user307852 2010-04-07 19:00:44

+0

如果您想创建自己的控件,那么我需要花一些时间在12 \ TEMPLATE \ LAYOUTS \ Versions.aspx下的12个配置单元中查看Versions.aspx。您还需要查看Reflector中的VersionsPage类。您可以在12 \ CONFIG \ BIN \ Microsoft.SharePoint.ApplicationPages.dll中找到该DLL。 – 2010-04-07 20:12:40