图像源是一个评估,但如果评估为空,我需要它完全消失
本文关键字:评估 消失 图像 一个 如果 | 更新日期: 2023-09-27 17:56:57
我的C#页面(基于Web的商店)上有以下代码:
<asp:TemplateField HeaderText="" HeaderStyle-Width="65" Visible="true">
<ItemStyle HorizontalAlign="Left" />
<HeaderStyle HorizontalAlign="Left" CssClass="columnHeader gradient" ForeColor="Black" />
<ItemTemplate>
<img src='<%#GetSecureThumbnailUrl(Eval("Product"))%>' width="65px" />
</ItemTemplate>
</asp:TemplateField>
GetSecureThumbnailUrl
是这样的:
public string GetSecureThumbnailUrl(object product)
{
string secureUrl;
Product this_product = (Product)product;
if (this_product != null)
{
secureUrl = this_product.ThumbnailUrl.Replace("http:", "https:");
return (secureUrl);
}
else
{
return("");
}
}
我的问题是:该页面有一个没有有效图形源的<img>
标签,因此它显示为损坏的图像。
我的问题是:如果 GetSecureThumbnailUrl 解析为"返回,如何使 img 完全消失?
由于它在模板中,所以我不清楚...虽然我觉得应该是。
谢谢!
吉姆
您可以运行此方法两次 - 一次用于源链接本身,一次用于可见性检查:
<img src='<%#GetSecureThumbnailUrl(Eval("Product"))%>'
width="65px"
runat="server"
Visible='<%#GetSecureThumbnailUrl(Eval("Product")) != null%>' />
或者,您可以定义一个专门用于可见性的简化函数:
public string ShowThumbnail(object product)
{
string secureUrl;
Product this_product = (Product)product;
return (this_product != null)
}
<img src='<%# GetSecureThumbnailUrl(Eval("Product")) %>'
width="65px"
runat="server"
Visible='<%# ShowThumbnail(Eval("Product")) %>' />