对于将javascript嵌入到程序集中

使用asp.net ajax来扩展框架,将javascript嵌入到程序集中可以很方便的部署自定义的控件,下面是嵌入时需要做的步骤

这里以MSDN中的向Web 服务器控件添加 ASP.NET AJAX 客户端功能为例,自定义控件需要实现IScriptControl接口,其中有2个方法GetScriptDescriptors()和GetScriptReferences(),这里GetScriptReferences()方法要注意了,其中就是返回js脚本引用,其实这里添加和引用和在ScriptManager中使用如下方式添加引用是一回事,

<asp:ScriptManager runat="server" id="sm">
        <Scripts>
            <asp:ScriptReference Assembly="Samples" Name="Samples.SampleTextBox.js" />
        </Scripts>
</asp:ScriptManager>

看到这个你也就应该知道在GetScriptReferences()方法中的实现了和属性的设置了

ScriptReference reference = new ScriptReference();
            reference.Assembly = "Samples";                       
            reference.Name = "Samples.SampleTextBox.js";
            return new ScriptReference[] { reference };

一模一样,这是在ScriptManager是通过标签的方式声明对脚本的引用,而后者是在自定义实现服务器控件中添加对脚本的引用,这里我说明一下,Assembly的属性对应的程序集的名称,reference.Name遵循的是[程序集命名空间].[JavaScript 文件名].js命名规定,

然后再到assembly.cs中添加如下这行代码

[assembly: WebResource("Samples.SampleTextBox.js", "application/x-javascript")]

编译生成dll,搞定!!!

posted @ 2009-11-11 09:32  枫崖  阅读(188)  评论(0编辑  收藏  举报