2

这已经让我发疯了大约 3 个小时。我们从 Umbraco 4 升级到 Umbraco 7,现在我们的站点菜单已损坏。我们曾经使用遍历节点并创建 CSS 菜单系统的脚本。

所以我已经开始阅读新的东西,我什至无法让@helper 或@functions 块工作。该脚本现在使用一个 PartialView 宏,该宏使用一个名为 MenuNode 的参数,这是我要向下遍历的节点。

这是有效的代码:

@inherits Umbraco.Web.Macros.PartialViewMacroPage

@{
var menuNode1 = string.IsNullOrEmpty((string)Model.MacroParameters["MenuNode"])? 0 : Convert.ToInt32(Model.MacroParameters["MenuNode"]);
}

<h1>@menuNode1</h1>

一旦我尝试像在 Umbraco 中提供的 Navigation PartialView 示例中那样添加 @helper 或 @functions,它就会停止工作。这就是打破它的原因。

@inherits Umbraco.Web.Macros.PartialViewMacroPage

@{
    var menuNode1 = string.IsNullOrEmpty((string)Model.MacroParameters["MenuNode"])? 0 : Convert.ToInt32(Model.MacroParameters["MenuNode"]);
}

@TestHelper(menuNode1)

@helper TestHelper(var testvalue)
{
    <h1>@testvalue</h1>
}

谁能指出我做错了什么?

4

1 回答 1

1

问题解决了。这是因为我在 @helper 参数列表中使用了 var ,更改为 dynamic 并且它工作正常。

于 2014-06-14T14:45:25.270 回答