У меня есть страница 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
);
}
Это работает просто великолепно, и это получает содержание, однако, я получаю содержание от Системы управления контентом для легкого редактирования. Когда Вы добавляете изображение на управлении контентом, оно добавляет изображение с относительным путем:
Теперь, если я 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, оно обрубает первое../, так как это делает некоторую проверку.
Используйте метод Url.Content при создании пути к вашему изображению.
<img src="@Url.Content("~/AdminUploadContent/bikes.gif")" />
или при использовании механизма просмотра WebForms:
<img src="<%= Url.Content("~/AdminUploadContent/bikes.gif") %>" />
Вы можете использовать относительный путь «~ /» для ссылки на текущий виртуальный каталог, в котором расположена страница. Попробуйте добавить атрибут runat = "server" в свой тег "img" и атрибут "~" входа в "src":
<img runat="server" src="~/AdminUploadContent/bikes.gif" alt="Bikes" />