使用文字控件从后面的代码中添加css类

时间:2013-06-17 05:08:27

标签: c# asp.net css

我正在从c#代码后面的aspx页面添加一个css类。 这是我如何四处走动

public void OnPreRenderComplete(EventArgs e)
{
  Page.Header.Controls.Add(new LiteralControl("<link rel=\"stylesheet\" type=\"text/css\" href=\"/Content/Css/Edit.css"+"\" />"));
}

代码按预期工作。 现在的问题是,如果可能的话,我不想使用文字控件来添加类。 有没有办法在不使用文字控制的情况下做同样的事情?

3 个答案:

答案 0 :(得分:3)

试试这个

protected void Page_Init(object sender, System.EventArgs e)
{
    HtmlGenericControl css;
    css = new HtmlGenericControl();
    css.TagName = "style";
    css.Attributes.Add("type", "text/css");
    css.InnerHtml = "@import \"/foobar.css\";";
    Page.Header.Controls.Add(css);
}

答案 1 :(得分:2)

有人已提出这个问题,这可能会对你有所帮助:

HtmlLink link = new HtmlLink();
//Add appropriate attributes
link.Attributes.Add("rel", "stylesheet");
link.Attributes.Add("type", "text/css");
link.Href = "/Resources/CSS/NewStyles.css";
link.Attributes.Add("media", "screen, projection");
//add it to page head section
this.Page.Header.Controls.Add(link);

Adding StyleSheets Programmatically in Asp.Net

答案 2 :(得分:1)

试试这段代码,

HtmlLink link = new HtmlLink();
link.Attributes.Add("rel", "stylesheet");
link.Attributes.Add("type", "text/css");
link.Href = "/Content/Css/Edit.css";
this.Page.Header.Controls.Add(link);