Umbraco从内容中获得价值

  • 本文关键字:Umbraco umbraco umbraco7
  • 更新时间 :
  • 英文 :


我在这里有些混乱,在这条代码上

var cs = ApplicationContext.Current.Services.ContentService.GetById(1000);
cs.GetValue("test");
var nd = new Node(1000);
nd.GetProperty("test");

这两个代码都可以使用..这两个代码之间有什么不同。

umbraco服务
Umbraco 6中介绍的新Umbraco API的服务层包括ContentService,MediaService,DatatyPeService和aentizationservice。查看有关这些服务和其他Umbraco服务的文档的Umbraco文档。

Umbraco中的服务访问了数据库,并且不要利用Umbraco提供的所有缓存。您应该谨慎使用这些服务。如果您尝试从数据库中添加/更新/删除,或者要从数据库中获取未发表的内容,则应使用这些服务。如果您需要查询已发布的内容,则应使用umbracohelper,因为它更快。

var cs = ApplicationContext.Current.Services.ContentService.GetById(1000);
cs.GetValue("test");

umbracohelper
当您想从Umbraco查询内容时,您几乎应该总是使用umbracohelper。它没有达到数据库,并且比Umbraco服务快得多。

var node = Umbraco.TypedContent(1000);
var nodeVal = node.GetPropertyValue<string>("test");

如果您发现自己无法访问Umbracohelper,只要您拥有umbracocontext:

var umbracoHelper = new UmbracoHelper(UmbracoContext.Current);
var node = Umbraco.TypedContent(1000);
var nodeVal = node.GetPropertyValue<string>("test");

NodeFactory
结节已过时。如果您使用的是6或更高的Umbraco,我强烈建议您转换为umbracohelper。

var nd = new Node(1000);
nd.GetProperty("test");

在剃须刀或前端代码中,始终使用umbracohelper

var node = Umbraco.TypedContent(1000);
var value = node.GetPropertyValue<string>("test");

这将查询缓存中已发布节点

您想使用contentservice调用来查询数据库,例如,如果您想要有关未发行节点的信息(您不想在视图中执行此操作)

用节点对象查询可能是遗产(我从未使用过)

相关内容

  • 没有找到相关文章

最新更新