【问题标题】:Set css Color From Database in Asp.net [closed]在 Asp.net 中从数据库中设置 css 颜色 [关闭]
【发布时间】:2016-04-11 01:08:50
【问题描述】:

是否可以动态设置背景颜色? 我在数据库中设置了颜色。然后在 css 中从数据库中读取颜色。

实际上,我正在制作一个具有蓝色按钮、蓝色菜单等的 web 应用程序。我已经从样式表中设置了 css 颜色并将其加载到标题中。现在我无法将数据从我的 cshtml 文件传递​​到 css 文件。那么如何设置颜色。请给我一条路,让我可以走这条路,实现我的目标。

【问题讨论】:

  • 你使用的是c#还是vb.net?只需更改类中的背景颜色即可。
  • 是的,有可能。如果您显示一些存根代码,我们可以提供具体指导。
  • 实际上我正在制作一个具有蓝色按钮、蓝色菜单等的 webapp。我已经从样式表中设置了 css 颜色并将其加载到标题中。现在我无法将数据从我的 cshtml 文件传递​​到 css 文件。那么如何设置颜色。请给我一条路,让我可以走这条路,实现我的目标。

标签: css asp.net asp.net-mvc asp.net-mvc-5


【解决方案1】:

您可以编写一个动作过滤器来从数据库中获取您的颜色,将这些值传递给您使用它来覆盖您的一些 css 样式定义的布局。

public class MyColors : ActionFilterAttribute
{
  public override void OnActionExecuted(ActionExecutedContext filterContext)
  {
    var primarColor = "red";
    var vb=filterContext.Controller.ViewBag;
    vb.PrimaryColor = primarColor;
    base.OnActionExecuted(filterContext);
  }
}

并全局注册此过滤器,使其适用于整个应用程序。

protected void Application_Start()
{
  AreaRegistration.RegisterAllAreas();
  GlobalConfiguration.Configure(WebApiConfig.Register);

  GlobalFilters.Filters.Add(new MyColors());

  FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
  RouteConfig.RegisterRoutes(RouteTable.Routes);
  BundleConfig.RegisterBundles(BundleTable.Bundles);
}`

在你的布局中。

<head>
  @Styles.Render("~/Content/css")
    <style>
      @ { 
        var primary = String.IsNullOrEmpty(ViewBag.PrimaryColor) ? "black": ViewBag.PrimaryColor; 
       }
       h1 {
         color: @primary;
       }
     </style>
</head>

【讨论】:

  • 感谢您的建议
【解决方案2】:

在您的 .css 文件中定义两种样式:

.blue-button{
background: #00f;
}

.red-button{
background: #f00;
}

从您的数据库中获取属性并将其保存在 viewbag 中(或模型本身,没关系)。 在您看来,您可以这样定义按钮:

 <input type="submit" class="@(ViewBag.IsThisBlue ? "blue-button" : "red-button")" value="Click Me">

编辑:我刚刚意识到您实际上将颜色保存在数据库中。由于您不能直接将其传递给 css,因此您可以在输入本身上使用样式属性,就像我上面使用类属性一样。

【讨论】:

    猜你喜欢
    • 2013-05-04
    • 2013-12-30
    • 2016-04-20
    • 2023-03-18
    • 1970-01-01
    • 2012-11-17
    • 2020-10-06
    • 1970-01-01
    • 2018-06-03
    相关资源
    最近更新 更多