2010-10-22 12 views
7

simplemente he editado mi ruta para una página de datos de usuario para el siguiente aspecto:imágenes ASP.NET MVC y otros url contenido estático

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

Ahora cuando mi url es el siguiente: localhost/Users/Details/1/ShawnMclean imágenes no se cargan tanto desde el controlador y el sitio. maestro. (ni idea de por qué el css y el javascript tenían las direcciones URL correctas). Si la url es localhost/Users/Details/1, todo se carga bien.

Mi img en site.master y Details.aspx es la siguiente con el antiguo URL:

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

pero cuando la url obtiene un parámetro adicional, la imagen se encuentra realmente en ../../../Content/Images/logo3.png

¿Hay una manera de ¿Las imágenes y el URL de otro contenido estático cambian?

+0

¿Cuál es el código en su Site.Master? – quakkels

+0

ver respuesta revisada. – quakkels

Respuesta

18

intenta enlazar sus imágenes como esta:

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

o si eso no funciona, siempre se puede utilizar un ayudante para sus enlaces

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

otra forma podría ser

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

Tengo eso sobre todas mis rutas. –

+0

¿podría publicar una muestra de código de un enlace de imagen o css? – quakkels

+0

¿Por qué funcionó '/ Content/Images/logo3.png'? ¿La primera barra hace que comience desde la raíz del sitio? –

1

Puede probar usando un ayudante:

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

Puede probar esto,

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