ここで述べたように、動的CSSソリューションに基づいています:
継承された PartialViewResult にはモデルのゲッターしかないことに気付きました.HttpContext.Response.ContentType = "text/css"でこの機能を実装できる別の方法はありますか?
ここで述べたように、動的CSSソリューションに基づいています:
継承された PartialViewResult にはモデルのゲッターしかないことに気付きました.HttpContext.Response.ContentType = "text/css"でこの機能を実装できる別の方法はありますか?
モデルを取るように、カスタム アクションの結果を単純に適応させます。
public class CssViewResult : PartialViewResult
{
public CssViewResult(object model)
{
ViewData = new ViewDataDictionary(model);
}
public override void ExecuteResult(ControllerContext context)
{
context.HttpContext.Response.ContentType = "text/css";
base.ExecuteResult(context);
}
}
その後:
public ActionResult Css()
{
MyViewModel model = ...
return new CssViewResult(model);
}
そしてビューで:
@model MyViewModel
@{
var color = "White";
if (Model.Hour > 18 || Model.Hour < 8)
{
color = "Black";
}
}
.foo {
color: @color;
}