C# 在foreach-umbraco中按id获取媒体项目
正如我在标题中所写,我对在foreach中使用媒体有问题 这是我的代码:C# 在foreach-umbraco中按id获取媒体项目,c#,asp.net,razor,media,umbraco,C#,Asp.net,Razor,Media,Umbraco,正如我在标题中所写,我对在foreach中使用媒体有问题 这是我的代码: @foreach (var item in @Model.Children.Where("Visible").OrderBy("UpdateDate")) { @{ var link = new umbraco.cms.businesslogic.media.Media(item.MediaID).Children.FirstOrDefault().getProperty("
@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>
}
告诉我这个错误:
Error loading MacroEngine script (file: GalleryList.cshtml);
我该怎么做才能开始工作?也许这是解决这个问题的更好办法
任何帮助都将不胜感激。我认为这样的东西应该适合您:(我不是100%确定您的代码试图做什么,我假设item.MediaID包含媒体项的id)
@foreach(@Model.Children.Where(“可见”).OrderBy(“更新日期”)中的变量项)
{
var media=Library.MediaById(item.MediaID);
@项目名称
}
如果您需要更多有关如何在Umbraco中使用Razor的信息,请下载
还有很多关于我解决这个问题的重要信息。问题是我在其他代码部分中打开了代码部分 工作代码:
@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>
}
@foreach(@Model.Children.Where(“可见”).OrderBy(“更新日期”)中的变量项)
{
var link=new umbraco.cms.businesslogic.media.media(item.MediaID).Children.FirstOrDefault().getProperty(“umbracoFile”).Value;
@项目名称
}
我编辑了原始帖子。您好,我不确定我是否正确使用了它,但首先我添加了@using umbraco.MacroEngines.Library;但这没有帮助。接下来我更改var media=umbraco.MacroEngines.Library.MediaById(item.MediaID);因为我有“名称'Liblary'在当前上下文中不存在”
。然后我有一个错误:名称空间名称'MediaById'的类型在名称空间'umbraco.MacroEnginesLiblary'中不存在。
。你知道如何解决它吗?”我在其他代码部分中打开了代码部分“这是什么意思??
@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>
}
@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>
}