自定义控件 嵌入的资源 用应

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

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

代码
   
     
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.UI.WebControls;
using System.Web.UI;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Reflection;

[assembly: WebResource(
" CustomControl.JScript1.js " , " text/javascript " )]
namespace CustomControl

 
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>”

 

代码
   
     
protected override void OnPreRender(EventArgs e)
{
if (Page != null )
{
ClientScriptManager manager
= this .Page.ClientScript;
manager.RegisterClientScriptResource(
typeof (RequiredFieldValidator), " CustomControl.JScript1.js " );
}
base .OnPreRender(e);
}

 

你可能感兴趣的:(自定义控件)