如何获取Sitefinity上最后发布页面的DateTime?

时间:2010-04-16 19:19:24

标签: asp.net vb.net telerik sitefinity

这就是我所拥有的:

Dim cmsManager As New Telerik.Cms.CmsManager()
Dim currentNode As Telerik.Cms.Web.CmsSiteMapNode = CType(SiteMap.CurrentNode, Telerik.Cms.Web.CmsSiteMapNode)
Dim currentPage As Telerik.Cms.ICmsPage = currentNode.GetCmsPage()
Dim currentPageId As Guid = currentPage.ID
Dim pageFromDb As Telerik.Cms.IPage = cmsManager.GetPage(currentPageId)

Me.LastUpdateDate = pageFromDb.DateModified

不幸的是.DateModified会返回上次编辑页面的时间,而不是上次发布时的页面。我一直在查看the documentation,但我找不到任何相应的属性。

2 个答案:

答案 0 :(得分:1)

这是我现在使用的代码,它似乎是在发布时获得正确的日期:

Dim cmsManager As New Telerik.Cms.CmsManager()
Dim currentPageId As New Guid(SiteMap.CurrentNode.Key)
Dim pageFromDb As Telerik.Cms.IPage = cmsManager.GetPage(currentPageId, False)
Dim staged As Telerik.Cms.IStagedPage = pageFromDb.GetVersion(pageFromDb.Version)

Me.LastUpdateDate = staged.DateModified

我不确定是否有更好的方法来做到这一点。

答案 1 :(得分:1)

对于版本10,我使用以下代码:

sub("(.)(.{3})", '\\1-\\2-', sprintf("%07d", x))
#[1] "0-012-344" "0-233-345" "7-233-433" "9-343-883" "3-432-837"

我希望有更直接的方式来做这件事。