我正在查看stackoverflow中的一篇文章,链接是从ASP.NET MVC中的数据库动态生成CSS文件
在这里,我给出了完整的代码,我想知道很少有人从代码中思考。我认为最简单的方法是将以下操作方法添加到控制器中:
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 和操作方法 GetCss 正在将字符串写入输出流,因此在 href 中不应显示文件名....此代码将如何工作?请指导我理解这个问题......谢谢