控制器改变时为什么图像地址必须改变?

时间:2013-08-01 01:10:24

标签: asp.net-mvc-4

在我的示例应用程序(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”为什么会这样,我如何为所有视图和控制器创建一个地址

1 个答案:

答案 0 :(得分:1)

使用Url.Content获取相对路径:

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

问题在于,当您使用OP中列出的相对路径时,浏览器会将它们解释为相对于当前URL。因此,他们会根据当前网址是\home还是\home\server来解析到不同的地方。