我正在尝试寻找一种解决方案来在我的 ASP.NET MVC Web 应用程序中构建 CSS 字符串。我希望这是在选择器级别。因此,例如,我可能有一个类“TableFormat”,它可能具有以下 CSS 字符串。
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
font-style: normal;
text-align: left;
background-color: green;
color: White;
与其让我的用户需要了解 CSS,不如让他们选择字体、颜色等的小部件更好,然后小部件将在幕后构建上述字符串。然后我将其存储到数据库中以备将来在 Razor View 中使用。我怀疑它是一种可能作为 JS 小部件存在的东西。但是,除了 DW 等更大的软件包中的专用 CSS 构建器之外,我没有发现任何东西。
所以我的问题是:
您是否知道执行此操作的 Javascript 控件,或者可能在 ASP.NET MVC 世界中提供上述功能的另一个控件。这将映射到文本区域字段。否则我可能需要编写自己的控件。
您需要构建一个后端部分,用户可以在其中选择他们想要的属性并将其存储在数据库中。
然后你可以创建一个新的 Controller
来处理这些自定义值,就像这样
public class CssController : Controller
{
public ActionResult Custom()
{
ViewData["fontFamily"] = "Arial, Helvetica, sans-serif"; //get from database
ViewData["fontSize"] = "12px"; //get from database
ViewData["selector"] = ".TableFormat"; //get from database
return View();
}
}
Custom.cshtml
View 看起来像这样
@{
Layout = null;
Response.ContentType = "text/css";
}
@ViewData["selector"]
{
font-family: @ViewData["fontFamily"];
font-size: @ViewData["fontSize"];
}
如果你导航到/css/custom 你会看到这样的东西
.TableFormat
{
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
}
现在在您想要动态生成 css 的页面中,您可以将 View 作为常规 css 文件包含在内,例如:
<link href="/Css/Custom" rel="stylesheet" />