向ASP.NET自定义控件中嵌入CSS资源
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.Resources.ServerTabs_CSS.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); }