在我的示例应用程序(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”为什么会这样,我如何为所有视图和控制器创建一个地址
答案 0 :(得分:1)
使用Url.Content
获取相对路径:
@Url.Content("~/files/mypic.bmp")
问题在于,当您使用OP中列出的相对路径时,浏览器会将它们解释为相对于当前URL。因此,他们会根据当前网址是\home
还是\home\server
来解析到不同的地方。