如果我这样做,这对我来说似乎很奇怪
@RenderSection("scripts", required: false)
那就完美了,但是如果我这样做
@{
RenderSection("scripts", required: false);
}
那么脚本部分将无法呈现,而我将得到“以下部分已定义,但尚未为布局页面“〜/Views/Shared/_Layout.cshtml”呈现:“脚本”。”错误
知道为什么RenderSection/Script.Render不能在代码块中吗?
编辑:
我试图在代码块中放置一个断点,并且在页面加载时该断点被命中,并且RenderSection方法的执行没有任何异常
最佳答案
RenderSection
不写任何内容。相反,此方法返回实现HelperResult
的IHtmlString
,并可以使用其WriteTo
方法将其呈现到页面上。
@{
HelperResult renderSection = RenderSection("scripts", required: false);
renderSection.WriteTo(Output);
}
当使用
@RenderSection
时,它会自动将其呈现到页面上