You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core 6中@RenderSection是否适配自定义节名称?附示例咨询

ASP.NET Core 6中@RenderSection支持自定义名称,你的写法完全可行

直接说结论:你给出的代码写法完全可以正常工作,@RenderSection对节的名称没有特殊限制,只要满足两个关键要求就行:

  • 布局页里@RenderSection指定的名称,和视图里@section定义的名称完全一致(注意Razor对节名称是大小写敏感的,比如scriptsNav_menu和ScriptsNav_menu会被当成两个不同的节)
  • 当你把required设为false时,就算视图没定义这个节,程序也不会报错;要是设为true,那所有用这个布局的视图都必须写对应节的内容

你的示例代码验证

布局页代码:

<html>
    <body>
        @RenderBody()
    </body>
    <script type="text/javascript" src="~/lib/layout.js"></script>
    @RenderSection("scriptsNav_menu", required: false)
</html>

视图代码:

@section scriptsNav_menu {
    <script type="text/javascript" src="~/lib/contacts.js"></script>
}
<div class="row">
    <div class="col-md-6 col-md-offset-3">
        <h2>    Contacts</h2>
    </div>
</div>

这段代码运行后,视图里的scriptsNav_menu节会被准确渲染到布局页的对应位置,最终生成的HTML里会同时包含layout.js和contacts.js两个脚本引用,完全符合预期。

额外提醒

  • 节名称可以用下划线、连字符这类特殊字符,只要布局和视图里的名称统一就没问题
  • 要是需要多个自定义节,重复用@RenderSection和对应的@section就行,互相不会冲突

内容的提问来源于stack exchange,提问作者Paolo fernando Flores Rivera

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 07:55:20