0

正如我在标题中所写,我在 foreach 中使用 Media 时遇到问题。

这是我的代码:

@foreach (var item in @Model.Children.Where("Visible").OrderBy("UpdateDate"))
    {
        @{
            var link = new umbraco.cms.businesslogic.media.Media(item.MediaID).Children.FirstOrDefault().getProperty("umbracoFile").Value;
        }
        <div class="galleryListItem" style="background-image: url('/imageGen.ashx?image=@link&width=273&height=161');">
            <a href="@item.Url" class="link"></a>
            <div class="contentGalleryList">
                <div class="highlightGalleryList">@item.Name</div>
            </div>
        </div>
    }

这行:

@link = new umbraco.cms.businesslogic.media.Media(item.MediaID).FirstOrDefault().getProperty("umbracoFile").Value;

给我这个错误:

Error loading MacroEngine script (file: GalleryList.cshtml);

我能做些什么来开始工作?也许这是更好地解决这个问题?

任何帮助,将不胜感激。

4

2 回答 2

2

我认为这样的事情应该适合你:(我不是 100% 确定你的代码试图做什么,我假设 item.MediaID 包含媒体项目的 id)

@foreach (var item in @Model.Children.Where("Visible").OrderBy("UpdateDate"))
{
    var media = Library.MediaById(item.MediaID);

       <div class="galleryListItem" style="background-image: url('/imageGen.ashx?image=@media.Url&width=273&height=161');">
        <a href="@item.Url" class="link"></a>
        <div class="contentGalleryList">
            <div class="highlightGalleryList">@item.Name</div>
        </div>
    </div>
}

如果您需要有关如何在 Umbraco 中的 Razor 中执行操作的更多信息,请下载宝贵的umbraco DynamicNode 剃须刀备忘单

our.umbraco.org wiki上也有很多很棒的信息

于 2012-04-20T16:48:26.950 回答
0

我解决它。问题是我在其他代码部分中有打开的代码部分。

工作代码:

@foreach (var item in @Model.Children.Where("Visible").OrderBy("UpdateDate"))
{
    var link = new umbraco.cms.businesslogic.media.Media(item.MediaID).Children.FirstOrDefault().getProperty("umbracoFile").Value;

    <div class="galleryListItem" style="background-image: url('/imageGen.ashx?image=@link&width=273&height=161');">
        <a href="@item.Url" class="link"></a>
        <div class="contentGalleryList">
            <div class="highlightGalleryList">@item.Name</div>
        </div>
    </div>
}
于 2012-04-24T10:58:58.230 回答