从自定义asp网络服务器控件发送动态css

时间:2012-11-05 23:26:39

标签: asp.net css custom-controls

如何根据用户设置从自定义控件渲染动态css?我读过this文章,但这不是我想要的.Style类没有得到所有的css属性,直接写样式也不是很好的方法。

2 个答案:

答案 0 :(得分:3)

如果您的样式基于每个用户进行更改,并且您希望完全控制渲染的内容,那么自己编写样式是一种非常好的方法。

这是你可以做到的:

    protected override void AddAttributesToRender(System.Web.UI.HtmlTextWriter writer)
    {
        var styleStr = "{color:red}";
        writer.AddAttribute(HtmlTextWriterAttribute.Name, "style");
        writer.AddAttribute(HtmlTextWriterAttribute.Value, styleStr);
        base.AddAttributesToRender(writer);
    }

答案 1 :(得分:2)

如果您想将样式应用于一个元素,可以执行以下操作:

 protected override void OnPreRender(EventArgs e)
    {
        ...
        Page.Header.Controls.Add(new LiteralControl("<style type='text/css'> .x { border-style:solid }</style>"));
    }