使用@RenderSection("SectionName", false)
,当Intellisense已经声明默认值为false时,为什么我需要将第二个参数显式设置为false
?
更新
答案 0 :(得分:15)
RenderSection
方法的RTM签名是:
public HelperResult RenderSection(string name, bool required)
还存在一个如下所示的覆盖:
public HelperResult RenderSection(string name) {
return RenderSection(name, required: true);
}
请注意,此方法不再使用默认参数,而是选择显式替换。
这个方法的签名在MVC 3的开发过程中改变了两次,这解释了为什么你可能会看到令人困惑的例子。
编辑:MVC 3 RTM文档似乎不正确,错误地引用了required
参数的默认值。
答案 1 :(得分:1)
它必须是真的。你说该部分是可选的。
@RenderSection(“SectionName”,true)
或 @RenderSection(“SectionName”,可选:true)