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中创建应用程序时,它工作得很好。
但是当我将项目上传到主机时,脚本文件没有加载,也没有找到!
您所做的是步骤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)]