我想发送输出样式块中的CSS信息
protected override void RenderContents(HtmlTextWriter output)
{
...
output.Write("<style> .... ");
}
但是这个区块不能嵌套在div区块中。我必须把它放在头部。我该怎么办呢?还是有另一种方法?
答案 0 :(得分:3)
this.Page.Header.Stylesheet.CreateStyleRule
方法可让您为<head>
添加样式。但是,您可以指定的CSS属性仅限于Style
类支持的属性。 (如果需要其他属性,可以从Style
派生自己的类。)
C#示例:
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
// Create a Style object for the body of the page.
Style bodyStyle = new Style();
bodyStyle.ForeColor = System.Drawing.Color.Blue;
bodyStyle.BackColor = System.Drawing.Color.LightGray;
// Add the style rule named bodyStyle to the header
// of the current page. The rule is for the body HTML element.
this.Page.Header.StyleSheet.CreateStyleRule(bodyStyle, null, "body");
}
答案 1 :(得分:2)
直接从System.Web.UI.Control
派生并覆盖Render
方法,而不是从(我假设的)System.Web.IO.WebControls.WebControl
派生。