我需要从viewmodel对象获取剃刀视图中的父(博客)项,以用于任何给定的博客帖子。
我在标准的List.BlogPostList.cshtml文件中这样做。
更具体地说,我需要设置URL或标题。由于控制器包含在此应用程序的资源中,因此我无法直接访问它。
试过
item.ParentItem().DataItem.GetDefaultUrl()
在错误日志中找到了这个:
无法找到给定项目的父项目属性。此扩展方法仅应用于访问DynamicContent项的父项。
试过
item.GetRelatedParentItems("Blog").ToString()
在错误日志中找到了这个:
无法解析“博客”类型。
看起来很接近,但我无法猜测它想要的parentItemsTypeName
魔术字符串,当然Sitefinity文档是残酷的。
答案 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;