0

タイトルで書いたように、foreach でメディアを取得する際に問題があります。

これは私のコードです:

@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%確信が持てません。アイテムと仮定しました.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 razor チートシートをダウンロードしてください。

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 に答える