从blogpost viewmodel获取父项 - Sitefinity

时间:2018-02-02 22:01:35

标签: sitefinity sitefinity-10

我需要从viewmodel对象获取剃刀视图中的父(博客)项,以用于任何给定的博客帖子。

我在标准的List.BlogPostList.cshtml文件中这样做。

更具体地说,我需要设置URL或标题。由于控制器包含在此应用程序的资源中,因此我无法直接访问它。

试过

item.ParentItem().DataItem.GetDefaultUrl()

在错误日志中找到了这个:

无法找到给定项目的父项目属性。此扩展方法仅应用于访问DynamicContent项的父项。

试过

item.GetRelatedParentItems("Blog").ToString()

在错误日志中找到了这个:

无法解析“博客”类型。

看起来很接近,但我无法猜测它想要的parentItemsTypeName魔术字符串,当然Sitefinity文档是残酷的。

1 个答案:

答案 0 :(得分:3)

这样的事情应该有效:

@foreach (var item in Model.Items)
{
       var parent = (item.DataItem as BlogPost).Parent;
       var parentTitle = parent.Title;
       var parentUrl = parent.UrlName;
}

确保也添加以下使用条款:

@using Telerik.Sitefinity.Blogs.Model;