gpt4 book ai didi

asp.net-mvc-3 - MVC 3 - 嵌套布局 - 部分不会在区域中呈现

转载 作者:行者123 更新时间:2023-12-01 21:37:21 24 4
gpt4 key购买 nike

问题:

鉴于此嵌套布局结构:

~/Views/Shared/_layoutBase.cshtml~/Views/Shared/_layout.cshtml

Where _layoutBase.cshtml is the layout for _layout.cshtml.

Any sections defined in the layout files render their content fine in pages under ~/Views/...

However, for views in an area, the sections are never rendered.

Setup:

_layoutBase:

<script type="text/javascript">
@RenderSection("footerScripts", false)
</script>
</body>
</html>

_layout.cshtml:

@section footerScripts{
@RenderSection("footerScripts", false)
}

“内容” View :

@section footerScripts{
$(function () {
SetFocusOnForm("CaptchaCode", "NextButton");
});
}

footerScripts 部分的内容永远不会呈现在区域的 View 中。它确实在 ~/Views 文件夹下的 View 中呈现。

区域_ViewStart.cshtml:

@{
Layout = "~/Views/Shared/_Layout.cshtml";
}

问题:

你能看出什么问题吗?!

最佳答案

我无法重现该问题。这是我的设置和步骤。

  1. 使用 Internet 应用程序模板创建新的 ASP.NET MVC 3 应用程序
  2. 添加~/Views/Shared/_LayoutBase.cshtml:

    <!DOCTYPE html>
    <html>
    <body>
    @RenderBody()
    <script type="text/javascript">
    @RenderSection("footerScripts", false)
    </script>
    </body>
    </html>
  3. ~/Views/Shared/_Layout.cshtml 的内容替换为:

    @{
    Layout = "~/Views/Shared/_LayoutBase.cshtml";
    }

    @section footerScripts{
    @RenderSection("footerScripts", false)
    }

    @RenderBody()
  4. 右键单击项目并添加管理区域

  5. 向此管理区域添加一个 TestController 并添加相应的 ~/Areas/Admin/Views/Test/Index.cshtml View :

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

    <h2>Index</h2>

    @section footerScripts{
    alert('ok');
    }
  6. 运行应用程序并导航至 /admin/test/index
  7. 显示提醒

关于asp.net-mvc-3 - MVC 3 - 嵌套布局 - 部分不会在区域中呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7892934/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com