gpt4 book ai didi

asp.net - ASP.NET Core Razor View 中的递归

转载 作者:行者123 更新时间:2023-12-04 10:23:53 24 4
gpt4 key购买 nike

我现在有以下代码来编写一个平面项目列表,并带有指向 Controller Action 的链接:

<ul>
@foreach (var item in items)
{
<li>
<a asp-controller="Home" asp-action="Demo" asp-route-itemName="@item.Name">
@item.Name
</a>
</li>
}
</ul>

现在,这必须是递归的。项目还可以包含子项目。对于递归,我需要某种功能。我知道我可以使用 @functions并在.cshtml文件中定义函数。不确定是否仍允许在此处使用带有标签帮助程序的漂亮的内联HTML代码,事实并非如此。另一个选项是.cs文件中的HTML帮助器,这里肯定没有内联HTML。 @helper似乎不再可用。

我还需要其他哪些选项来定义函数并保留Razor提供的内联HTML语法?

最佳答案

将用于渲染注释的代码放在局部 View 中,并通过调用@Html.Partial("comment", comment)进行渲染。

然后在该评论的部分 View 中,您会看到类似

@model Comment

Title: @Model.Title
Message: @Model.Message

@if (Model.ChildComments.Any())
{
<ul>
@foreach (var childComment in Model.ChildComments)
{
<li>
@Html.Partial("comment", childComment)
</li>
}
</ul>
}

这将递归地呈现每个注释及其所有子项(如果有)。

关于asp.net - ASP.NET Core Razor View 中的递归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38606985/

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