获取博客文章的属性



我有博客存储库,它包含博客帖子列表。我正在访问所有的博客文章使用这个代码

var contentType = ApplicationContext.Services.ContentTypeService.GetContentType("BlogPost");
var blogPostList = ApplicationContext.Services.ContentService.GetContentOfContentType(contentType.Id);

现在我使用

访问自定义数据类型属性
foreach (var blog in blogPostList)
    {
        foreach ( var property in blog.Properties)
        {
        }
    }

现在我可以访问属性并获得其值,但对于少数属性,我得到json字符串,这对我来说是没有用的,因为我需要创建模型来正确解析json字符串到适当的json。

是否有任何方法使用GetPropertyValue在这种情况下或其他一些方式来获得正确格式化的Json。

站住!如果这是为前端,不要使用ContentService。这是专门为网站的后端,是非常数据库密集。

对于所有前端代码,您应该使用IPublishedContent。这将查询内容缓存,并且要快得多,因为没有数据库访问。

如果你有一个UmbracoHelper(你将在Umbraco控制器中),你可以开箱即用地访问它,否则你需要启动一个helper。下面是一个例子:

var umbracoHelper = new Umbraco.Web.UmbracoHelper(Umbraco.Web.UmbracoContext.Current);
var blogPosts = umbracoHelper. TypedContentAtXPath("//BlogPost [@isDoc]");

然后您将拥有一个页面列表,并且可以使用标准的. getpropertyvalue方法从字段中获取值。注意,这里的XPath查询不是非常高效,如果您愿意,可以使它更具体。

相关内容

  • 没有找到相关文章

最新更新