在.net里,~表示站点根目录,而不是简单的根目录。
站点分为两种:
直接根站点(我这样简单的命名,就是直接在IIS里创建的站点)
虚拟站点
虚拟站点是建立在直接根站点下的子站点,默认情况下会继承来自根站点的一些配置,同时能使用根站点的一些非.net的页面文件(如html、js、css、图片等)。
你能使用\scripts\common.js成功,说明你的根站点存在这个路径信息的文件。
你使用~\scripts\common.js失败,说明你的站点(可能是根站点也可能是虚拟站点)不存在路径 scripts\common.js 信息的文件。
1、你确认你的站点是否虚拟站点
2、在浏览器中查看html源代码,看下这段代码的输出,比如可能是:\xxx\scripts\common.js,这里xxx表示你虚拟站点的根路径。
3、如果你确认2又确实需要这样使用,可以在虚拟站点xxx下建立相应路径下的文件,否则,你可以使用路径:..\xxx\scripts\common.js来替代,换成你的代码就是:
a、直接使用根路径:\scripts\common.js
b、使用相对路径:~\..\scripts\common.js
你的答案太经典了,非常感谢~!