javascript - 我正在尝试找到一个解决方案来在我的 MVC ASP.NET 应用程序中构建 CSS 字符串,请考虑一下?

标签 javascript jquery asp.net-mvc asp.net-mvc-3

<分区>

我正在尝试寻找一种解决方案来在我的 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" />

关于javascript - 我正在尝试找到一个解决方案来在我的 MVC ASP.NET 应用程序中构建 CSS 字符串,请考虑一下?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17820403/

相关文章:

javascript - 在 Firefox 扩展中的文件之间共享数据

c# - 如何处理 ASP.NET MVC 中的 "default"异常?

javascript - 推杆解除绑定(bind)不起作用

javascript - 是否可以触发 HTML5 输入 slider 的 oninput 事件?

javascript - div 标签的淡入和淡出

javascript - 在 Internet Explorer 中播放 HTML 音频?

asp.net-mvc - 什么是一个相当容易实现的 Asp.Net MVC Url Rewriter

CSS 模板和 visual studio MVC 元素

javascript - stub 内部功能?

javascript - Jquery 表达式没有 "unhide"<p> </p> 标记