如果把js,css文件内嵌到自定义控件

来源:互联网 发布:tcpip网络编程 pdf 编辑:程序博客网 时间:2024/04/29 15:29

写一个自定义控件经常需要用到一些JavaScript脚本,

如果只是少量的脚本,可以在类里直接拼,但是对于大段的脚本就需要js文件统一管理了。

如果不把这个js文件做成内嵌的文件,这样在使用这个自定义控件的时候必须把这个js文件放到指定目录,

也就是说这个dll必须带一个js文件。

如果把js嵌入到dll就不需要这样了

 

在工程里选择js文件,选择属性,build Action 选择 embeded Resource(内嵌资源),这样就可以把js文件编译到dll里了

在使用的时候,在引用的位置加如下

[assembly: WebResource("RPEMS.WebControls.Calendar.js", "application/x-javascript")]

REEMS.WebControls 是程序的命名控件,Calendar.js是js文件名

 

然后再CreateChildControls函数里加上

Page.ClientScript.RegisterClientScriptResource(this.GetType(), "RPEMS.WebControls.Calendar.js");
这样就可以把这个js文件和aspx页面一样使用了。

 

同样的如果想把css文件放到dll也可以这样

Page.ClientScript.RegisterClientScriptBlock(GetType(), this.ClientID + "Padding", ","<link href=\"" + cssFileName + "\" rel=\"stylesheet\" type=\"text/css\">");

如果只需要简单的css也可以写成如下,在控件的如 TextBox txt = new TextBox();txt.cssClass="PaddingLeft";

Page.ClientScript.RegisterClientScriptBlock(GetType(), this.ClientID + "Padding", "<style type='text/css'>.paddingLeft{padding-left: 10px;}</style>");

 

原创粉丝点击