在ASP.NET MVC中动态地从数据库生成CSS文件
发布时间:2021-01-12 15:09:41 所属栏目:asp.Net 来源:互联网
导读:我正在寻找一些基本的主题支持我的Web应用程序,用户可以自定义外观的各个部分.这些包括颜色,文字大小,字体,其他基本的东西.我将把它们存储在数据库中,并在每次访问页面时加载它们. 我的问题是,如何根据这些数据库值生成动态CSS文件? 我宁愿做一些可缓存的东
我正在寻找一些基本的主题支持我的Web应用程序,用户可以自定义外观的各个部分.这些包括颜色,文字大小,字体,其他基本的东西.我将把它们存储在数据库中,并在每次访问页面时加载它们. 我的问题是,如何根据这些数据库值生成动态CSS文件? 我宁愿做一些可缓存的东西,但是可扩展,所以如果我想添加更多可编辑的样式,那么这不是一个问题. 解决方法我认为最简单的方法是将如下操作方法添加到控制器中:public class CssController : Controller { public ActionResult GetCss() { StringBuilder sb = new StringBuilder(); Dictionary<string,string> cssValues = new Dictionary<string,string>(); // populate dictionary with values from your database sb.AppendLine(".myDivClass {"); foreach (var entry in cssValues) { sb.AppendLine(entry.Key + ": " + entry.Value); } sb.AppendLine("}"); return Content(sb.ToString(),"text/css"); } } 现在在您的页面中,您可以这样引用: <link href="<%: Url.RouteUrl(new { controller= "CssController",action = "GetCss" }) %>" rel="stylesheet" type="text/css" /> OP编辑:我对该方法进行了一些小的改动,但总的前提依然存在.这是我使用的版本: public class CssController : Controller { public ContentResult GetTheme() { var builder = new StringBuilder(); IDictionary<string,IDictionary<string,string>> css = new Dictionary<string,string>>(); /* Populate css object from the database */ foreach (var selector in css) { builder.Append(selector.Key); builder.Append(" { "); foreach (var entry in selector.Value) { builder.Append(string.Format("{0}: {1}; ",entry.Key,entry.Value)); } builder.AppendLine("}"); } return Content(builder.ToString(),"text/css"); } } (编辑:甘南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 为什么这个路由参数被添加到查询字符串中?
- iis-7 – ASP 3.0应用程序对象
- ASP.Net 2中的上传文件在哪里?
- asp.net-mvc – ASP.net MVC DropDownList预选项目被忽略
- asp.net-core – 使用IdentityServer4生成访问令牌,无需密码
- 从ASP.NET MVC应用程序中的Amazon SES发送电子邮件
- 如何通过邮递员使用JSON对象发布到MVC端点
- asp.net – Windows应用程序与Web应用程序开发
- asp.net-mvc – 是否有一个ASP MVC与JSTL标签等效?
- 对asp.net网站进行基准测试,我可以使用jmeter吗?
推荐文章
站长推荐
- asp.net-mvc – MVC 5 OWIN登录声明和Antiforger
- asp.net-core – .NET Core SDK安装程序无法在Wi
- WPAD查询从ASP.NET调用webservice
- asp.net-mvc-4 – 如何在Kendo UI Grid中扩展页面
- asp.net – (客户端)禁用提交按钮的最佳方法是什
- asp.net 汉字转换拼音及首字母实现代码
- asp.net-mvc – 如何在我自己的自定义助手中使用
- asp.net – MS Chart for .NET预定义调色板颜色列
- asp.net-mvc – Bug? ASP.NET MVC 2中的客户端验
- asp.net-mvc – 从基本控制器继承LINQ-to-SQL数据
热点阅读