一尘不染

ASP.NET MVC的动态CSS?

css

看起来.NET社区总体上还没有接受CSS编译器。在搜索Google时,我什至没有发现任何与远程相关的东西。

使用ASP.NET
MVC的人有没有想出一种方案来更智能地生成CSS?例如,我很希望能够通过Razor运行我的CSS,或者希望SASS能够移植过来,或者您拥有什么。也许我手上有一个新的副项目:)


阅读 382

收藏
2020-05-16

共1个答案

一尘不染

我希望能够通过Razor运行CSS

什么阻止了你?

public class CssViewResult : PartialViewResult
{
    public override void ExecuteResult(ControllerContext context)
    {
        context.HttpContext.Response.ContentType = "text/css";
        base.ExecuteResult(context);
    }
}

public class HomeController : Controller
{
    public ActionResult Index()
    {
        return new CssViewResult();
    }
}

并在~/Views/Home/Index.cshtml

@{
    var color = "White";
    if (DateTime.Now.Hour > 18 || DateTime.Now.Hour < 8)
    {
        color = "Black";
    }
}
.foo {
    color: @color;
}

现在剩下的就是包括它了:

<link href="@Url.Action("index")" rel="stylesheet" type="text/css" />

您还可以将模板强类型化为视图模型,编写循环,if,包含,…

2020-05-16