1

次のように、特定のページのセクションにHTMLスタイルのコンテナを追加する必要があります。

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

これを行うにはかなりの数の方法がありますが、System.Web.UI.HtmlControls名前空間からHtmlControlをインスタンス化して、ページにレンダリングすることを考えていました。ただし、HtmlGenericControlが最も近い候補であることがわかっただけです。使用できるより適切なコントロールはありますか、それとも別のアプローチを使用する必要がありますか?

4

3 に答える 3

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

イヴォ・ストイコフ

于 2011-03-19T15:08:17.343 に答える
1

あなたはこれを試すことができます:

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

    Page.Header.StyleSheet.CreateStyleRule(myStyle, this, ".myStyle");
于 2011-03-19T15:11:43.633 に答える
0

HtmlGenericControlを使用できます。または、必要に応じてリテラルを使用できます。

より良い方法は、 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"; 

  }
于 2011-03-19T15:12:08.477 に答える