通过将js文件作为资源嵌入Dll中,可以避免在cs代码中写入js,以此更好的分离程序代码与javascript代码,这样不但可以降低部署的复杂度,更可以带来易于维护的好处。

详细步骤如下:

1.
 将此要嵌入的js文件,设置成为嵌入的资源。Ps: 此时生成的dll中,此js文件的名称会被vs更改为默认空间+相对跟路径+自身文件名称。所以在代码中引用此js的时候,要以上面的名称为标准.

2.
 在程序集的默认命名空间上,冠上属性:
[assembly:WebResource("FileName.js""application/x-javascript")]。注意这里的filename就是上面提到的名称。

3.
 在控件(包括control,及其所有的子类)中,重写其OnPreRender,OnInit方法,在方法中注册资源文件。
   3.1.Page.ClientScript.RegisterClientScriptResource(Type t,Stringresources) 注册资源文件,其中第一个属性Type,应为此控件的类型,第二个位上面提到的名称。
   3.2.
若需要在页面加载时调用函数,可使用函数
Page.ClientScript.RegisterStartupScript(Typet ,String key,String script)
Type与上类似,key.,script为加载时要运行的代码,可调用上面注册的js文件里的函数.写法为<script>startup()</script>


至此就可以运行代码,查看效果了^-^

相关文章: