大众计算机学习网

专门提供各种电脑教程

如何将JS文件编译到ASP.NET项目里的DLL文件中

Admin | 2009-6-12 19:33:08 | 被阅次数 | 5594

  ①向项目中添加Jscript文件

  //script_1.js-----
  function doClick1()
  {
      alert("OK1_wufeng");
  }
  //script_2.js-----
  function doClick2()
  {
      alert("OK2");
  }

  ②解决方案资源管理器中,右键查看script_1.js和script_2.js的属性,把高级中的“生成操作”属性设置成“嵌入的资源”。

  ③向AssemblyInfo.cs文件中添加如下行:(注意域名wf.ClientScriptResourceLabel)

[assembly: System.Web.UI.WebResource("wf.ClientScriptResourceLabel.script_1.js", "application/x-javascript")]
[assembly: System.Web.UI.WebResource("wf.ClientScriptResourceLabel.script_2.js", "application/x-javascript")]

  ④向项目中添加一个类, 实例:

using System;
using System.Drawing;
using System.Web.UI;
using System.Web;
using System.Globalization;

namespace wf.ClientScriptResourceLabel
{
    public class ClientScriptResourceLabel : System.Web.UI.WebControls.WebControl
    {
        //调用脚本资源
        protected override void OnPreRender(EventArgs e)
        {
            if (this.Page != null)
            {
                this.Page.ClientScript.RegisterClientScriptResource(typeof(ClientScriptResourceLabel), "wf.ClientScriptResourceLabel.script_1.js");
                this.Page.ClientScript.RegisterClientScriptResource(typeof(ClientScriptResourceLabel), "wf.ClientScriptResourceLabel.script_2.js");
            }
            base.OnPreRender(e);
        }
        /// <summary>
        /// 呈现控件的方法RenderContents
        /// </summary>
        protected override void RenderContents(HtmlTextWriter output)
        {
            output.AddAttribute("id", "1");
            output.AddAttribute("type", "checkbox");
            output.AddAttribute("value", "测试1");
            output.AddAttribute("onclick", "javascript:doClick1();");
            output.RenderBeginTag(HtmlTextWriterTag.Input);
            output.RenderEndTag();

            output.AddAttribute("id", "2");
            output.AddAttribute("type", "checkbox");
            output.AddAttribute("value", "测试2");
            output.AddAttribute("onclick", "javascript:doClick2();");
            output.RenderBeginTag(HtmlTextWriterTag.Input);
            output.RenderEndTag();
         base.RenderContents(output);
        }
    }
}