2009-05-30 25 views
6

Estoy desarrollando una aplicación ASP .Net MVC y en mi máquina de desarrollo, la aplicación funciona como se esperaba y, más importante aún, las imágenes mencionadas en el archivo CSS se muestran correctamente también.ASP .Net MVC - Las imágenes no se muestran en la compilación publicada

Sin embargo, cuando publico esta aplicación en un servidor de prueba, la aplicación web funciona bien, pero las imágenes no se muestran.

Si modifico la URL en IE al probar la salida del servidor de prueba, se devuelve la imagen, lo que significa que el archivo está allí pero simplemente no aparecerá en la página de vista cuando se usa el sitio normalmente.

He intentado servidores alternativos también, pero el resultado es el mismo.

Para confirmar, aquí está una línea desde la página CSS referencia a la imagen ...

background-image: url('/Content/Images/Logo/myLogo.jpg'); 

¿Alguna sugerencia?

Saludos

Brett

Respuesta

19

Las URL no son correctas, probablemente debido al hecho de que va a publicar en una subcarpeta y por lo que ya no está en la raíz del servidor. Usualmente uso Url.Content("~/Content/Images/...") para construir la url en lugar de codificarla. De esa forma, tendrá en cuenta las rutas al construir el camino.

Ejemplo:

<img src='<%= Url.Content("~/Content/Images/banner.jpg") %>' alt="Banner" /> 
1

rutas relativas posibles son mal ... Posible que están equivocados para el archivo CSS en sí. Puede usar FireBug para ver si el CSS se cargó correctamente, luego puede examinar la solicitud de imágenes, a menudo en tales situaciones verá elementos rojos (de error). Esto podría ayudar a localizar el problema.

+0

Buen plan - Descargaré FireFox y FireBug y veré si eso ayuda. –

0

¿Por qué tiene que hacerse esto ... acaba de terminar mi proyecto y ahora tengo que pasar por un cambio todo en este formato! ¡Todo mi javascript está fallando, todas mis imágenes están fallando! Por alguna extraña razón, mi CSS está bien, pero ¿por qué diablos no está más documentado? Url.Content ni siquiera se muestra bajo el intellisense! ASP MVC acaba de perder un punto en mi escala de amor.

codificador --muy frustrados

3

que tenían el mismo problema, pero me pareció que la razón por la que estaba forzando la autenticación en el contenido de la carpeta.

Cuando un usuario aún no ha iniciado sesión, se clasifican como Autenticación anónima. En IIS7 (que es lo que estoy usando, adivinando que es lo mismo en IIS6), debe abrir la ventana de autenticación en la vista de características. Luego edite la Autenticación anónima, para usar su identidad de grupo de aplicaciones, o la predeterminada, solo asegúrese de que el usuario tenga permisos para leer en esa carpeta.

Eso lo arregló para mí, espero que funcione para usted.

Cuestiones relacionadas