@inherits umbraco.MacroEngines.DynamicNodeContext
@using System.Collections;
@{ List<string> qa = new List<string>(); } //this is not defined in the recursive helper below
@helper traverseFirst(dynamic node){
var items = node.Children.Where("umbracoNaviHide != true");
foreach (var item in items) {
foreach(var subItem in item.Descendants()) {
if(subItem.Id == Model.Id)
{
qa.Add();
break;
}
}
@traverseFirst(item)
}
}
@traverseFirst(@Model.AncestorOrSelf("Book"))
无法在递归助手中访问变量 a。有没有解决的办法?
在 a 中定义变量@functions
部分。
正常的@{
将您的代码放在某个方法体中。使用@functions
定义类成员。
@functions{ List<string> qa = new List<string>(); }
关于这个问题的更多阅读:SLAks 解剖剃刀 http://blog.slaks.net/2011/02/dissecting-razor-part-6-function-blocks.html series.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)