NOt*_*Dev 4 css asp.net-mvc helpers
我喜欢HTML助手的想法,它允许我不为常见元素编写所有HTML,同时仍然让我完全控制,保留模型 - 视图分离并且可以强类型化.
我想知道是否有可能以相同的方式生成CSS样式表或样式定义 - 在视图标记中使用帮助程序?理想情况下,我希望根据一些面向对象的规则和定义生成一些CSS.
我找不到任何能提供样式表压缩和合并的解决方案.
简单的方法是使用自定义视图结果:
public class CssViewResult : PartialViewResult
{
private readonly object _model;
public CssViewResult(object model)
{
_model = model;
}
public override void ExecuteResult(ControllerContext context)
{
this.ViewData.Model = _model;
base.ExecuteResult(context);
context.HttpContext.Response.ContentType = "text/css";
}
}
Run Code Online (Sandbox Code Playgroud)
然后是一个简单的控制器动作:
public ActionResult MyCss()
{
SomeModel model = ...
return new CssViewResult(model);
}
Run Code Online (Sandbox Code Playgroud)
并在相应的MyCss.cshtml视图中:
@model AppName.Models.SomeModel
.foo {
background-color: @Model.SomeColor;
}
Run Code Online (Sandbox Code Playgroud)
然后:
<link href="@Url.Action("MyCss", "SomeController")" rel="stylesheet" type="text/css" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
414 次 |
| 最近记录: |