Step1:于【项目解决方案】中右键新建【ASP.NET服务器控件】项目

Step2:于项目中添加【Resources】文件夹,于该文件夹下添加【CSS文件】

Step3:单击该CSS文件,并将【属性】栏中的【生成操作】改为【嵌入的资源】

Step4:新建【ASP.NET自定义控件】,于namespace声明前添加如下特性:

[assembly:WebResource("MyControl.Resouces.MyCSSFile.css","text/css")]

namespace MyControl

{

P.S.[assembly:WebResource("namespaceName.Directories.FileName.Extention","文件的MIME类型")]

Page.ClientScript.GetWebResourceUrl()方法返回该CSS文件路径

Step5:向宿主页面注册此CSS文件:

     protected override void OnPreRender(EventArgs e)
        {
            if (Page.Header.FindControl("ServerTabsCSS") == null)//防止同一页面多个该自定义控件向宿主页面添加相同的<link>标记
            {
                HtmlLink css = new HtmlLink();
                css.ID = "ServerTabsCSS";
                css.Href = Page.ClientScript.GetWebResourceUrl(this.GetType(), "MyControl.Resouces.MyCSSFile.css");
                css.Attributes.Add("rel", "stylesheet");
                css.Attributes.Add("type", "text/css");
 
                Page.Header.Controls.Add(css);
            }//<link type="text/css" rel="stylesheet" href="......css"/>
         
 
            base.OnPreRender(e);
        }

 技术交流请加群517867216 入群验证请带上程序员的特点。

posted on 2013-06-21 10:58  Johnliu  阅读(506)  评论(0编辑  收藏  举报