我有一个ASP.NET MVC应用程序,它将托管在现有的URL结构中。出于这个原因,我想让我的URL相对。在ASP.NET MVC中,我会做类似以下的事情:
<img src="~/images/logo.png" />
根据我的理解,代字号是一个在运行时呈现的ASP.NET MVC。但是,我有一些静态的JavaScript文件。我需要他们相对引用一些东西。
我怎样才能在JavaScript中使用~/images/logo.png
?
答案 0 :(得分:0)
作为ASP.Net功能的~
符号在服务器端解析 - Javascript对此一无所知。从Javascript执行此操作的唯一方法是相对于提供当前文件的路径。
所以如果你的路径结构是这样的:
Web Application
Content
js
test.js
images
logo.png
然后,从你的&#34; test.js&#34;文件,你会参考&#34; logo.png&#34;为../images/logo.png
。
(从技术上讲,你可以使用服务器标签编写动态Javascript文件,但这似乎是解决相对路径的不必要措施。)
答案 1 :(得分:0)
~
指的是应用程序根文件夹
如果您的应用程序未托管在http://example.com/mydir/myapp
(在嵌套虚拟目录中)等子文件夹中,则javascript等效项将为/images/logo.png