1

我有一个类库项目,其中包含位于library/Resources/Scripts文件夹中的 java 脚本文件“libscript.js”。

我将“libscript.js”文件标记为属性窗口中的嵌入式资源。

我还在 assemblyInfo.cs 中添加了以下代码行:

[assembly: WebResource("Library.Resources.Scripts.libscript.js", "text/javascript")]

最后,我在我的网站项目中引用了该库。

当我在本地机器上运行项目时,它工作正常并且 javascript 文件已正确加载。此外,当我在 IIS 中创建应用程序时,它工作正常。

但是当我将项目上传到主机时,脚本文件没有加载,也没有找到!

4

1 回答 1

1

您所做的是第 1 步(将 js 作为资源嵌入)和第 2 步(将 web 资源添加到 assembly.cs),共 3 步。

第三步,解压js发送到浏览器:

  protected override void OnInit(EventArgs e)
  {
    base.OnInit(e);

    this.Page.ClientScript.RegisterClientScriptInclude(
       this.GetType(), "libscript", 
       Page.ClientScript.GetWebResourceUrl(this.GetType(), 
       "Library.Resources.Scripts.libscript.js"));
  }

您还需要修改 assembly.cs 中的 webresource 定义以包含PerformSubstitution参数,以便生成正确的 js 路径:

[assembly: WebResource("Library.Resources.Scripts.libscript.js", "text/javascript", PerformSubstitution = true)]
于 2011-12-31T22:25:31.953 回答