在解决方案中有2个项目一个为类库(TestClassLib),一个为WEB
在TestClassLib的根目录中添加JS文件 test.js,有一个FUNCTION为 test1()。修改test.js文件属性为 嵌入的资源。
TestClassLib的命名空间为TestClassLib
在TestClassLib的AssemblyInfo.cs文件中加入如下代码:
[assembly: System.Web.UI.WebResource("TestClassLib.test.js", "text/javascript")]
编译之,生成TestClassLib.dll在web中添加TestClassLib的引用,在default.aspx.cs的Page_Load中引用TestClassLib中的test.js文件,如下:
this.ClientScript.RegisterClientScriptInclude(this.GetType(), "testjs", this.ClientScript.GetWebResourceUrl(this.GetType(), "TestClassLib.test.js"));
在default.aspx中加入<input id="Button1" type="button" value="button" onclick="test1();" />,测试用。 大功告成,F5~点击button,被告之找不到函数test1(),不知为何,请高人指点。

解决方案 »

  1.   

    public overvride OnRreRender(Eventarys e){
     base.OnPreRender(e);
     Page.ClientScript.RegisterStartupScript(this.GetType(),"dsf","<script type='text/javascript' src=@'this.ClientScript.GetWebResourceUrl(this.GetType(),   "TestClassLib.test.js"))'></script>"); 
    }
      

  2.   

    资源一般是和具体类相联系的。在你的类库项目TestClassLib中随便添加一个类,哪怕是空类。如下:
    using System;[assembly: WebResource("test.js", "application/x-javascript")]
    namespace TestClassLib
    {
        public class Class1
        {
        }
    }当然,你对脚本资源的声明写在程序集信息中也可以。在web项目中,你可以在页面的page_load事件中写上下面三中方法中的任何一种,即正确引用了js文件。
    一。
     ClientScript.RegisterClientScriptResource(typeof(TestClassLib.Class1), "TestClassLib.test.js");
            
        二。    
            //HtmlGenericControl hgc = new HtmlGenericControl("script");
            //hgc.Attributes["type"] = "text/javascript";
            //hgc.Attributes["src"] = Page.ClientScript.GetWebResourceUrl(typeof (TestClassLib.Class1 ), "TestClassLib.test.js");
            //this.Header.Controls.Add(hgc);
    三。
            //Page.ClientScript.RegisterStartupScript(this.GetType(), "dsf", " <script   type='text/javascript'   src=@'" + this.ClientScript.GetWebResourceUrl(typeof(TestClassLib.Class1), "TestClassLib.test.js") + "'> </script> ");   
    以上解释来源于ASP.NET学习社区
      

  3.   

    一个三角的bird可以不用说话,我只想知道我的程序哪里有问题,或者有什么其他的办法。
      

  4.   

    CSDN的专家不是很多吗,这么简单的问题,搞了一天没人解决~
      

  5.   

    二楼不是已经帮你解决了吗?
    在AssemblyInfo.cs里,添加一句[assembly: System.Web.UI.WebResource("ClassLibrary1.JScript1.js", "text/javascript")]
    然后在web里面
            protected override void OnPreRender(EventArgs e)
            {
                base.OnPreRender(e);
                ClientScript.RegisterClientScriptResource(typeof(ClassLibrary1.Class1), "ClassLibrary1.JScript1.js");        }
    就可以调用了啊!
      

  6.   

    fox54088 
    我的错了吗?
      

  7.   

    ding~~~`fox54088   
    我的错了吗?
      

  8.   

    ding~~~` fox54088       
    我的错了吗?
      

  9.   

    你在test类中随便建一个class1
    ClientScript.RegisterClientScriptResource(typeof(TestClassLib.Class1),   "TestClassLib.test.js"); 
    这样就可以了啊,但是你那个可以在
    AssemblyInfo.cs里,添加一句[assembly:   System.Web.UI.WebResource("ClassLibrary1.JScript1.js",   "text/javascript")]