如何在ASP.NET MVC中从数据库动态生成CSS文件

时间:2013-10-01 11:01:00

标签: asp.net-mvc-3

我正在浏览stackoverflow中的帖子,链接是Dynamically generate CSS file from database in ASP.NET MVC

这里我给出了完整的代码,我想知道很少从代码中思考。 我认为最简单的方法是将以下操作方法添加到控制器中:

public class CssController : Controller
{
    public ContentResult GetTheme()
    {
        var builder = new StringBuilder();
        IDictionary<string, IDictionary<string, string>> css = new Dictionary<string, IDictionary<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");
    }
}

现在,您可以在页面中引用它:

<link href="<%: Url.RouteUrl(new { controller=  "CssController", action = "GetCss" }) %>" rel="stylesheet" type="text/css" />

我的问题是在href中显示的文件名是什么? 控制器CssController&amp;动作方法GetCss正在编写字符串到输出流,所以没有文件名应该显示在href ....这个代码将如何工作?请指导我理解这个问题......谢谢

0 个答案:

没有答案