2010-10-22 31 views
7

Właśnie edytowany moje trasy dla strony dane użytkownika, aby wyglądać tak:zdjęć ASP.NET MVC i innych statyczny url

 routes.MapRoute(
      "UserDetails", // Route name 
      "{controller}/{action}/{id}/{title}", // URL with parameters 
      new { controller = "Users", action = "Details", id = UrlParameter.Optional, title = UrlParameter.Optional } // Parameter defaults 
      ); 

Teraz kiedy mój adres URL wygląda następująco: localhost/Users/Details/1/ShawnMclean Obrazy nie są ładowane zarówno ze sterownika i serwisu site.master. (nie mam pojęcia, dlaczego css i javascript mają poprawne adresy URL). Jeśli adres URL to localhost/Users/Details/1, wszystko ładuje się prawidłowo.

Moja img w site.master i Details.aspx wygląda to w starym URL:

<img src="../../Content/Images/logo3.png" /> 

ale gdy url dostaje dodatkowy parametr, obraz jest w rzeczywistości znajduje się w ../../../Content/Images/logo3.png

Czy istnieje sposób, aby zmieniają adresy URL zdjęć i innych statycznych treści?

+0

Jaki jest kod w swoim site.master? – quakkels

+0

zobacz poprawioną odpowiedź. – quakkels

Odpowiedz

18

Spróbuj łączenie obrazów tak:

<img src="/Content/Images/logo3.png" /> 

lub jeśli to nie zadziała zawsze można użyć pomocnika dla linków

<img src="<%= Url.Content("~/Content/Images/logo3.png") %>" /> 

jeden inny sposób może być

<img src="@Url.Content("~/Content/Images/logo3.png")" /> 
+0

Mam to przede wszystkim moje trasy. –

+0

Czy możesz opublikować próbkę kodu linku graficznego lub łącza css? – quakkels

+0

Dlaczego działało '/ Content/Images/logo3.png'? czy pierwszy slash powoduje, że zaczyna się od katalogu głównego witryny? –

1

Możesz spróbować użyć pomocnika:

<img src='<%= Url.Content("~/Content/Images/pic.jpg") %>' alt="My Image" /> 
1

Można spróbować,

<a href="/"><img src="<%=Url.Content("~/Content/Images/logo.png")%>" alt="logo" title="Logo" /></a>