我正在渲染Razor模板,并希望定义部分,我可以在所有包含的页面中添加内容(即javascripts)。 但是,到目前为止,所有部分都是空的。如果我将它们设置为required:true,我会收到该部分尚未定义的错误。为了测试这一点,我将以下代码添加到我的主模板文件中:
@section foo {
<p>Hello</p>
}
@RenderSection("foo", true)
这些线条彼此叠加。模板的呈现失败,并显示消息Section not defined: "foo".
鉴于该部分明确定义,我是否可能会错过项目配置或控制器中的某些内容以启用对部分的支持?模板中的所有其他@commands(如@RenderBody()
)似乎工作正常,因此显然支持Razor命令。
答案 0 :(得分:9)
看起来您正在定义您的部分并尝试从共享布局中呈现它。据我了解,您需要在共享布局中调用RenderSection,然后定义使用该共享布局的视图部分。
来自Scott Gu的链接对于各个部分来说是一个非常好的参考: