gpt4 book ai didi

css - 如何在 MVC5 中切换 _Layout View

转载 作者:太空宇宙 更新时间:2023-11-04 13:00:13 25 4
gpt4 key购买 nike

我有一个包含不同颜色主题的表格,我已经定义了 _Layouts 和 css,我已将 CSS 应用到他们尊重的布局中。

例如_LayoutBlue_LayoutGreen

我想使用 switch 语句检查,当用户在呈现 View 之前登录时,它应该检查用户在创建帐户时选择的主题颜色 ID 并应用于用户 View

问题是,我是否可以从登录 Controller 执行此操作,以便根据数据库表中的用户主题颜色来控制渲染布局

例如是

    switch(ThemeID)
{
case 1:
Layout = "~/Views/Shared/_BlueLayout.cshtml";
break;
case 2:
Layout = "~/Views/Shared/_MagentaLayout.cshtml";
break;
default:
Layout = "~/Views/Shared/_Layout.cshtml";
break;
}

最佳答案

是的,你在问题中展示的方式,我们也可以这样做,其他简单有效的方法是:

我们可以通过使用以下代码从 ActionResult 返回布局来覆盖默认布局呈现:

public ActionResult Index()
{
RegisterModel model = new RegisterModel();
var layout="";
//Just check your conditions here instead in view and return a appropriate layout from here
layout="~/Views/Shared/_BlueLayout.cshtml";
return View("Index", layout , model);
}

或者不是在 View 中应用条件,而是将条件放在 Controller 中:

Controller :

public ActionResult Index()
{
RegisterModel model = new RegisterModel();
//Just check your conditions here instead in view and put appropriate layout in Viewbag from here
Viewbag.layout="~/Views/Shared/_BlueLayout.cshtml";
return View("Index", model);
}

查看:

@{
Layout = Viewbag.layout;
}

关于css - 如何在 MVC5 中切换 _Layout View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25510465/

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