1

对于任何给定的博客文章,我需要从视图模型对象中获取剃刀视图中的父(博客)项目。

我在标准 List.BlogPostList.cshtml 文件中执行此操作。

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


试过了

item.ParentItem().DataItem.GetDefaultUrl()

在错误日志中得到这个:

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


试过了

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

在错误日志中得到这个:

无法解析类型“博客”。

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

4

1 回答 1

3

像这样的东西应该工作:

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

确保还添加以下 using 子句:

@using Telerik.Sitefinity.Blogs.Model;
于 2018-02-04T08:33:09.317 回答