2010-10-22 6 views
7

Ho appena modificato il mio percorso per una pagina dati di login per questo aspetto:immagini ASP.NET MVC e altri URL contenuti statici

 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 
      ); 

Ora, quando il mio URL è simile al seguente: localhost/Users/Details/1/ShawnMclean immagini non vengono caricati sia dal controller e dal sito.master. (non ho idea del perché il css e il javascript avessero gli URL corretti). Se l'url è localhost/Users/Details/1 allora tutto va bene.

mio img in site.master e Details.aspx si presenta così nel vecchio url:

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

ma quando l'URL ottiene un parametro aggiuntivo, l'immagine si trova effettivamente in ../../../Content/Images/logo3.png

C'è un modo per modificare le immagini e gli altri contenuti statici?

+0

Qual è il codice nel tuo Site.master? – quakkels

+0

vedere la risposta modificata. – quakkels

risposta

18

Prova che collega le immagini in questo modo:

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

o se questo non funziona si può sempre utilizzare un helper per i link

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

un altro modo potrebbe essere

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

Ho questo soprattutto i miei percorsi. –

+0

potresti pubblicare un esempio di codice di un link immagine o css link? – quakkels

+0

Perché ha funzionato '/ Content/Images/logo3.png'? la prima barra lo fa partire dalla radice del sito? –

1

Puoi provare a utilizzare un helper:

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

Si può provare questo,

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