¿Dónde almacena las imágenes para los proyectos de asp.net mvc y cómo puede hacer referencia a ellas desde site.master?

83

Tengo un nuevo proyecto asp.net mvc y estoy tratando de encontrar el mejor lugar para almacenar imágenes y también cómo las haría referencia desde site.master (en los casos en que tengo imágenes de encabezado que quiero mostrar en todas páginas).

¿Sugerencias o mejores prácticas?

leora
fuente

Respuestas:

113

Lo que hago generalmente es crear una carpeta "Imágenes" dentro de mi carpeta Contenido. El lugar donde coloque sus imágenes depende realmente de usted, siempre que sea coherente.

Hacer referencia a estas imágenes desde su Site.Master es lo mismo que si lo hiciera referencia desde cualquier vista:

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

texto alternativo

A Salcedo
fuente
Estoy intentando poner el enlace de la imagen en el archivo site.master para que aparezca en todas las páginas.
leora
Luego, todo lo que tienes que hacer es crear un div y poner tu imagen como fondo para ese div que solo estará en tu site.master. Por lo tanto, mostrarlo en cada página. Si no sabe cómo vincular su css, eso es lo que debería haber preguntado.
A Salcedo
Estás pidiendo mejores prácticas, bueno, en realidad depende de la persona. Pero he encontrado la manera más difícil de colocar cosas así en la página misma, cuando si quiero que se haga de una manera más general, el mejor lugar que he encontrado es el CSS.
A Salcedo
4
El contenido / las imágenes está bien, pero la forma en que hace referencia a las imágenes no. Solo funciona con el servidor web de desarrollo y en la aplicación web raíz en IIS. Si ejecuta una aplicación web en un directorio virtual, las imágenes nunca se encuentran
chris166
2
Como dijo @ chris166, no use enlaces absolutos. En MVC 5 se puede utilizar el ~prefijo, como esto: <img src="~/Content/Images/logo.png" />. Vea aquí: pseale.com/blog/2013/09/26/ImageLinksInMVCAreMagicalMostly.aspx
JYL
26
<img src="@Url.Content("~/Content/Images/logo.png")" />

Usando esto en una vista de Razor en MVC 5. Las imágenes se almacenan en / Contenido / Imágenes.

zacharydl
fuente
4
En MVC 5 esto debería ser incluso <img src="~/Content/Images/logo.png" />. Vea aquí: pseale.com/blog/2013/09/26/ImageLinksInMVCAreMagicalMostly.aspx
JYL
Sí, cuando copié y pegué el ejemplo anterior en mi proyecto MVC, el IDE insertó automáticamente el "~" que faltaba
B. Clay Shannon
8
<%=Html.Image("~/Content/Images/xxx.png")%>

Esto se resuelve desde cualquier lugar de la jerarquía del sitio. Html.Image es parte del ensamblado de futuros Microsoft.Web.Mvc.

mxmissile
fuente
2

o en mvc2:

<img src="<%: Url.Content("~/Images2/landingMain/safety.png") %>" alt="safety" />
Fred
fuente
1

Debe poner todas sus imágenes en la Carpeta de contenido como: - Contenido -> Imágenes -> archivos .IMG y lo mismo que los archivos de hojas de estilo Carpeta de contenido como Contenido ->. Css, por lo tanto, carga fácilmente las imágenes y css, de lo contrario no es ejecutado de manera adecuada.

vijay chauhan
fuente