【问题标题】:Umbraco: Create Model Object for a Node Using ModelsBuilder?Umbraco:使用 ModelsBuilder 为节点创建模型对象?
【发布时间】:2017-04-05 07:05:43
【问题描述】:

我在“AppData”模式下使用 Umbraco 7.5 和 ModelsBuilder,我有一个设置文档类型和内容节点,当然没有视图(模板)。

在一个全局代码文件中,我创建了一个设置节点的实例,如下所示:

IPublishedContent Settings = new UmbracoHelper(UmbracoContext.Current).TypedContent(123);

现在,如何创建由 ModelsBuilder 创建的初始化模型?虽然我可以调用Settings.GetPropertyValue(...),但我想初始化并使用 ModelsBuilder 为我生成的“SiteSettings.generated.cs”强类型模型,它已经包含我定义的属性。

你能帮忙吗?

【问题讨论】:

    标签: model content-management-system umbraco


    【解决方案1】:

    好的,答案如下:

    ModelsBuilder 生成的模型都继承自 PublishedContentModel,它有一个构造函数,接收 IPublishContent 对象作为输入并为您实例化模型对象。因此,代码将是(SiteSettings 是模型类的名称):

    IPublishedContent settingsNode = new UmbracoHelper(UmbracoContext.Current).TypedContent(123);
    var settingsModel = new SiteSettings(settingsNode);
    

    【讨论】:

    • 在创建 UmbracoHelper 的新实例时要小心 - 它有相当大的开销,并且创建太多实例会影响您网站的性能。
    猜你喜欢
    • 2018-11-19
    • 1970-01-01
    • 2014-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多