.net中将类库编译成.dll文件,我们大家都知道。但初听说将.js文件编译成.dll文件就觉得有点新奇了。没错,这里可以将javascript编译成动态库文件供页面调用。也许这里有些朋友就会问了,javascript文件在项目中调用不也是很方便的吗,为什么编译成.dll文件呢?确实直接调用js文件也是比较方便,这里只是算提供另一种调用方式吧。

      下面开始我们的探索之行吧,首先我们需要在项目中新建一个类库项目、添加.js文件。在.js文件中写上相应的测试代码:

    1.新建类库项目:

       将.js文件编译成.dll文件方法

    2.选中JSTest.js文件设置文件属性为"嵌入的资源" 并编写js测试脚本代码:

    属性设置如下所示:

     将.js文件编译成.dll文件方法

   JSTest.js测试脚本如下:

(function show(){
   alert(
"脚本测试!");  
})();

 

  

    3.在类库项目Properties文件中的AssemblyInfo.cs文件添加一行代码:

    注意:其中DYJ.Js.js.JSTest.js,DYJ.Js是类库名称,js是文件夹目录,JSTest.js是具体的文件名,如果没有文件夹js目录可省略

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

 

  

    4.在类库项目中添加一个客户端脚本注册的类,具体代码如下:    

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
namespace DYJ.Js
{
    
public class JSRefer:System.Web.UI.WebControls.WebControl
    {
        
protected override void OnPreRender(EventArgs e)
        {
            
if (this.Page != null)
            {
                ClientScriptManager manager 
= this.Page.ClientScript;
                manager.RegisterClientScriptResource(
typeof(JSRefer), "DYJ.Js.js.JSTest.js");
            }
            
base.OnPreRender(e);
        }

    }
}

 

 

     5.生成该类库项目,在需要添加该.js文件的项目中添加引用:      

将.js文件编译成.dll文件方法 

 

   接下来,就是在页面上调用js了。这里的.dll文件已经生成好了,具体的调用方式和以往没有什么区别。测试结果如图所示,到这里编译.js文件成.dll文件也就完成了。

 

     前端页面主要测试代码:     

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<%@ Register Assembly="DYJ.Js" Namespace="DYJ.Js" TagPrefix="cc1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    
<title>无标题页</title>
</head>
<body>
    
<form id="form1" runat="server">
    
<div>
        
<cc1:JSRefer ID="JSRefer1" runat="server" />
    
</div>
    
</form>
</body>
</html>

 

    运行页面,弹出"脚本测试"窗口,测试成功...

相关文章:

  • 2022-01-02
  • 2021-05-30
  • 2021-08-09
  • 2021-12-11
猜你喜欢
  • 2021-12-23
  • 2021-12-19
  • 2021-05-16
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案