Umbraco在Razor中通过ID获取节点

时间:2013-01-13 11:30:06

标签: razor umbraco

我试图通过Razor脚本通过它的ID获取节点,但我不断收到此错误:

  

错误CS0118:'umbraco.MacroEngines.BaseContext.Node'是'属性'   但是像“类型”一样使用

这是我的代码:

@inherits umbraco.MacroEngines.DynamicNodeContext
@{
var node = new Node(Parameter.newsnode);
}

我觉得我在这里遗漏了一些非常基本的东西,似乎无法弄明白。

Umbraco 4.11.1

4 个答案:

答案 0 :(得分:4)

以下是我一般的做法:

@inherits umbraco.MacroEngines.DynamicNodeContext
@{
  // Get some default node id if this is null or empty
  var newsNodeId = String.IsNullOrEmpty(Parameter.newsnode) ? "1022" : Parameter.newsnode;

  // Get the node using this helper method on DynamicNode
  var newsNode = @Model.NodeById(newsNodeId);
}

答案 1 :(得分:3)

就像包含Umbraco.NodeFactory

一样简单
@using umbraco.NodeFactory

答案 2 :(得分:1)

有这个简单的功能:

@{
    var node = @Library.NodeById(Model.Id);
}

@ * OR * @

@{
    var node = @Library.NodeById(1250);
}

答案 3 :(得分:1)

如果您正在为Umbraco编程,并且想快速了解Razor代码的可用选项,您可以使用作弊表:http://our.umbraco.org/projects/developer-tools/razor-dynamicnode-cheat-sheet。另请阅读本文档:http://our.umbraco.org/wiki/reference/code-snippets/razor-snippets