繁体   English   中英

使用templatefield在gridview中图像为空时显示默认图像

[英]Displaying a default images when the images is null in gridview using templatefield

当我在我使用templatefield来显示图像的gridview上图像为空时,我试图显示替代图像。 但我只能输入替代文本。 无法插入备用默认图像。 你们可以帮我吗?

  <asp:TemplateField>
     <HeaderTemplate>
        Question Image
      </HeaderTemplate>
     <ItemTemplate>
      <img src='data:image/jpg;base64,<%#     Eval("QuestionImage") != System.DBNull.Value ? Convert.ToBase64String((byte[])Eval("QuestionImage")) : string.Empty %>'
                     alt="No image" height="100" width="200" />

    </ItemTemplate>
  </asp:TemplateField>

一种选择是行数据绑定事件,您可以转到该单元格(模板列)并提供图像源。 如果为空,则将其更改为默认图像。 例如:

事件:RowDatabound

获取单元格的值(模板列)

if(!string.IsNullOrEmpty(db.imagePath))
{
imgUser.src=db.imagePath;
}
else
{
imgUser.src="/Images/default.jpg";
}

这是一个总体思路,而不是确切的代码,因此请忽略任何键入或代码错误。 另一件事是请避免评估。

您可以尝试将此代码用于img标签吗?

<img src='<%# (Eval("QuestionImage") != System.DBNull.Value ? "data:image/jpg;base64," + Convert.ToBase64String((byte[])Eval("QuestionImage")) : "default.jpg") %>'
height="100" width="200" />

其中default.jpg是要在图像为null时显示的图像的文件名。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM