Umbraco PartialView宏和@helper

时间:2014-06-13 03:46:19

标签: umbraco umbraco7

这让我疯狂了大约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>
}

有人能指出我做错了吗?

1 个答案:

答案 0 :(得分:1)

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