【发布时间】:2022-01-09 06:15:49
【问题描述】:
我在数据网格中显示/显示 Sql 图像时遇到问题。 我使用的代码是:
<tbody>
@foreach (var e in @EntitiesResult.Entities)
{
<tr class="col-sm">
<td class="text-sm-center">
<img src="@(@e.Image != null ? (() => GetImage(e.Image)) : "img/no-camera-sign.jpg")" alt="" width="75">
</td>
<td class="text-sm-left">@e.IsahPrimKey</td>
<td class="text-sm-left">@e.ExtraInfo</td>
<td class="hidden-xs hidden-sm">@e.IsahTableName</td>
</tr>
}
</tbody>
所以有一个表格列显示图像。这个想法是,如果数据库中没有任何图像存储在特定行上,则显示默认图像(no_camera_sign.jpg)。但如果 e.image 不为空,则调用 GetImage 函数。这个函数被调用:
protected string GetImage(byte[]? image)
{
if (image != null)
{
return $"data:image/png;base64, {Convert.ToBase64String(image)}";
}
else
{
return string.Empty;
}
}
问题是这个函数永远不会被触发,我不明白。如果 Image 为空,则显示虚拟图像。这样就可以了,但是永远不会触发 GetImage 函数。 有人可以解释一下如何做到这一点...
【问题讨论】:
-
如果 GetImage() 从未被触发,则 e.Image 为空。在代码中添加一些断点可能是确定问题的最佳方法。
标签: database image datagrid blazor