2011-10-04 283 views
3

這是有問題的URL,導致我的所有圖像中斷。ASP.NET MVC - 路由問題

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

我的_Layout.cshtml文件中聲明瞭我的所有內容(圖片和whatnot)。我相信這是我的路由問題。

這裏是我的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 
    ); 
} 

這是我的圖片是如何在我的_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" /> 

而正常情況下我的圖像將src

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

在此特別的看法,他們改爲

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

我該如何解決這個問題?什麼導致我的圖像src在這個特定的視圖中改變?

+0

標記是什麼樣的? – yoozer8

+0

@Jim:請參閱編輯。 :) –

回答

4

由於您正在查看特定付款,因此您可以更深入地瞭解網址。

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

將在AllPayments頁面上工作,你的個人繳費頁面上需要

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

+5

我認爲使用'Url.Content'會是更好的,未來的證明方式。感謝讓我意識到我忘記了使用它。 –