如何从asp.net mvc项目中的脚本正确引用图像文件?

JSi*_*ris 5 html javascript asp.net-mvc

我有一个asp.net应用程序在我的网站的子目录(即www.example.com/go/)上运行,并且在.js脚本文件中,我正在尝试引用我项目的Images目录中的图像.

当我/Images/add.png用来引用图像时,我可以在调试模式下看到图像,但是在应用程序发布时却看不到(当处于调试模式时,应用程序只运行在logalhost:port#而不是/ go/url路径下) .当我go/Images/add.png用来引用图像时,我可以在已发布的Web应用程序上看到图像,但在调试模式下进行测试时却看不到.从我的脚本引用图像资源的正确方法是什么,以便我可以在生产和调试模式下看到它?

编辑

由于某种原因,相对路径不起作用.我已经尝试过./Images/add.png../Images/add.png.

Dar*_*rov 9

您可以创建指向图像的全局javascript变量:

<script type="text/javascript">
    var imageUrl = '@Url.Content("~/images/add.png")';
</script>
Run Code Online (Sandbox Code Playgroud)

然后在你的javascript文件中你可以使用这个全局变量来引用图像位置,而不是硬编码它的值,正如你已经发现的那样,当你在虚拟目录中发布应用程序时它不起作用.

不用说,这个脚本应该包含在实际使用这个javascript变量的脚本之前的视图中.