如果我有RenderBody
或RenderSection
,并且我尝试直接使用模板,则会出错:
文件"〜/ Views / Home / Form.cshtml"不能直接请求,因为它调用" RenderSection"方法
我有一个包含一些基本字段的表单,但在一个实例中,我想扩展包含更多字段的表单(模型继承自原始字段)。
也许我应该在共享文件中创建基本字段,但如果它不会抛出上面的错误,这将有效...
答案 0 :(得分:1)
在剃刀中,一切都是一种观点。 “部分视图”只是不使用布局的视图,而更传统的“视图”是视图。 “布局”仅仅是至少调用一个方法RenderBody
的视图。 RenderSection
同样是特定于布局的。通过调用布局(通过调用RenderBody
,RenderSection
等方法,它不能再用作“视图”或“部分”。这与Razor处理的方式有关当处理类似于局部的东西时,没有什么可以用RenderBody
之类的东西来完成,所以Razor引发了异常。
长短,你不能将布局用作局部,这似乎是你在这里尝试做的。如果没有关于你实际想要实现的目标的更多信息,那么实际上不可能为你提供更多帮助。