2012-03-03 10 views
5

Soy nuevo en Umbraco versión 5 y Razor, pero estoy tratando de obtener la ruta para un archivo multimedia almacenado como una propiedad de la página actual para que pueda renderizarlo como una imagen.Umbraco v5 cómo obtener el archivo de medios URL en la vista de afeitar

búsqueda Google y Stack Overflow   mí esto ha ido muy lejos:

@{ 
    var mediaId = DynamicModel.Animation; 
    var media = (TypedEntity)Umbraco.GetEntityById(mediaId); 
}  

donde 'Animación' es el nombre de la propiedad de medios en mi página.

¿Cómo puedo acceder a la ruta de la imagen de mi elemento multimedia?

+1

ACTUALIZACIÓN: Para cualquier persona que comienza con Umbraco v5 - ser conscientes de que se ha interrumpido v5 (http: // umbraco. com/follow-us/blog-archive/2012/6/13/v5-rip.aspx) –

Respuesta

6

Debe utilizar el método de ayuda @Umbraco.GetMediaUrl. En mi caso:

<img src="@Umbraco.GetMediaUrl(DynamicModel.myImageProperty)" /> 

donde myImageProperty es el nombre de la propiedad en mi página.

Espero que esto ayude a alguien.

(Bueno, he encontrado la respuesta a mi propia pregunta, parece que era demasiado perezoso para estudiar el sitio de la muestra tienda de libros en detalle lo que explica por qué no había más información en la web.)

+0

Usted, señor, eres un genio He estado batallando esto durante las últimas dos horas. –

+0

¿Alguien sabe cómo hacer esto para un selector de medios en la versión 7? @inherits Umbraco.Web.Mvc.UmbracoTemplatePage @ { Layout = "umbLayout.cshtml"; } @ Umbraco.RenderMacro ("InsertWidgit", nuevo {[email protected]}) – tree

1

DynamicModel es obsoleto y se eliminará en Umbraco 5.3, en lugar de que usted debe utilizar currentPage:

<img src="@Umbraco.GetMediaUrl(CurrentPage.imageProperty)" />

Cuestiones relacionadas