Razor には、値がない場合に既定値を示すコードを含むセクションが定義されたマスター ページがあります。
<html>
<head><title>Title</title></head>
<body>
@if (IsSectionDefined("optionalSection"))
{
@RenderSection("optionalSection", required: false)
}
else
{
<div>Some default content</div>
}
</body>
</html>
この上に、パススルー セクション定義を作成するネストされたマスター ページもあります。
@section optionalSection {
@RenderSection("optionalSection", required: false)
}
私が直面している問題は、このネストされたマスター ページを使用すると、マスター ページがセクションが常に定義されていると見なすことです。これにより、else 部分が表示されることはありません。ネストマスターのセクションの名前を変更してマスターで確認しようと思ったのですが、ネストマスターが多くて、そのパターンでマスターに不要な爆発が起きてしまう気がしました。どうすればこれを機能させることができますか?