1

我正在尝试找到一种解决方案来在我的 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 视图中使用。我怀疑这是一种可能作为 JS 小部件存在的东西。但是,除了 DW 等较大包中的专用 CSS 构建器之外,我没有找到任何东西。

所以我的问题是:

您是否知道执行此操作的 Javascript 控件,或者可能在 ASP.NET MVC 世界中提供上述功能的另一个控件。这将映射到 textarea 字段。否则我可能需要编写自己的控件。

4

1 回答 1

4

您需要构建一个后端部分,用户可以在其中选择他们想要的属性并将其存储在数据库中。

你可以创建一个新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视图看起来像这样

@{
     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 的页面中,您可以将视图包含为常规 css 文件,例如:

 <link href="/Css/Custom" rel="stylesheet" />
于 2013-07-23T21:36:07.953 回答