Как добавить контейнер в стиле HTML с использованием C #? - PullRequest
1 голос
/ 19 марта 2011

Мне нужно добавить контейнер в стиле HTML в разделе определенной страницы, например:

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

Хотя есть довольно много способов сделать это, я думал об экземпляре HtmlControl из пространства имен System.Web.UI.HtmlControls и просто отображал его на странице. Однако я обнаружил, что HtmlGenericControl является наиболее подходящим кандидатом - есть ли более подходящий элемент управления, который я могу использовать, или мне нужно использовать другой подход?

Ответы [ 3 ]

4 голосов
/ 19 марта 2011

Попробуйте что-то вроде

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

НТН

Иво Стойков

1 голос
/ 19 марта 2011

Вы можете попробовать это:

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

    Page.Header.StyleSheet.CreateStyleRule(myStyle, this, ".myStyle");
0 голосов
/ 19 марта 2011

Вы можете использовать HtmlGenericControl - или вы можете использовать Literal, если хотите.

Лучше было бы вставить это в ваш HTML-заголовок, используя что-то вроде этого кода из http://msdn.microsoft.com/en-us/library/system.web.ui.page.header.aspx

  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"; 

  }
...