How to return dynamic CSS with ASP.NET MVC?
.net, asp.net-mvc, c#, css
Solution
You need to return a `FileResult` or `ContentResult` with a content type of `text/css`.
For example:
return Content(cssText, "text/css");
return File(cssStream, "text/css");
EDIT: You can make a `Css` helper method in your controller:
protected ContentResult Css(string cssText) { return Content(cssText, "text/css"); }
protected FileResult Css(Stream cssStream) { return File(cssStream, "text/css"); }
Problem
I need a solution that lets me accomplish the following: - Returning CSS that is dynamically generated by an action method - Choosing CSS file depending on request parameter or cookie - Using a tool to combine and compress (minify) CSS I am currently considering why there is no CssResult in ASP.NET MVC, and whether there might be a reason for its absence. Would creating a custom ActionResult not be the best way to go about this? Is there some other way that I've overlooked to do what I need? Any other suggestions or hints that might be relevant before I embark on this task will also be appreciated :)