2

ここに私が持っているものがあります:

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、ページが最後に公開された日時ではなく、最後に編集された日時を返します。ドキュメントを調べましたが、対応するプロパティを見つけることができませんでした。

4

2 に答える 2

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

それを行うためのより良い方法があるかどうかはわかりません。

于 2010-04-16T22:19:29.473 に答える
1

バージョン 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");

これを行うためのより簡単な方法があればいいのに..

于 2017-09-11T06:38:24.103 に答える