gpt4 book ai didi

c# - 在 Razor Helper 中使用 @section

转载 作者:太空狗 更新时间:2023-10-29 23:22:51 25 4
gpt4 key购买 nike

我们正在尝试将布局的部分设置为必需但可根据单个页面进行配置。目前,我们使用一个部分来执行此操作。

@section FloatingNav {
<h1>@Model.Name <span class="release-year">@Model.AverageRating</span></h1>
<ul class="sub-nav">
<li class="active"><a href="#episodes">Episodes</a></li>
<li><a href="#episodes">Cast</a></li>
<li>Reviews</li>
<li>Related</li>
</ul>
}

这需要您在每个新页面中设置此 block ,但我想通过一些默认设置和选项来简化此过程,以使用局部 View 进行配置。我希望设置一个像这样的 Razor 助手。

@using System.Web.Mvc.Html
@helper FloatingNav(string name, int rating) {
@section FloatingNav {
<h1>
name <span class="release-year">rating</span></h1>
<ul class="sub-nav">
<li class="active"><a href="#episodes">Episodes</a></li>
<li><a href="#episodes">Cast</a></li>
<li>Reviews</li>
<li>Related</li>
</ul>
}
}
@helper FloatingNav(System.Web.Mvc.HtmlHelper html, string viewName) {
@section FloatingNav {
@html.Partial(viewName)
}
}
@helper FloatingNav(System.Web.Mvc.HtmlHelper html, string viewName, object model) {
@section FloatingNav {
@html.Partial(viewName, model)
}
}

所以要实现的语法应该是这样的

@Layout.FloatingNav(@Model.Name, @Model.AverageRating)

@Layout.FloatingNav("_SimpleNav", @Model)

但问题是 Razor Helpers 似乎不理解部分语法。有没有办法在 Razor Helpers 中包含部分?

最佳答案

我认为这是不可能的。

@helper@section 语法是编译页面的特殊指令。

HelperResult(一个助手)不知道如何定义一个部分。

DefineSection方法属于 WebPageBase

您可能需要从不同的方向来解决这个问题。使用部分 View 而不是助手可能会解决这个问题。

关于c# - 在 Razor Helper 中使用 @section,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22977339/

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