gpt4 book ai didi

asp.net-mvc - 是否可以在MVC4中基于路由使用不同的布局?

转载 作者:行者123 更新时间:2023-12-04 13:33:33 25 4
gpt4 key购买 nike

我的网站有一个单独的部分(路线),我想使用其他布局/css等。

因此,当用户访问我网站的主要部分时,他们将获得默认布局。
但是,当他们登录并进入商店时,商店部分(路线)将使用不同的布局/css。

所以...

  • www.blahblahblah.com/
  • www.blahblahblah.com/admin/
  • www.blahblahblah.com/home/contactus/

  • ...全部使用默认的_Layout

    但...
  • www.blahblahblah.com/store/
  • www.blahblahblah.com/store/admin/

  • ...使用_LayoutStore

    我已经根据此处( http://forums.asp.net/t/1653362.aspx/1)和此处( How to use multiple Layout in MVC 3?)的角色完成了此操作,但是我不想这样做。我需要根据客户选择的路线选择布局(也就是查看他们在里面)。

    预先感谢您提供的所有帮助。

    最佳答案

    您是否看过在任何给定的 View 文件夹中使用_ViewStart.cshtml文件?

    如果这不是您要找的东西,并且您希望路由中的值确定要使用的布局,则可以尝试创建一些帮助方法,该方法将使布局返回使用状态:

        public static class LayoutHelper
    {
    public static string GetLayout(RouteData data, string defaultLayout = "")
    {
    if (data.Values["action"] == "edit")
    return "~/views/shared/_AdminLayout.cshtml";

    return defaultLayout;
    }
    }

    然后,您可以从“ View ”中调用它,如下所示:
    @{
    Layout = LayoutHelper.GetLayout(
    Request.RequestContext.RouteData,
    "~/views/shared/_layout.cshtml");
    }

    但是在我看来,如果您在 _ViewStart.cshtml文件夹中创建了包含商店布局的 Views/Store文件,那将是不错的选择。

    关于asp.net-mvc - 是否可以在MVC4中基于路由使用不同的布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12114792/

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