在ASP.NET MVC中动态地从数据库生成CSS文件
发布时间:2021-01-12 11:47:50 所属栏目: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实现生成缩略图及给原始图加水印的方法示例
- asp.net-web-api – 可以从Request对象获取当前的MediaType
- asp.net-mvc – 在MVC4中为ViewModel设置默认值的适当方法?
- asp.net – 更改事件和IE8的jQuery问题
- 实体框架 – 使用EF和WebAPI,如何返回一个ViewModel并支持I
- 经典ASP和UTF-8
- asp.net-mvc – 我如何可以渲染局部视图在asp.net mvc 3
- asp.net-mvc – 值不能为空或为空.参数名称:contentPath
- asp.net-mvc – ASP.NET MVC:处理取消按钮的正确方法
- asp.net-mvc – 什么是强类型的视图在ASP.NET MVC
推荐文章
站长推荐
- kendo-ui – 剑道网格刷新(数据绑定两次)
- asp.net-mvc-3 – MVC3,多文件上传,模型绑定
- asp.net-mvc – 输出在剃刀通过变量?
- ASP.NET汉字转拼音 - 输入汉字获取其拼音的具体实
- asp.net-mvc – ASP.net身份在删除外部帐户后停止
- asp.net-mvc-3 – 使用@ Html.Raw有风险吗?
- ASP.Net MVC 4窗体与2提交按钮/操作
- asp.net-mvc – RequireHttps导致Amazon Elastic
- asp.net – Visual Studio 2010图表控件:使Y轴成
- asp.net – 菜单控件生成的js导致Web窗体中的Sys
热点阅读
