MVC5和Javascript相对图像路径混乱

时间:2015-02-19 10:56:01

标签: javascript asp.net-mvc

如果我在虚拟服务器上运行它,我的mvc5 webApp似乎无法显示图像,但如果我在本地运行它可以工作。

所以我尝试了几种方法,没有一种方法可以让我在虚拟服务器上运行应用程序,或者在我试过的PC上运行:

(如果我在本地运行,这些都有效)

图片/ arrow.png

/Images/arrow.png

此路径适用于虚拟服务器,但不适用于本地。

web应用程序/图像/ arrow.png

我知道@ Url.Action但我有很多不同的图像,大约15,我不知道是否使用@ Url.Action是一个好主意。

任何小例子都会有很大帮助!

2 个答案:

答案 0 :(得分:3)

如果您知道站点根目录中的图像路径,则可以在MVC中执行以下操作:

@Url.Content("~/images/my-image.jpg")

“〜/”将从站点根目录进行映射。

编辑: 如果你在一个JS文件中工作并且在相对路径上苦苦挣扎,那么你可以在文件顶部添加一个“basepath”变量并使用它:

var basePath = "http://www.mywebsite.com/images";

然后在您的代码中,您返回的图片网址将是:

var imgUrl = basePath + "/my-image.jpg";

答案 1 :(得分:0)

试试这个:

@Url.Content("~/Images/arrow.png")