asp .net中的“动态”CSS样式?

时间:2011-12-02 11:45:36

标签: asp.net .net css c#-4.0

我在asp .net页面的内容占位符中有以下内容:

<style type="text/css">

    #sortable1 { list-style-type: none; margin: 0; padding: 0; zoom: 1; }
    #sortable1 li { margin: 3px; padding: 3px; width: 90%; border: 1px solid #000000; background: #000000; color: #FFFFFF; }
    #sortable1 li.highlightWorkflow { background: #FFFF00; color: #000000; }

</style>

理想情况下,我希望将#00000替换为页面上的值,可能是隐藏字段。这可能吗?

3 个答案:

答案 0 :(得分:2)

您无法直接从asp.net修改您的CSS文件,但您可以通过javascript库(如jQuery)进行创作。

理论上你会使用以下伪代码

var colorCode = getColorCodeFromHiddenField();
$(field).prop(property, colorCode)

答案 1 :(得分:1)

如果您的taget能够在设计时修改颜色,我建议您看看Less Less Css(http://lesscss.org/)。这使您可以将颜色代码存储在变量中,因此您只需更改一次值。

但是,如果您需要一种方法让用户更改值,那么@ Jan的建议会更好。

答案 2 :(得分:0)

如果您希望在客户端进行此操作,则可以轻松使用JQueryJavaScript,如上所述。

如果要在服务器端执行此操作,可以为需要更改样式的元素分配id值,并执行以下操作:

yourID.Style.Add("color", something);

yourID.Attributes.Add("style", "color: yourcolor;");