asp.net-mvc - 如何在 asp.net core 3.1 mvc 中使用带有子布局页面的 @section 脚本?
问题描述
我有一个主布局,然后是某些视图的子布局。
在主布局中,我有:
@RenderSection("Scripts", required: false)
子布局引用主布局本身。
但是我一直在有@section Scripts的视图上遇到异常
例外是:
InvalidOperationException:以下部分已定义但尚未由页面在x处呈现
x是子布局页面。
当然,主布局仍应呈现脚本?
我错过了一步吗?
解决方案
可以参考 Layout 的官方文档。A layout can optionally reference one or more sections, by calling RenderSection. Sections provide a way to organize where certain page elements should be placed.
如果你使用
@{
Layout = "_Layout";
}
在您的子布局中,这意味着您可以 @section Scripts
在您的子布局中使用。如果你使用
@{
Layout = "_ChildLayout";
}
在你的其他视图中,这意味着布局是_ChildLayout
而不是_Layout
在视图中。如果你想 @section Scripts
在视图中使用,你需要添加 @RenderSection("Scripts", required: false)
到_ChildLayout
,这是视图的布局。
推荐阅读
- linux-kernel - 在同一个等待队列上等待不同的条件还是为每个条件使用单独的等待队列?
- android - 构建包含依赖 AAR 的 Android 库 AAR
- java - 创建一个实现 View.OnClickListener 的动态 onClick()
- c# - 如何从 libtiff.net TIFFCP.exe 捕获 C# 中的所有异常
- outlook-api - Outlook 休息 api ErrorNonExistentMailbox
- git - git 服务器在哪里存储推送的文件以及在客户端克隆时从哪里获取?
- php - PHP日期,如何防止php日期自动转换为第二天?
- android - Android custom keyboard layouts switching
- javascript - Push one Row from Table 1 to table 2 and Splice the same row from Table 1 and vice-versa
- java - Maven根本不会运行