WebResource不能在主机上工作

本文关键字:工作 主机 不能 WebResource | 更新日期: 2023-09-27 18:19:06

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

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

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

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

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

当我在本地机器上运行项目时,它工作正常,javascript文件被正确加载。另外,当我在IIS中创建应用程序时,它工作得很好。

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

WebResource不能在主机上工作

您所做的是步骤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中的web资源定义,以包含PerformSubstitution参数,以便生成到js的正确路径:

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