ASP MVC и изображения относительного пути дружественного URL

У меня есть страница ASP.NET MVC, где я пытаюсь показать дружественный URL.

Так, у меня есть Представление Категории в домашнем Контроллере, который принимает, что значение categoryKey получает содержание страницы.

Например: http://localhost/Home/Category/Bikes получает велосипедное содержание.

в моем Global.asax.cs у меня есть следующее для обработки этого:

public static void RegisterRoutes(RouteCollection routes)
{
  routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

  routes.MapRoute(
      "Category",
      "{controller}/{action}/{categoryKey}",
      new { controller = "Home", action = "Category", categoryKey = "" });

  routes.MapRoute(
      "Default", // Route name
      "{controller}/{action}/{id}", // URL with parameters
      new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
  );
}

Это работает просто великолепно, и это получает содержание, однако, я получаю содержание от Системы управления контентом для легкого редактирования. Когда Вы добавляете изображение на управлении контентом, оно добавляет изображение с относительным путем:

Bikes

Теперь, если я goto "http://localhost/Home/Category", и что тег изображения находится на базовой странице, он потянет изображение. Однако, если я, goto "http://localhost/Home/Category/", или добавляют фактическую категорию "/Home/Category/Bikes"/, изображение, не обнаруживаюсь. Свойства изображения указывают на "http://localhost/Home/AdminUploadContent/bikes.gif".

Есть ли что-нибудь, что я могу вставить свой файл Global.aspx.cs для обработки относительного пути? Даже если я вручную редактирую управление контентом для добавления../../AdminUploadContent/bikes.gif, оно обрубает первое../, так как это делает некоторую проверку.

17
задан doug 2 August 2010 в 20:33
поделиться

2 ответа

Используйте метод Url.Content при создании пути к вашему изображению.

<img src="@Url.Content("~/AdminUploadContent/bikes.gif")" />

или при использовании механизма просмотра WebForms:

<img src="<%= Url.Content("~/AdminUploadContent/bikes.gif") %>" />
41
ответ дан 30 November 2019 в 11:08
поделиться

Вы можете использовать относительный путь «~ /» для ссылки на текущий виртуальный каталог, в котором расположена страница. Попробуйте добавить атрибут runat = "server" в свой тег "img" и атрибут "~" входа в "src":

<img runat="server" src="~/AdminUploadContent/bikes.gif" alt="Bikes" />
2
ответ дан 30 November 2019 в 11:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: