在多媒体选择器中使用文件夹
Using folder in Multi media picker
我希望能够 select 媒体选择器中的一个文件夹,并在我的页面上显示该文件夹内的图像。
我可以获取文件夹,但无法从文件夹中取出图像。正如您在下面的代码中看到的那样。
@foreach (var item in Model.MediaGallary)
{
if (item.DocumentTypeAlias != "Folder")
{
<div class="col-lg-3 col-md-4 col-6">
<a style="overflow-x:hidden; height:100%" href="@item.Url" data-lightbox="example-set" class="d-block mb-4 h-100">
<img class="img-fluid img-thumbnail" src="@item.GetCropUrl("gallaryThumbnail")+@count" />
<p>@item.Name</p>
</a>
</div>
{ count++; }
} else
{
}
}
我正在寻找有关如何从 else 函数内的文件夹中获取图像的解释。
解决方案
为了解决我的问题,我所要做的就是添加一个 foreach 循环来获取子项目。
@foreach (var item in Model.MediaGallary)
{
if (item.DocumentTypeAlias != "Folder")
{
<div class="col-lg-3 col-md-4 col-6">
<a style="overflow-x:hidden; height:100%" href="@item.Url" data-lightbox="example-set" class="d-block mb-4 h-100">
<img class="img-fluid img-thumbnail" src="@item.GetCropUrl("gallaryThumbnail")+@count" />
<p>@item.Name</p>
</a>
</div>
{ count++; }
}
else
{
foreach (var mediaItem in item.Children)
{
<div class="col-lg-3 col-md-4 col-6">
<a style="overflow-x:hidden; height:100%" href="@mediaItem.Url" data-lightbox="example-set" class="d-block mb-4 h-100">
<img class="img-fluid img-thumbnail" src="@mediaItem.GetCropUrl("gallaryThumbnail")+@count" />
<p>@mediaItem.Name</p>
</a>
</div>
{ count++; }
}
}
}
首先,假设 item 是 IPublishedContent
您可以执行以下操作:
var media = item.Children;
您可以更进一步尝试这个(假设您使用的是在 Umbraco 7 中使用 ModelsBuilder 生成的模型):
var images = item.Children<Image>();
我希望能够 select 媒体选择器中的一个文件夹,并在我的页面上显示该文件夹内的图像。
我可以获取文件夹,但无法从文件夹中取出图像。正如您在下面的代码中看到的那样。
@foreach (var item in Model.MediaGallary)
{
if (item.DocumentTypeAlias != "Folder")
{
<div class="col-lg-3 col-md-4 col-6">
<a style="overflow-x:hidden; height:100%" href="@item.Url" data-lightbox="example-set" class="d-block mb-4 h-100">
<img class="img-fluid img-thumbnail" src="@item.GetCropUrl("gallaryThumbnail")+@count" />
<p>@item.Name</p>
</a>
</div>
{ count++; }
} else
{
}
}
我正在寻找有关如何从 else 函数内的文件夹中获取图像的解释。
解决方案
为了解决我的问题,我所要做的就是添加一个 foreach 循环来获取子项目。
@foreach (var item in Model.MediaGallary)
{
if (item.DocumentTypeAlias != "Folder")
{
<div class="col-lg-3 col-md-4 col-6">
<a style="overflow-x:hidden; height:100%" href="@item.Url" data-lightbox="example-set" class="d-block mb-4 h-100">
<img class="img-fluid img-thumbnail" src="@item.GetCropUrl("gallaryThumbnail")+@count" />
<p>@item.Name</p>
</a>
</div>
{ count++; }
}
else
{
foreach (var mediaItem in item.Children)
{
<div class="col-lg-3 col-md-4 col-6">
<a style="overflow-x:hidden; height:100%" href="@mediaItem.Url" data-lightbox="example-set" class="d-block mb-4 h-100">
<img class="img-fluid img-thumbnail" src="@mediaItem.GetCropUrl("gallaryThumbnail")+@count" />
<p>@mediaItem.Name</p>
</a>
</div>
{ count++; }
}
}
}
首先,假设 item 是 IPublishedContent
您可以执行以下操作:
var media = item.Children;
您可以更进一步尝试这个(假设您使用的是在 Umbraco 7 中使用 ModelsBuilder 生成的模型):
var images = item.Children<Image>();