Asp.net 捆绑脚本。在区域视图中渲染不工作

Asp.net 捆绑脚本。在区域视图中渲染不工作,asp.net,asp.net-mvc,asp.net-mvc-4,Asp.net,Asp.net Mvc,Asp.net Mvc 4,我有一个MVC4站点,有一个区域。我设置了两个脚本包,一个用于站点需要的所有常用脚本,另一个用于与区域相关的脚本。对于使用Scripts.Render()引用公共站点包的站点,我有一个公共布局视图。我有一个区域的第二个布局视图,它使用公共布局视图,我想在其中呈现特定于区域的javascript文件,但它不起作用,并且根本不呈现任何文件。如果将束渲染移动到根布局视图,则渲染效果良好 为什么在区域视图中不起作用,以及如何使其起作用?我不希望所有用户都可以使用这些特定于区域的脚本,因为实际上只有一个非

我有一个MVC4站点,有一个区域。我设置了两个脚本包,一个用于站点需要的所有常用脚本,另一个用于与区域相关的脚本。对于使用Scripts.Render()引用公共站点包的站点,我有一个公共布局视图。我有一个区域的第二个布局视图,它使用公共布局视图,我想在其中呈现特定于区域的javascript文件,但它不起作用,并且根本不呈现任何文件。如果将束渲染移动到根布局视图,则渲染效果良好

为什么在区域视图中不起作用,以及如何使其起作用?我不希望所有用户都可以使用这些特定于区域的脚本,因为实际上只有一个非常小的定义子集需要它们

通用布局视图:

@Scripts.Render(@"~/Scripts/all_scripts")
...
@RenderSection("Javascript", required: false)
@section Javascript {
    @Scripts.Render(@"~/Scripts/area_scripts")
    @RenderSection("Javascript", required: false)
}
区域特定视图:

@Scripts.Render(@"~/Scripts/all_scripts")
...
@RenderSection("Javascript", required: false)
@section Javascript {
    @Scripts.Render(@"~/Scripts/area_scripts")
    @RenderSection("Javascript", required: false)
}

我测试了这个,它似乎工作得很好。特定于管理的脚本在管理索引视图中呈现(也在管理布局中工作)。是否正确配置了所有捆绑包/路径

捆绑图

        bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
                    "~/Scripts/jquery-ui-{version}.js"));

        bundles.Add(new ScriptBundle("~/bundles/jqueryadmin").Include(
                    "~/Scripts/Admin/jquery.unobtrusive-ajax-admin*",
                    "~/Scripts/Admin/jquery.validate-admin*"));
_Layout.cshtml

    @Scripts.Render("~/bundles/jqueryui")
    @RenderSection("Javascript", required: false)
    @{
        ViewBag.Title = "_AdminLayout";
        Layout = "~/Views/Shared/_Layout.cshtml";
    }

    <h2>AdminLayout</h2>
    @section Javascript{
        @RenderSection("Javascript", required: false)
    }
_AdminLayout.cshtml

    @Scripts.Render("~/bundles/jqueryui")
    @RenderSection("Javascript", required: false)
    @{
        ViewBag.Title = "_AdminLayout";
        Layout = "~/Views/Shared/_Layout.cshtml";
    }

    <h2>AdminLayout</h2>
    @section Javascript{
        @RenderSection("Javascript", required: false)
    }
@{
ViewBag.Title=“\u AdminLayout”;
Layout=“~/Views/Shared/_Layout.cshtml”;
}
管理布局
@节Javascript{
@RenderSection(“Javascript”,必需:false)
}
AdminHome/Index.cshtml

    @{
        ViewBag.Title = "Index";
        Layout = "~/Areas/Admin/Views/Shared/_AdminLayout.cshtml";
    }

    <h2>Index</h2>


    @section Javascript{
        @Scripts.Render("~/bundles/jqueryadmin")
    }
@{
ViewBag.Title=“Index”;
Layout=“~/Areas/Admin/Views/Shared/_AdminLayout.cshtml”;
}
指数
@节Javascript{
@Scripts.Render(“~/bundles/jqueryadmin”)
}

希望这有帮助

当您将包呈现从AdminHome/Index.cshtml移动到_AdminLayout.cshtml中的javascript部分时,它仍然可以工作吗?是的,它也可以工作。第二个布局是否引用了主布局?