Ссылки на изображения не работают при использовании маршрутов

#visual-studio-2012 #routes

#visual-studio-2012 #маршруты

Вопрос:

Я использую маршруты для маскировки URL-адреса для поисковых систем, поэтому я добавил эту строку в свой файл Global.asax (VS2012), и маршрут работает, как ожидалось:

 routes.MapPageRoute("shop","it/{id}/{action}.aspx","~/shop.aspx");
  

проблема в том, что на моей странице shop.aspx есть несколько <img тегов с относительным URL-адресом для изображений, конечно, проблема в том, что веб-страница пытается искать изображения в сопоставленном URL-адресе, а не в реальном URL-адресе, в котором находится страница shop.aspx.

Я также попытался добавить другой маршрут, чтобы противостоять предыдущему для файлов в папке с изображениями, я также добавил маршрут игнорирования, затем я попытался добавить карту сопоставленного URL:

 routes.MapPageRoute("logo", "it/{id}/images/logo/", "images/logo/");
  

по-прежнему нет решения проблемы, единственный способ, по-видимому, использовать <asp:image управляющую ОС, использующую css, но это будет лучше работать для фоновых изображений, я должен использовать <img тег на моей странице shop.aspx, я не могу поместить все в css или элементы управления только для этого.

Комментарии:

1. добавление следующих строк не имеет никакого эффекта: маршруты. Игнорировать («{ alljpg}», новый {alljpg = @».*.jpg(/. )?» }); маршруты. Игнорировать(«{ allpng}», новый {allpng = @».* .png(/. )?» });

Ответ №1:

благодаря Google я решил эту проблему, однако я чувствую, что вместо этого это должно быть сделано на уровне маршрутизации:

 <%= ResolveUrl("~/App_Themes/default/images/logo/fb1.png") %>