ASP.NET MVC 2: использование ImageRouteHandler для работы в подкаталоге сервера - PullRequest
0 голосов
/ 23 июля 2010

У меня есть проект ASP.NET MVC 2, в котором я создал собственный ImageRouteHandler, следуя этому блогу: http://www.phpvs.net/2009/08/06/aspnet-mvc-how-to-route-to-images-or-other-file-types/

Все это прекрасно работает, когда я тестирую его локально, но после развертывания в подкаталоге.корневой папки на моем веб-сервере ... все изображения по-прежнему ссылаются на: www.blabla.com/Images вместо использования подкаталога проекта.

Как я могу это исправить?Я предполагаю, что мне нужно добавить что-то вроде ApplicationPath перед изображениями / {имя_файла} в моем Global.asax.cs: rout.Add ("ImagesRoute", новый маршрут ("Images / {имя_файла}", новый ImageRouteHandler ()));

Я просто не могу понять, как.Любая помощь будет принята с благодарностью!

1 Ответ

0 голосов
/ 26 июля 2010

Я решил проблему, написав собственный класс 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") %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...