ASP.NET MVC - проблема маршрутизации - PullRequest
3 голосов
/ 04 октября 2011

Это URL-адрес, из-за которого ломаются все мои изображения.

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

Весь мой контент (изображения и еще много чего) объявлен в моем файле _Layout.cshtml. Я считаю, что это проблема с моей маршрутизацией.

Вот соответствующие части моей области маршрутизации 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 * * 1016

в этом конкретном представлении они изменены на

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

Как я могу исправить эту проблему? Что вызывает изменение моих изображений в этом конкретном представлении?

1 Ответ

4 голосов
/ 04 октября 2011

Поскольку вы просматриваете конкретный платеж, вы на один шаг глубже в URL.

Где

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

будет работать на странице AllPayments, вам нужно

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

на странице индивидуального платежа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...