我可以将剃刀文件选择为模板文件(RenderBody或RenderSection)吗?

时间:2015-07-07 19:51:33

标签: asp.net-mvc asp.net-mvc-4 razor

如果我有RenderBodyRenderSection,并且我尝试直接使用模板,则会出错:

  

文件"〜/ Views / Home / Form.cshtml"不能直接请求,因为它调用" RenderSection"方法

我有一个包含一些基本字段的表单,但在一个实例中,我想扩展包含更多字段的表单(模型继承自原始字段)。

也许我应该在共享文件中创建基本字段,但如果它不会抛出上面的错误,这将有效...

1 个答案:

答案 0 :(得分:1)

在剃刀中,一切都是一种观点。 “部分视图”只是不使用布局的视图,而更传统的“视图”是视图。 “布局”仅仅是至少调用一个方法RenderBody的视图。 RenderSection同样是特定于布局的。通过调用布局(通过调用RenderBodyRenderSection等方法,它不能再用作“视图”或“部分”。这与Razor处理的方式有关当处理类似于局部的东西时,没有什么可以用RenderBody之类的东西来完成,所以Razor引发了异常。

长短,你不能将布局用作局部,这似乎是你在这里尝试做的。如果没有关于你实际想要实现的目标的更多信息,那么实际上不可能为你提供更多帮助。