ASP.NET MVC - 动态样式表

2024-01-04

我想让用户选择网站的背景颜色并将所选颜色保存在数据库中。当用户登录时,后台将显示正确的颜色。

基于以下website http://www.codeproject.com/KB/aspnet/CSSVariables.aspx,我可以在范围内设置颜色CssHandler.ashx文件。但是,从数据库获取信息的最佳方法是什么?

网站母版页,

<link href="../../Content/CSSHandler.ashx?file=Site.css" rel="stylesheet" type="text/css" />

站点.css,

header
{
    background-color:#BG_COLOR#;
}

CSSHandler.ashx,

public class CssHandler : IHttpHandler
{

    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "text/css";

        // Get the file from the query stirng
        string File = context.Request.QueryString["file"];

        // Find the actual path
        string Path = context.Server.MapPath(File);

        // Limit to only css files
        if (System.IO.Path.GetExtension(Path) != ".css")
            context.Response.End();

        // Make sure file exists
        if (!System.IO.File.Exists(Path))
            context.Response.End();

        // Open the file, read the contents and replace the variables
        using (System.IO.StreamReader css = new System.IO.StreamReader(Path))
        {
            string CSS = css.ReadToEnd();
            CSS = CSS.Replace("#BG_COLOR#","Blue");
            context.Response.Write(CSS);
        }
    }

    public bool IsReusable
    {
        get
        {
            return false;
        }
    }
}

创建多个 CSS 文件并替换 指令在性能方面要好得多。

缺点是您需要维护多个 CSS 文件,这些文件都使用不同的颜色执行相同的操作。所以我要做的是创建一个commonCSS 文件。然后对于每个可能的配置(背景颜色,你有什么),创建它自己的 CSS 文件。 // 假设有合理数量的组合

这样,客户端将进行缓存,而网络服务器将提供静态文件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ASP.NET MVC - 动态样式表 的相关文章

  • 保护 ASP.NET MVC 应用程序中的 ajax 调用的安全

    我有一个基于 ASP NET MVC 的应用程序 它允许根据用户进行不同级别的访问 当前的工作方式是 当用户访问页面时 会根据数据库进行检查以确定用户拥有的权限 然后根据用户拥有的访问级别选择视图 有些用户比其他用户看到更多数据并拥有更多可
  • 如何在VS2010中获取T4来迭代类的属性

    我使用的是 Visual Studio 2010 并且安装了有形的 T4EditorPlusModellingTools 我只是在玩T4 以前从未接触过它 我想做的是查看项目中的一个类 并写出每个属性 谁能给我关于如何构建 tt 文件的绝对
  • 如何直接在 Razor 中从 ASP.NET Identity 获取 UserId() 方法

    我的某些部分的自定义授权存在此问题Views 我不想穿上PartialView 而不是我使用If声明如下 if item CurrentComment Id Guid Parse ViewBag UserId repository IsUs
  • ASP.NET MVC 防伪造令牌不安全

    在没有 ssl 的情况下向服务器发出请求时 我实际上可以看到 MVC3 框架以纯文本形式生成的验证令牌密钥 该密钥存储在名为 RequestVerificationToken Lw 的 cookie 中 在混合安全环境中 实际上可以在向非
  • 将日期参数传递给对 MVC 操作的 ajax 调用的安全方法

    我有一个 MVC 操作 它的参数之一是DateTime如果我通过 17 07 2012 它会抛出一个异常 指出参数为空但不能有空值 但如果我通过01 07 2012它被解析为Jan 07 2012 我将日期传递给 ajax 调用DD MM
  • MVC中无法从ViewBag中提取数据

    我试图在提交之前从 ViewBag 中提取数据并通过 JS 将其插入表单隐藏字段中 这不起作用 在调试时 我发现 JS 表达式的一部分被忽略了 因此 var 被评估为空字符串 这是 JS 部分 它应该执行分配 function setid
  • 在 var 中渲染多个空格

    我试图在我的 var 中添加多个空格 但它被削减为一个空格或者呈现出来 仿佛 我尝试过使用 20 有人还有其他想法吗 ViewBag Subheading 曝光 我希望它看起来像这样 曝光 ViewBag Subheading Bringi
  • DropDownListFor 具有带有 - 属性名称的自定义属性?

    问题 我需要创建一个像这样的下拉列表
  • ASP.NET Core 中的 HttpRuntime.AppDomainAppPath 等效项

    相当于什么HttpRuntime AppDomainAppPath在 NET Core 中 我将一个项目从 ASP NET 移至 core 并且没有包含一些库 例如System Web 这是一个小例子 sb AppendLine New P
  • ASP.NET MVC 框架是否支持异步页面执行?

    我正在学习 ASP NET MVC 框架 来自一些文章 例如this http weblogs asp net stephenwalther archive 2008 03 17 asp net mvc in depth the life
  • $http post 未与 asp.net MVC 模型绑定

    为什么 angularjs http post 的有效负载没有绑定到输入模型 当调用该操作时 模型为空 并且 request params 和 request forms 不显示发送表单的任何迹象 但 fiddler 请求显示负载是通过 J
  • 将 Web API 添加到 asp.net MVC 项目时出现问题(追溯)

    我正在 Visual Studio 2013 中使用 asp net mvc 迈出第一步 但遇到了一个奇怪的问题 我以 MVC 的形式启动了我的项目 并且没有选中 Web API 框来包含核心参考 不过现在我想使用 Web API 功能 我
  • 读取 ASP.NET 中分块传输编码的 http 请求的正文

    J2ME 客户端正在使用分块传输编码发送 HTTP POST 请求 当 ASP NET 在 IIS6 和 WebDev exe server 中 尝试读取请求时 它将 Content Length 设置为 0 我想这没问题 因为加载请求时
  • 如何在 ASP.NET MVC 中获取参数数组作为 GET / POST?

    如何最好地获取数组 item gt value 对作为 GET POST 参数 在 PHP 中 我可以这样做 网址 这得到的参数为 Array a gt Array one gt 100 two gt 200 有什么方法可以在 ASP NE
  • 未找到与 Web API 中的请求 URI 匹配的 HTTP 资源

    我已经像这样配置了我的 WebApiConfig public static void Register HttpConfiguration config config Routes MapHttpRoute name DefaultApi
  • MSMQ,消息被放入队列并消失,但从未被服务合约拾取

    我有一个本地私人队列 我还在 MVC 应用程序内有一个 WCF 服务 它使用 msmqIntegrationBinding 侦听队列 问题是 当消息排队时 服务契约永远不会被调用 但消息很快就会消失 该消息不在有害队列中 这是我声明与队列的
  • 多态 MVC 视图

    因此 我在 ASP NET MVC 中制作一个注册页面 其中有一个字段列表 该列表会根据许多条件 从数据库中获取 而变化 在每次更新数据库时不更改代码的情况下 在视图上显示这些字段的最佳方法是什么 我正在考虑的当前系统是制作一个带有 名称
  • 在 MVC 3 中,我无法让 @Html.DisplayFor 呈现格式化字符串

    我希望这是一个非常简单的问题 尽管经过大量谷歌搜索后 我还没有能够解决这个问题 我正在使用 MVC 3 开发一个购物车网站 并使用代码优先的实体框架 我发送的模型是 Product 对象的列表 每个对象都包含此属性 Required Err
  • NServiceBus 3.2 示例问题

    我正在尝试运行 AsyncPages 的 NServiceBus 示例 看起来很简单 从 NServiceBus com 下载最新版本 执行bat文件来安装先决条件 打开解决方案 Press F5 在文本框中输入数字 当我这样做时 我遇到了
  • 如何在asp.net C#中从http重定向到https并将其设为网站的默认版本

    如何在asp net c 中从http重定向到https 我已经安装了https证书现在我想将https设置为我的网站的默认版本 iam使用windows server 2008 R2 asp net C 4 0 您是否正在寻找这样的东西

随机推荐

  • 存储过程 - 结束日期

    我正在听 Hansel 分钟播客 StackOverflow 使用 ASP NET MVC Jeff Atwood 和他的技术团队 在播客过程中 他们谈论 SQL Server 并说了类似 存储过程的时代已经结束 的话 现在我不是一名 DB
  • cookie 不起作用,apache 到 nginx

    我已将我的网站从 apache 移至 nginx 但现在我遇到的问题是 当我的用户尝试登录网站时 我的网站不想向他们发送 cookie 或启动会话 这是我的登录脚本
  • 字体非常难看

    我正在使用以下代码绘制一个字符串 public Image DrawString String lString Image lImage new Bitmap 128 128 Rectangle rec new Rectangle 0 0
  • 使用相同 glm 的 glm 预测和 geom_smooth() 之间的差异

    我正在尝试使用概率模型重现其他人的工作 不幸的是 我没有太多关于他们的方法的信息 只有他们的起始数据和模型图 当我在 ggplot 中绘制数据并使用拟合线时geom smooth method glm 我能够重现以前的工作 然而 当我尝试使
  • 如何在golang中从AWS S3获取资源URL

    我需要使用 golang 获取资源的公共永久 未签名 URL官方AWS Go SDK https github com aws aws sdk go 在Java AWS S3 SDK中有一个方法称为getResourceUrl http d
  • Internet Explorer 11 在首次加载时忽略 list-style:none

    I am using the Superfish jQuery plugin for my menu In Chrome and in mobile Opera emulator it works fine but in Internet
  • 使用 Moq 验证方法调用

    我对 C 单元测试和学习使用 Moq 相当陌生 下面是我要测试的课程 class MyClass SomeClass someClass public MyClass SomeClass someClass this someClass s
  • 在 python 中搜索字符串匹配后如何从列表中获取下一个元素

    嗨 朋友们 我有一个列表 我正在其中搜索字符串 并且随着搜索的字符串我想获取列表项的下一个元素 下面是示例代码 gt gt gt contents apple fruit vegi leafy gt gt gt info data for
  • 在 xtext 语法中定义原语

    我想使用 xtext 创建一个极其简单的 DSL 具有以下功能 它将有两种基本类型 数字和字符串 用户可以定义自己的类 类由字段声明组成 字段声明将名称与类型相关联 其中类型可以是类或基元 以下是我对 DSL 的尝试 类定义和引用工作正常
  • UWP 应用程序在启动时自动启动

    一切都在标题中 我目前正在寻找一种方法来启动我的UWP app 自动地仅使用 UWP 框架启动 Windows 时 计算机上没有文件操作 该应用程序必须能够在应用商店中共享并在 Windows 启动时打开 这是一件可行的事情吗 如果是这样怎
  • 组织导入 Eclipse 方法

    I need to know which method is called inside eclipse when I press CTRL SHIFT O Organise Imports in order to invoke it af
  • 使用 azurerm 配置 Terraform 子网时出错

    最近我发现我的 AKS 集群拥有一个太小的子网 因此 我尝试添加第二个子网和节点池 现在可以通过 Azure CNI 实现 然后创建一个适当的子网并将其迁移回来 During terraform plan有效响应一切顺利 但是在应用时会抛出
  • Git 在制表符和空格之间进行转换,但只是有时

    首先 我是 git 的新手 就像 如果缓存在暂存区域中命中我 我几乎无法区分缓存和索引 或类似的东西 排除了这一点 我的问题是这样的 假设我想要处理一个编码风格要求缩进空格的项目 但我喜欢制表符 似乎我可以使用清洁和涂抹功能 但有一个问题
  • 在 JS 中新建一行

    你好 我有这个 JS 代码 function myFunction var g var d new Date getDay switch d case 0 g Today it s Sunday break case 1 g Today i
  • 如何发送 FastAPI 响应而不将用户重定向到另一个页面?

    我正在使用 FastAPI 创建一个 API 它接收form data从 HTML 页面处理数据 需要一些时间 并返回一条消息 说明此任务已完成 这是我的后端 from cgi import test from fastapi import
  • 安装 geopandas 的问题

    我正在尝试在我的笔记本电脑 Windows 10 版本 1709 机器 上安装 geopandas 执行 pip install geopandas 命令后 我收到以下消息 command python setup py egg info
  • 为什么jsp改变时tomcat不需要重启

    我一直在使用JSP Servlet很长一段时间 我知道每当我们改变任何东西Servlet我们需要重新启动 Tomcat 服务器才能获取更改 如果 JSP 发生更改 tomcat 不需要重新启动 据我所知JSP页面被转换成Servlet仅当编
  • 如何检测浏览器中的链接复制情况?

    昨天我和一个出租车司机聊天 当他提到我是一名程序员时 他告诉我 几天前他经历了以下情况 在尝试从浏览器地址栏中复制 URL 时 出现一个消息框带有类似的消息 请不要复制此链接 而是注册 我不是网络开发人员 所以这可能是一个蹩脚的问题 但我想
  • Jenkins 插件中的变量替换

    我正在开发一个新的 Jenkins 插件 该插件将在 Jenkins 作业的构建阶段执行 并且要求允许用户在插件的作业配置中指定变量名称 而不是文字值 目的是 当作业执行时 用户指定的变量名称将被替换为与该变量关联的实际值 并且插件将在运行
  • ASP.NET MVC - 动态样式表

    我想让用户选择网站的背景颜色并将所选颜色保存在数据库中 当用户登录时 后台将显示正确的颜色 基于以下website http www codeproject com KB aspnet CSSVariables aspx 我可以在范围内设置