您的位置:首页 > Web前端 > JavaScript

在程序集中嵌入JS脚本文件

2011-01-14 10:16 295 查看
列举一下在程序集中嵌入脚本文件的几种方式:

1、this.Page.ClientScript.RegisterClientScriptBlock:注册脚本
2、this.Page.ClientScript.RegisterClientScriptInclude:引用脚本(URL地址)
3、this.Page.ClientScript.RegisterClientScriptResource:引用名称(比如:MyAssembly.Js.MyJs.js)

下面我来讲讲用的比较的多:this.Page.ClientScript.RegisterClientScriptResource,在程序集中嵌入脚本文件。

第一步、创建程序集:MyAssembly

第二步、创建JS文件:存放目录为当前程序集下的Js/MyJs.js

第三步、右键MyJs.js点属性,设置“生成操作”为“嵌入的资源”。



第四步、创建一个用户控件:MyControl,用于注册Js

第五步、重写MyControl的OnPreRender事件(不是必须的,可以换其他的加载事件)

/// <summary>
/// 注册验证脚本文件
/// </summary>
/// <param name="e"></param>
protected override void OnPreRender(EventArgs e)
{
this.Page.ClientScript.RegisterClientScriptResource(typeof(MyControl),
"MyAssembly.Js.MyJs.js");
base.OnPreRender(e);
}

第六步、在当前程序集的AssemblyInfo.cs下添加一个标签

[assembly: System.Web.UI.WebResource("MyAssembly.Js.MyJs.js", "application/x-javascript")]

至此,在页面中使用MyControl的时候,就可以自动输出js文件了。

下面我为大家介绍一个比较重要的东西,当我们在调试带有MyControl的页面的时候,我们会看到如下内容:



我这边是打开WebResource_2.axd,会看到我在程序集中编写的脚本内容,

也就是说嵌入程序集的所有脚本文件都是通过请求WebResource_2.axd来获得的,后面的参数

是经过加密的,用于标示当前请求的JS文件。

玩鸟!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: