Mam stronę ASP.NET MVC, w której próbuję wyświetlić przyjazne adresy URL.ASP MVC Przyjazne adresy URL i względna ścieżka Obrazy
Mam widok kategorii w kontrolerze głównym, który akceptuje wartość categoryKey, aby uzyskać zawartość strony.
Na przykład: http://localhost/Home/Category/Bikes pobiera zawartość roweru.
w moich Global.asax.cs, mam następujący obsłużyć to:
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
);
}
Działa to dobrze, i robi się treść, jednak jestem coraz zawartość z Content Management System , dla łatwej edycji. Po dodaniu obrazu na zarządzania treścią, dodaje obraz ze ścieżki względnej:
<img src="../AdminUploadContent/bikes.gif" alt="Bikes" />
Teraz, jeśli ja goto „http://localhost/Home/Category”, a tag obrazu znajduje się na stronie bazowej, będzie ciągnąć w górę obraz. Jednak jeśli mam "http://localhost/Home/Category/" lub dodać rzeczywistą kategorię "/ Dom/Kategoria/Rowery" /, obraz się nie pokazuje. Właściwości obrazu wskazują "http://localhost/Home/AdminUploadContent/bikes.gif".
Czy jest coś, co mogę umieścić w pliku Global.aspx.cs, aby obsłużyć względną ścieżkę? Nawet jeśli ręcznie edytuję zarządzanie treścią w celu dodania ../../AdminUploadContent/bikes.gif, to odciąłem pierwsze ../, ponieważ robi ono jakąś walidację.
Nie polecam mieszania idiomu web asp.net z asp.net mvc. Trzymaj się tego
– Roman