2015-03-19 51 views
0

我创建了一个多节点树选取器数据类型,我试图列出作为foreach循环的一部分的车辆的缩略图,但是我不断获取ID渲染在图像的src中,我无法获取图像的URL。Umbraco 7 MVC Razor - 渲染图像(多节点树选取器脚本)

MVC剃刀代码

@inherits Umbraco.Web.Macros.PartialViewMacroPage 
@using Umbraco.Web 

@* 
    Macro to list nodes from a Multinode tree picker, using the pickers default settings. 
    Content Values stored as xml. 

    To get it working with any site's data structure, simply set the selection equal to the property which has the 
    multinode treepicker (so: replace "PropertyWithPicker" with the alias of your property). 
*@ 

@* Lists each selected value from the picker as a link *@ 

<div class="featuredVehicles"> 
    @foreach (var id in CurrentPage.featuredVehicles.Split(',')) 
    {  

    @*For each link, get the node, and display its name and url*@ 
     var vehicleContent = Umbraco.Content(id); 

     <div class="col-xs-6 col-md-4 col-xs-height"> 
      <a href="@vehicleContent.Url"> 

       @if (vehicleContent.HasValue("vehicleThumbnail")) 
       { 
        var mediaItem = Umbraco.TypedMedia(vehicleContent.GetPropertyValue("vehicleThumbnail")); 
        <img class="featuredVehicleImg img-responsive" src="@vehicleContent.GetPropertyValue("vehicleThumbnail")" alt="@vehicleContent.Name"/>     
       } 
       else 
       {    
        <img class="comingSoon" src="http://placehold.it/650x408" alt="@vehicleContent.Name"> 
       } 

       <strong> 
        <span class="name">@vehicleContent.Name</span> 
       </strong> 

       <span class="desc">@vehicleContent.GetPropertyValue("shortContent")</span> 

       <span class="prx">from, <strong>&pound;@vehicleContent.vehiclePrice</strong> per day</span> 

       <span class="label label-primary moreinfo">More Info</span> 

      </a> 
     </div> 
    } 
</div> 

HTML

<img alt="Pharmaceutical Vehicle One" src="1092" class="featuredVehicleImg img-responsive"> 

回答

1

问题解决了;

这是导致问题的位;

if (vehicleContent.HasValue("vehicleThumbnail")){           
         var dynamicMediaItem = Umbraco.Media(vehicleContent.vehicleThumbnail); 
         <img src="@dynamicMediaItem.umbracoFile" alt="@dynamicMediaItem.Name"/> 
        } 
        else 
        {    
         <img class="comingSoon" src="http://placehold.it/650x408" alt="@vehicleContent.Name"> 
        } 

希望这将帮助别人了:-)