在 foreach 中按 id 获取媒体项 - 本布拉科
本文关键字:布拉科 媒体 获取 foreach 中按 id | 更新日期: 2023-09-27 18:31:40
正如我在标题中所写的,我在获取媒体时遇到问题。
这是我的代码:
@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);
我能对开始工作做些什么?也许这是这个问题的更好解决方案?
任何帮助将不胜感激。
我认为这样的事情应该适合你:(我不是 100% 确定你的代码试图做什么,我已经假设了这个项目。媒体 ID 包含媒体项的 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 维基上也有很多很棒的信息
我解决了。问题是我在其他代码部分中打开了代码部分。
工作代码:
@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>
}