4

我正在渲染 Razor 模板并希望定义部分,我可以在所有包含的页面(即 javascripts)中添加内容。但是,到目前为止,所有部分都显示为空。如果我将它们设置为 required: true,我会收到该部分尚未定义的错误。为了测试这一点,我将以下代码添加到我的主模板文件中:

@section foo {
    <p>Hello</p>    
}
@RenderSection("foo", true)

这些线正好在彼此之上。模板的呈现失败并显示消息Section not defined: "foo".

鉴于该部分已明确定义,我是否可能错过了项目配置或控制器中的某些内容以启用对部分的支持?模板内的所有其他 @commands(如@RenderBody())似乎都可以正常工作,因此显然存在对 Razor 命令的一些支持。

4

1 回答 1

9

看起来您正在定义您的部分并尝试从您的共享布局中呈现它。据我了解,您需要在共享布局中调用 RenderSection,然后将部分定义为使用该共享布局的视图。

Scott Gu 的这个链接是一个很好的章节参考:

MVC 3 布局和部分

于 2013-08-12T15:57:11.437 回答