2011-10-04 3 views
3

Il s'agit de l'URL en question qui entraîne la rupture de toutes mes images.ASP.NET MVC - Routage Problème

http://www.foo.com/payment/receipt/stapia.gutierrez/201110040000034 

Tout mon contenu (images et autres joyeusetés) est déclarée dans mon dossier _Layout.cshtml. Je crois que c'est un problème avec mon routage.

Voici les parties pertinentes de ma zone de routage Global.asax:

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

    routes.MapRoute(
     "AllPayments", 
     "payment/receipt/{username}", 
     new { controller = "Payment", action = "AllPayments" } 
    ); 

    routes.MapRoute(
     "IndividualPayment", 
     "payment/receipt/{username}/{id}", 
     new { controller = "Payment", action = "SinglePayment" } 
    ); 

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

Ce que mes images sont déclarées dans mon fichier _Layout.cshtml:

<img src="../../Content/SiteImages/banner1.jpg" width="200" height="200" /> 
<img src="../../Content/SiteImages/banner2.jpg" width="200" height="200" /> 
<img src="../../Content/SiteImages/banner3.jpg" width="200" height="200" /> 

Où normalement mes images seraient src à

www.foo.com/Content/SiteImages/logo.png,

dans ce vue particulière, ils sont remplacés par

www.foo.com/payment/Content/SiteImages/logo.png 

Comment puis-je résoudre ce problème? Qu'est-ce qui fait que mes images src changent dans cette vue en particulier?

+0

À quoi ressemble l'étiquette ? – yoozer8

+0

@Jim: S'il vous plaît voir modifier. :) –

Répondre

4

Étant donné que vous consultez un paiement spécifique, vous faites un pas de plus dans l'URL.

<img src="../../Content/SiteImages/banner1.jpg" width="200" height="200" /> 

travaillerait sur la page AllPayments, vous avez besoin

<img src="../../../Content/SiteImages/banner1.jpg" width="200" height="200" /> 

sur la page de paiement individuel.

+5

Je pense que l'utilisation de 'Url.Content' serait la meilleure, à l'épreuve du futur. Merci de m'avoir fait réaliser que j'avais oublié de l'utiliser. –