我有一个带有区域的 MVC 4 站点。我设置了两个脚本包,一个用于站点需要的所有常见脚本,另一个用于与区域相关的脚本。对于使用 Scripts.Render() 引用公共站点包的站点,我有一个通用布局视图。我有该区域的第二个布局视图,它使用通用布局视图,我想在其中呈现特定于区域的 javascript 文件,但它不起作用并且根本没有呈现任何文件。如果我将包渲染移动到根布局视图,它会渲染得很好。
为什么这在区域视图中不起作用以及如何使它起作用?我宁愿不让所有用户都可以使用这些特定于区域的脚本,因为实际上只有一个非常小的、已定义的子集需要它们。
通用布局视图:
@Scripts.Render(@"~/Scripts/all_scripts")
...
@RenderSection("Javascript", required: false)
区域特定视图:
@section Javascript {
@Scripts.Render(@"~/Scripts/area_scripts")
@RenderSection("Javascript", required: false)
}