Umbraco PartialView宏和@helper

Umbraco PartialView宏和@helper,umbraco,umbraco7,Umbraco,Umbraco7,这已经让我疯狂了3个小时了。我们从Umbraco 4升级到Umbraco 7,现在我们的网站菜单被破坏了。我们曾经使用一个脚本遍历节点并创建CSS菜单系统 所以我开始阅读新的东西,我甚至不能让@helper或@functions块工作。脚本现在使用一个PartialView宏,该宏使用一个名为MenuNode的参数,该参数是我要向下遍历的节点 以下是有效的代码: @inherits Umbraco.Web.Macros.PartialViewMacroPage @{ var menuNode1

这已经让我疯狂了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.Web.Macros.PartialViewMacroPage
@{
var menuNode1=string.IsNullOrEmpty((string)Model.MacroParameters[“MenuNode”])?0:Convert.ToInt32(Model.MacroParameters[“MenuNode”]);
}
@菜单项1
只要我尝试添加一个@helper或@functions,如Umbraco中提供的导航PartialView示例中所示,它就会停止工作。这是打破它的原因

@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>
}
@继承Umbraco.Web.Macros.PartialViewMacroPage
@{
var menuNode1=string.IsNullOrEmpty((string)Model.MacroParameters[“MenuNode”])?0:Convert.ToInt32(Model.MacroParameters[“MenuNode”]);
}
@TestHelper(菜单节点1)
@helper TestHelper(var testvalue)
{
@测试值
}

有人能指出我做错了什么吗?

问题解决了。这是因为我在@helper参数列表中使用了var,改为dynamic,效果很好