gpt4 book ai didi

c# - 无论如何要在 Razor Generator Template 中创建一个递归助手

转载 作者:行者123 更新时间:2023-11-30 13:03:22 25 4
gpt4 key购买 nike

我已经使用 Razor Generator 创建了一个模板.现在我需要一个递归函数来创建一个嵌套的项目列表。我试过 this solution但后来我所有的代码都被标记为错误。

@* Generator: Template *@


@functions
{
public IList<Models.Category> Topics
{
get;
set;
}

}

@helper ShowTree(IList<Models.Category> topics)
{
<ul>
@foreach (var topic in topics)
{
<li>
@topic.Title
@if (topic.Childs.Count > 0)
{
@{
ShowTree(topic.Childs);
}
}
</li>
}
</ul>
}

添加助手后出现的一些不相关的错误:

-Error  3 Invalid expression term ';'
Error 4 Feature 'lambda expression' cannot be used because it is not part of the ISO-2 C# language specification
Error 13 Feature 'implicitly typed local variable' cannot be used because it is not part of the System C# language specification
Error 6 The name 'WriteLiteralTo' does not exist in the current context

但是当我删除辅助方法时,所有这些都消失了!

我是不是做错了什么或者无法在 Razor 模板中创建助手?

最佳答案

下面的代码将起作用。

@helper ShowTree(IList<Models.Category> topics)
{
if (topics != null && topics.Any()) {
<ul>
@foreach (var topic in topics)
{
<li>
@topic.Title
@ShowTree(topic.Childs)
</li>
}
</ul>
}
}

关于c# - 无论如何要在 Razor Generator Template 中创建一个递归助手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13196261/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com