2010-04-16 5 views
2

내가 무엇을 가지고 :페이지가 Sitefinity에서 마지막으로 게시 된 DateTime을 얻으려면 어떻게해야합니까? 여기

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 통해 찾고 있었지만 어떤 해당 속성을 찾을 수 없었습니다.

답변

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 

그래도 난 그것을 할 수있는 더 좋은 방법이 있는지 확실하지 않습니다.

버전 10에 대한
1

, 나는 다음과 같은 코드를 사용하고 있습니다 :이 할 수있는 더 정직 방법이 할

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"); 

을 ..

관련 문제