我试图通过Razor脚本通过它的ID获取节点,但我不断收到此错误:
错误CS0118:'umbraco.MacroEngines.BaseContext.Node'是'属性' 但是像“类型”一样使用
这是我的代码:
@inherits umbraco.MacroEngines.DynamicNodeContext
@{
var node = new Node(Parameter.newsnode);
}
我觉得我在这里遗漏了一些非常基本的东西,似乎无法弄明白。
Umbraco 4.11.1
答案 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