随笔 - 3461, 文章 - 0, 评论 - 739, 阅读 - 1200万
  管理

把.js文件编译成dll供页面调用?

Posted on   lzhdim  阅读(247)  评论(0编辑  收藏  举报

1.在解决方案中添加一个新项目(类库:JSControl)

 

2.在新项目中添加要用的JS脚本(JScript1.js)

脚本的内容:

function testAlert() {     alert("Hello!"); }

 

3.右键点击JScript1.js,使Build Action为Embedded Resource(也就是右击属性:将生成操作改为"嵌入的资源")

 

4.在JSControl项目的AssemblyInfo.cs文件添加一行:(注意JSControl.JScript1.js,JSControl是js所在项目的命名空间)

//定义组件内的内嵌资源的元数据属性 [assembly: System.Web.UI.WebResource("JSControl.JScript1.js", "application/x-javascript")]

注意:这边要增加个引用:System.Web.dll

 

5.在JSControl项目中添加一个注册客户端脚本的类:ReferenceScript.cs

namespace JSControl {     public class ReferenceScript: System.Web.UI.WebControls.WebControl     {         protected override void OnPreRender(EventArgs e)         {             if (this.Page != null)             {                 ClientScriptManager manager = this.Page.ClientScript;                 manager.RegisterClientScriptResource(typeof(ReferenceScript), "JSControl.JScript1.js");             }             base.OnPreRender(e);         }     } }

 

6.在网站项目中引用JSControl项目,编译后生成JSControl.dll

 

7.在要调用脚本的页面注册JSControl.dll

<%@ Register Assembly="JSControl" Namespace="JSControl" TagPrefix="zhi" %>

 

8.引用脚本

<zhi:ReferenceScript ID="rs1" runat ="server"/>

<asp:Button ID="btnReadXml" runat="server" Text="ReadXml" OnClick="btnReadXml_Click"                 OnClientClick="testAlert();" />

9.效果图

编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2025年3月8日 星期六 【蛇】己卯月丙子日 乙巳年 二月初九 妇女节
您的IP:3.145.109.147,操作系统:未知操作系统,浏览器:未知浏览器
Copyright (C) 2000-2025 Lzhdim Software All Rights Reserved
点击右上角即可分享
微信分享提示