gpt4 book ai didi

image - 在 Umbraco 中使用 Razor 测试图像裁剪是否存在

转载 作者:行者123 更新时间:2023-12-02 05:06:41 26 4
gpt4 key购买 nike

我已经创建了一些 Razor 代码来将图像输出到页面上(如果存在的话)。它在下面进行了详细说明,并包含一些简单的检查以防止呈现空白列表项。该站点已经上线并且运行良好。然后客户端从 Umbraco 的媒体文件夹中删除了图像,这意味着我的节点分配了一个有效图像,但图像不存在。我得到以下异常:

“字符串”不包含“裁剪”的定义

我该如何处理?

@using umbraco.MacroEngines;
@inherits umbraco.MacroEngines.DynamicNodeContext
@using umbraco.presentation.nodeFactory
@using umbraco.cms.businesslogic.media

<ul>
@foreach (dynamic client in @Model.Children)
{
var image = Model.MediaById(client.Logo);
var crops = image.imageCropper.crops;

<li>
<h2><span>@client.Name</span></h2>

@if (crops != null || crops.GetType().ToString() != "System.String")
{
<span class="itemImage">
<img src="@crops.Find("@name", "cropname").url" alt="@client.Name" />
</span>
}
</li>
}
</ul>

最佳答案

在这种情况下,您可能需要进行类型检查。我相信 MediaById 方法应该返回一个 DynamicNode 如果它是有效的,所以像下面这样的东西应该起作用:

if(image.GetType() == typeof(DynamicNode))
{
...
}

关于image - 在 Umbraco 中使用 Razor 测试图像裁剪是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10541353/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com