【问题标题】:How do I get the DateTime that a page was last published in Sitefinity?如何获取页面上次在 Sitefinity 中发布的日期时间?
【发布时间】:2010-04-16 19:19:23
【问题描述】:

这是我所拥有的:

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,但一直找不到任何对应的属性。

【问题讨论】:

    标签: asp.net vb.net telerik sitefinity


    【解决方案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
    

    我不确定是否有更好的方法。

    【讨论】:

      【解决方案2】:

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

      var node = SiteMapBase.GetActualCurrentNode();
      var itemVersions = VersionManager.GetManager().GetItemVersionHistory(node.PageId);
      var lastPublishedItem = itemVersions.Where(i => i.IsLastPublishedVersion).FirstOrDefault();
      var lastPublishedDate = lastPublishedItem.LastModified.ToString("dd MMMM yyyy");
      

      我希望有更直接的方法来做到这一点..

      【讨论】:

        猜你喜欢
        • 2012-10-13
        • 2018-03-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多