.net嵌入资源
近日在写自定义控件牵涉到嵌入资源相关信息,比如图片、js、css等,现记录操作过程中一些细节:
首先加入
[assembly: System.Web.UI.WebResource("WebControls.ControlTest.文件夹.asc.gif", "image/gif")]
[assembly: System.Web.UI.WebResource("WebControls.ControlTest.文件夹.srcipts.js", "application/javascipt")]
[assembly: System.Web.UI.WebResource("WebControls.ControlTest.文件夹.lockheader.css", "text/css")]
namespace WebControls.ControlTest
{
…
}
图片获取:
Image sortImg = new Image();
sortImg.ImageAlign = ImageAlign.AbsMiddle;
sortImg.ImageUrl =this.Page.ClientScript.GetWebResourceUrl(this.GetType(), "WebControls.ControlTest.文件夹.asc.gif");
css:
// 注册所需样式
HtmlLink link = new HtmlLink();
link.Attributes["type"] = "text/css";
link.Attributes["rel"] = "stylesheet";
link.Attributes["href"] = this.Page.ClientScript.GetWebResourceUrl(this.GetType(), "WebControls.ControlTest.文件夹.lockheader.css");
this.Page.Header.Controls.Add(link);
this.HeaderStyle.CssClass = "LockingHeader";
js:
if (!Page.ClientScript.IsClientScriptIncludeRegistered("gvex_script"))//判断是否已经注册
{
Page.ClientScript.RegisterClientScriptInclude("gvex_script",
Page.ClientScript.GetWebResourceUrl(this.GetType(), "WebControls.ControlTest.文件夹.srcipts.js"));
}
其中函数
public void RegisterClientScriptInclude (Type type,string key,string url)
的参数解释为:
- type:要注册的客户端脚本包含的类型。
- key:要注册的客户端脚本包含的键。
- url:要注册的客户端脚本包含的 URL。
最后一点细节:须把嵌入的资源“生成操作”属性改为:嵌入的资源。