我有一个类库项目,其中包含一个位于library/Resources/Scripts
文件夹中的java脚本文件“libscript.js”。
我将“libscript.js”文件标记为属性窗口中的嵌入式资源。
我还在assemblyInfo.cs中添加了以下代码行:
[assembly: WebResource("Library.Resources.Scripts.libscript.js", "text/javascript")]
最后,我在网站项目中引用了该库。
当我在本地计算机上运行项目时,它工作正常,javascript文件已正确加载。此外,当我在IIS中创建一个应用程序时,它工作正常。
但是当我将项目上传到主机时,脚本文件未加载且未找到!
答案 0 :(得分:1)
你所做的是步骤1(将js作为资源嵌入)和2(将webresource添加到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)]