当前位置:  开发笔记 > 编程语言 > 正文

Umbraco将"IPublishedContent"类型转换为"CustomModel"类型

如何解决《Umbraco将"IPublishedContent"类型转换为"CustomModel"类型》经验,为你挑选了1个好方法。

我正在测试Umbraco并尝试在页面上设置博客列表.我有一个自定义BlogMode.cs,如下所示:

public class BlogPostModel : RenderModel
{
    public BlogPostModel() : base(UmbracoContext.Current.PublishedContentRequest.PublishedContent)
    {
    }

    public string MainBlogImage { get; set; }
    public string ImageAltText { get; set; }
    public string Introduction { get; set; }
    public string Category { get; set; }
    public IEnumerable BlogPosts { get; set; }
}

这样可以正常工作,因为我的模型也没有上面的属性.现在我要做的是通过使用以下内容获取所有博客文章:

var posts = Model.Content.Children.ToList();

但这样做会创建一个类型列表IPublishedContent.所以现在我不能在我的博客模型中使用Model.Introduction或者Model.ImageAltText任何其他属性,因为它是类型的IPublishedContent

我如何获得这个集合并使其成为类型BlogModel



1> Morph..:

不确定你使用的是什么版本的Umbraco,但我使用的是7.4.3(包括模型构建器),这对我有用.

var page = umbracoHelper.TypedContent(relatedLink.Internal);
if (page.ContentType.Alias.Equals("editorial"))
{
    var typedPage = (Editorial)page;
    //Your code here, for example 'typedPage.SiteLinkImage'
}

'Editorial'类由模型构建器生成.

推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有