Asp.net mvc 2 ASP.NET MVC 2:使用ImageRouteHandler在服务器子目录上工作

Asp.net mvc 2 ASP.NET MVC 2:使用ImageRouteHandler在服务器子目录上工作,asp.net-mvc-2,Asp.net Mvc 2,我有一个ASP.NET MVC 2项目,在该项目中,我构建了一个自定义ImageRouteHandler,如下博客: 当我在本地测试它时,一切都很好,但在我将它部署到Web服务器上根文件夹的子目录之后。。。所有图像仍由www.blabla.com/images引用,而不是使用项目的子目录 我怎样才能纠正这个问题?我猜我必须在我的Global.asax.cs中的图像/{filename}之前添加类似ApplicationPath的内容: routes.Add(“ImagesRoute”, 新路由

我有一个ASP.NET MVC 2项目,在该项目中,我构建了一个自定义ImageRouteHandler,如下博客:

当我在本地测试它时,一切都很好,但在我将它部署到Web服务器上根文件夹的子目录之后。。。所有图像仍由www.blabla.com/images引用,而不是使用项目的子目录

我怎样才能纠正这个问题?我猜我必须在我的Global.asax.cs中的图像/{filename}之前添加类似ApplicationPath的内容: routes.Add(“ImagesRoute”, 新路由(“Images/{filename}”,newimagesroutehandler())


我只是不知道怎么做。任何帮助都将不胜感激

我已通过编写自定义ImageHelper类解决了此问题:

public static string ImgUrl(string applicationPath, string filename)
{
  if (applicationPath == "/")
  {
    return "/Images/" + filename;
  }
  else
  {
    return applicationPath + "/Images/" + filename;
  }
}
并访问“我的视图”中的图像,如下所示:

<%= ImageHelper.ImgUrl(Request.ApplicationPath, "test.png") %>

您能否将视图代码的一部分用于创建发生故障的标记?通常,当您移动到虚拟目录并且相对URL没有正确呈现时,会遇到这种情况。这就是我用来访问某个图像的。。。