闲云博客

关注互联网科技,记录编程点滴

在Custom Control中添加CSS

| 0 comments

在自定义ASP.NET server 控件中,怎么添加CSS资源文件或添加CSS的style text呢?

一、先来看看怎么添加内嵌的CSS文件

1.  把CSS文件以内嵌资源的形式添加到项目中并定义WebResource,本文主题不是这个,所以这里不会叙述怎么添加。

2.  在override的OnPreRender或者OnInit事件中,把HtmlLink指向CSS文件并添加到页面的Header中, 添加ID然后判断是否已经输出CSS,防止重复输出。

if (this.Page.Header.FindControl("timePickerCss") == null)
{
      string cssUrl = this.Page.ClientScript.GetWebResourceUrl(this.GetType(), "JY.Lib.Extension.CustomControls.Resource.Css.timePicker.css");
      HtmlLink cssLink = new HtmlLink();
      cssLink.Href = cssUrl;
      cssLink.Attributes.Add("rel", "stylesheet");
      cssLink.Attributes.Add("type", "text/css");
      cssLink.ID = "timePickerCss";
      this.Page.Header.Controls.Add(cssLink);
}

二、然后我们再看看怎么直接添加CSS

HtmlGenericControl style = (HtmlGenericControl)this.Page.Header.FindControl("watermarkCssStyle");
     if (style == null)
     {
           style = new HtmlGenericControl("style");
           style.Attributes.Add("type", "text/css");
           style.ID = "watermarkCssStyle";
           style.InnerText = ".watermark {color: #999 !important; }";

           this.Page.Header.Controls.Add(style);
       }

三、还有一种方法, 下面这种除了CSS会输出到body标签下而不是header标签之外,还是挺好的

string css = "";
this.Page.ClientScript.RegisterClientScriptBlock(typeof(WatermarkTextBox), "watermarkCssStyle", css, false);

 

原创文章,转载请注明: 转载自闲云博客

本文链接地址: 在Custom Control中添加CSS

Author: Jian Yun

Hi,我是闲云,感谢您阅读我的博客。我是一个微软ASP.NET方面的开发者,写写博客分享下互联网科技方面感兴趣的事和记录自己程序开发中的点点滴滴。 ------“立志难也,不在胜人,在自胜”

发表评论

Required fields are marked *.