如果我这样做,这对我来说似乎很奇怪
@RenderSection("scripts", required: false)
那么它的效果非常好,但如果我这样做了
@{
RenderSection("scripts", required: false);
}
然后脚本部分将不会被渲染,我会得到"以下部分已经定义但尚未为布局页面呈现"〜/ Views / Shared / _Layout.cshtml" :"脚本"。"错误
任何想法为什么RenderSection / Script.Render不能在代码块中?
编辑: 我试图在代码块中放置一个断点,当页面加载时断点被点击,并且RenderSection方法执行时没有任何异常
答案 0 :(得分:4)
RenderSection
没有写任何东西。相反,此方法返回HelperResult
,它实现IHtmlString
并可以使用其WriteTo
方法呈现给页面。
@{
HelperResult renderSection = RenderSection("scripts", required: false);
renderSection.WriteTo(Output);
}
使用@RenderSection
时会自动将其呈现到页面