umbraco剃刀 - 从内容中获取字段

LeB*_*eau 2 field umbraco razor umbraco-webforms

我有6项相同内容类型的"新闻",在每个项目中我都有一个字段newsIntro.我想把特定页面中的字段放在另一个页面上,所以我需要定位一个特定字段,因此它可能是节点1702上的newsIntro.我尝试了一些像

@ 1720.newsIntro

如何定位特定字段

谢谢

Dou*_*low 15

在学习剃刀时,您应该看一些很棒的资源:

  1. Umbraco Razor功能演练 - Umbraco 4.7中许多新Razor功能的八篇博文系列,附有示例.

  2. Razor DynamicNode备忘单 - Razor DynamicNode对象可用的所有属性和方法的PDF (包括@Model).

  3. Cultiv Razor示例 - 您可以使用WebMatrix或IIS下载和打开的Umbraco网站,并查看使用Razor访问属性的各种方法.

  4. Razor片段 - 来自Our Umbraco的不同片段,示例等的汇编.

但是在回答您的问题时,要获取特定节点的属性,您必须先获取实际DynamicNode对象,然后使用属性别名来访问属性值.例:

@{
    //Get the node
    dynamic node = Library.NodeById(1720);

    // Display the property
    @node.newsIntro
}
Run Code Online (Sandbox Code Playgroud)

要从当前页面访问属性,只需使用Model:

@Model.newsIntro
Run Code Online (Sandbox Code Playgroud)

要么

@Model.bodyText
Run Code Online (Sandbox Code Playgroud)

要么

@Model.Name
Run Code Online (Sandbox Code Playgroud)


Tim*_*ell 5

首先,从TypedContent方法获取IPublishedContent对象,然后使用GetPropertyValue检索字段的值.

@{
  int nodeId = 1720;
  IPublishedContent contentNode = Umbraco.TypedContent(nodeId);
  var newsIntro = contentNode.GetPropertyValue("newsIntro");
}

<p>@newsIntro</p>
Run Code Online (Sandbox Code Playgroud)