Sitecore Glass Mapper — GlassHtml.RenderImage

Я заметил приведенный ниже учебник с использованием GlassHtml.RenderImage, где мы можем указать ширину и высоту изображения.

http://glass.lu/docs/tutorial/sitecore/tutorial16/tutorial16.html

<%= GlassHtml.RenderImage(Model, x => x.FeaturedImage) %>

Я пытался использовать эту функцию, используя @Glass.Mapper.Sc.GlassHtml.RenderImage, но этот SC.GlassHTML, похоже, не имеет RenderImage

Может кто-нибудь помочь, что мне не хватает?

Спасибо.


person Nil Pun    schedule 22.07.2014    source источник


Ответы (1)


Я пытался использовать эту функцию, используя @Glass.Mapper.Sc.GlassHtml.RenderImage, но этот SC.GlassHTML, похоже, не имеет RenderImage

Это так не работает; вы пытаетесь получить доступ к методу экземпляра, как если бы он был статическим.
Ваши представления должны наследоваться от Glass.Mapper.Sc.Web.Mvc.GlassView<T>, чтобы он открывал GlassHtml методы ваших представлений.

Настройте свой /Views/web.config следующим образом:

<system.web.webPages.razor>
  <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.1.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
  <pages pageBaseType="Glass.Mapper.Sc.Web.Mvc.GlassView">
    <!-- snipped other lines... -->

После этого вы можете получить доступ к GlassView методам (которые вызывают GlassHtml методы) в ваших представлениях следующим образом:

@RenderImage(x => x.FieldName, new ImageParameters { Width = 80, Height = 80})

person Ruud van Falier    schedule 22.07.2014
comment
Или, если изменение конфигурации слишком велико, просто сделайте это конкретное представление, использующее @inherits Glass.Mapper.Sc.Web.Mvc.GlassView‹Your.Model.Here›, а затем используйте код Ruud RenderImage. - person Sean Holmesby; 22.07.2014