如何使用C#添加html样式容器?

时间:2011-03-19 14:55:52

标签: c# htmlcontrols

我需要在特定页面的部分添加HTML样式容器,如下所示:

<style>
#mycontrol
{
    color:#ff0000;
}
</style>

虽然有很多方法可以做到这一点,但我正在考虑从System.Web.UI.HtmlControls命名空间中实例化一个HtmlControl,并简单地在页面上呈现它。但是我只发现HtmlGenericControl是最接近的候选者 - 我可以使用更合适的控件吗?或者我必须使用其他方法吗?

3 个答案:

答案 0 :(得分:4)

尝试类似

的内容
HtmlGenericControl style = new HtmlGenericControl();
style.TagName = "style";
style.Attributes.Add("type", "text/css");
style.InnerHtml = "body{background-color:#000000;}";
Page.Header.Controls.Add(style); 

HTH

Ivo Stoykov

答案 1 :(得分:1)

你可以试试这个:

    var myStyle =
        new Style { ForeColor = System.Drawing.Color.FromArgb(255, 0, 0) };

    Page.Header.StyleSheet.CreateStyleRule(myStyle, this, ".myStyle");

答案 2 :(得分:0)

您可以使用HtmlGenericControl - 或者如果您愿意,也可以使用Literal。

更好的方法是使用http://msdn.microsoft.com/en-us/library/system.web.ui.page.header.aspx

中的代码将此插入HTML标头中
  protected void Page_Load(object sender, System.EventArgs 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.
      Page.Header.StyleSheet.CreateStyleRule(bodyStyle, null, "body");

      // Add the page title to the header element.
      Page.Header.Title = "HtmlHead Example"; 

  }