1

在我的示例应用程序(mvc4 razor)中,我的根解决方案中有一张图片,位于 "\files\mypic.bmp" 之类的目录中,并且我有一个名为 members 的区域,该区域有一个控制器 "home" 和 "settings" 。

controllers       actions     imageUrl             IE address bar
home              index     "\files\mypic.bmp"      localhost:3251\home
settings          home      "..\files\mypic.bmp"    localhost:3251\settings\home

当我在主页视图中使用此图像时,我使用我的图像“\files\mypic.bmp”的这个地址,并且资源管理器显示我的图片,但是当我去设置控制器和家庭操作时,我必须使用这个地址,直到资源管理器显示我的图片,” ..\files\mypic.bmp" 为什么会这样以及如何为所有视图和控制器创建一个地址

4

1 回答 1

1

Use Url.Content to get the relative path:

@Url.Content("~/files/mypic.bmp")

The issue is that, when you use relative paths like those listed in the OP, the browser interprets them as relative to the current URL. Hence, they resolve to different places depending on whether the current URL is \home or \home\server.

于 2013-08-01T01:15:38.560 回答