2010-10-22 8 views
7

Je vient de modifier ma route pour une page de détails de l'utilisateur pour ressembler à ceci:images ASP.NET MVC et d'autres URL du contenu statique

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

Maintenant, quand mon URL ressemble à ceci: localhost/Users/Details/1/ShawnMclean Les images ne se chargent pas à la fois du contrôleur et du site.master. (aucune idée pourquoi le css et javascript avaient des URLs correctes bien que). Si l'URL est localhost/Users/Details/1 alors tout se charge bien.

Mon img dans site.master et Details.aspx ressemble à ceci dans l'ancienne url:

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

mais quand l'URL devient un paramètre supplémentaire, l'image est en fait situé à ../../../Content/Images/logo3.png

est-il un moyen de faire changer les images et l'URL d'autres contenus statiques?

+0

Quel est le code dans votre Site.master? – quakkels

+0

s'il vous plaît voir la réponse révisée. – quakkels

Répondre

18

essayez de lier vos images comme ceci:

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

ou si cela ne fonctionne pas, vous pouvez toujours utiliser un assistant pour vos liens

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

une autre façon pourrait être

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

J'ai cela au-dessus de tous mes itinéraires. –

+0

pouvez-vous poster un exemple de code d'un lien d'image ou un lien css? – quakkels

+0

Pourquoi '/ Content/Images/logo3.png' a-t-il fonctionné? Est-ce que le premier slash le fait partir de la racine du site? –

1

Vous pouvez essayer d'utiliser un assistant:

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

Vous pouvez essayer,

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