Umbraco 7 MVC Razor - 渲染图像(多节点树拾取器脚本)

时间:2015-03-19 10:52:04

标签: asp.net asp.net-mvc razor umbraco umbraco7

我已经创建了一个多节点树选取器数据类型,并且我试图将车辆的缩略图列为foreach循环的一部分,但是我继续在图像的src中获取ID渲染,我&# 39; m无法获取图像的URL。

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 个答案:

答案 0 :(得分: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">
                    }

希望它可以帮助其他人: - )